mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-28 13:43:24 -08:00
Translated ['', 'src/pentesting-cloud/kubernetes-security/kubernetes-har
This commit is contained in:
@@ -2,11 +2,11 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Tools to analyse a cluster
|
||||
## क्लस्टर का विश्लेषण करने के उपकरण
|
||||
|
||||
### [**Steampipe - Kubernetes Compliance](https://github.com/turbot/steampipe-mod-kubernetes-compliance)
|
||||
### [Steampipe - Kubernetes Compliance](https://github.com/turbot/steampipe-mod-kubernetes-compliance)
|
||||
|
||||
यह **Kubernetes क्लस्टर पर कई अनुपालन जांच करेगा**। इसमें CIS, राष्ट्रीय सुरक्षा एजेंसी (NSA) और साइबर सुरक्षा और बुनियादी ढांचे की सुरक्षा एजेंसी (CISA) के Kubernetes हार्डनिंग के लिए साइबर सुरक्षा तकनीकी रिपोर्ट का समर्थन शामिल है।
|
||||
यह **Kubernetes क्लस्टर पर कई अनुपालन जाँचें** करता है। यह CIS, National Security Agency (NSA) और Cybersecurity and Infrastructure Security Agency (CISA) की Kubernetes हार्डनिंग के लिए प्रकाशित साइबर सुरक्षा तकनीकी रिपोर्टों का समर्थन करता है।
|
||||
```bash
|
||||
# Install Steampipe
|
||||
brew install turbot/tap/powerpipe
|
||||
@@ -27,130 +27,176 @@ powerpipe server
|
||||
```
|
||||
### [**Kubescape**](https://github.com/armosec/kubescape)
|
||||
|
||||
[**Kubescape**](https://github.com/armosec/kubescape) एक K8s ओपन-सोर्स टूल है जो एक मल्टी-क्लाउड K8s सिंगल पेन ऑफ ग्लास प्रदान करता है, जिसमें जोखिम विश्लेषण, सुरक्षा अनुपालन, RBAC विज़ुअलाइज़र और इमेज कमजोरियों की स्कैनिंग शामिल है। Kubescape K8s क्लस्टर्स, YAML फ़ाइलों और HELM चार्ट्स को स्कैन करता है, कई ढांचों के अनुसार गलत कॉन्फ़िगरेशन का पता लगाता है (जैसे [NSA-CISA](https://www.armosec.io/blog/kubernetes-hardening-guidance-summary-by-armo), [MITRE ATT\&CK®](https://www.microsoft.com/security/blog/2021/03/23/secure-containerized-environments-with-updated-threat-matrix-for-kubernetes/)), सॉफ़्टवेयर कमजोरियाँ, और RBAC (भूमिका-आधारित-एक्सेस-नियंत्रण) उल्लंघन CI/CD पाइपलाइन के प्रारंभिक चरणों में, जोखिम स्कोर तुरंत गणना करता है और समय के साथ जोखिम प्रवृत्तियों को दिखाता है।
|
||||
[**Kubescape**](https://github.com/armosec/kubescape) एक K8s open-source टूल है जो multi-cloud K8s के लिए एक single pane of glass प्रदान करता है, जिसमें risk analysis, security compliance, RBAC visualizer और image vulnerabilities scanning शामिल हैं। Kubescape K8s clusters, YAML files, और HELM charts को स्कैन करता है, multiple frameworks (जैसे कि the [NSA-CISA](https://www.armosec.io/blog/kubernetes-hardening-guidance-summary-by-armo) , [MITRE ATT\&CK®](https://www.microsoft.com/security/blog/2021/03/23/secure-containerized-environments-with-updated-threat-matrix-for-kubernetes/)) के अनुसार misconfigurations, software vulnerabilities और RBAC (role-based-access-control) उल्लंघनों का पता लगाता है, CI/CD pipeline के प्रारम्भिक चरणों में ही जोखिम स्कोर तुरंत कैलकुलेट करता है और समय के साथ जोखिम के रुझान दिखाता है।
|
||||
```bash
|
||||
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
|
||||
kubescape scan --verbose
|
||||
```
|
||||
### [**Popeye**](https://github.com/derailed/popeye)
|
||||
|
||||
[**Popeye**](https://github.com/derailed/popeye) एक उपयोगिता है जो लाइव Kubernetes क्लस्टर को स्कैन करती है और **तैनात संसाधनों और कॉन्फ़िगरेशन के साथ संभावित समस्याओं की रिपोर्ट करती है**। यह आपके क्लस्टर को तैनात किए गए आधार पर साफ करता है और न कि जो डिस्क पर बैठा है। अपने क्लस्टर को स्कैन करके, यह गलत कॉन्फ़िगरेशन का पता लगाता है और आपको यह सुनिश्चित करने में मदद करता है कि सर्वोत्तम प्रथाएँ लागू हैं, इस प्रकार भविष्य की समस्याओं को रोकता है। इसका उद्देश्य एक Kubernetes क्लस्टर को संचालित करते समय होने वाले संज्ञानात्मक \_over_load को कम करना है। इसके अलावा, यदि आपका क्लस्टर एक मेट्रिक-सर्वर का उपयोग करता है, तो यह संभावित संसाधनों के अधिक/कम आवंटन की रिपोर्ट करता है और यदि आपका क्लस्टर क्षमता से बाहर हो जाता है तो आपको चेतावनी देने का प्रयास करता है।
|
||||
[**Popeye**](https://github.com/derailed/popeye) एक utility है जो live Kubernetes cluster को स्कैन करता है और **डिप्लॉय किए गए resources और configurations से संबंधित संभावित समस्याओं की रिपोर्ट करता है**। यह आपके क्लस्टर को उस आधार पर sanitize करता है जो डिप्लॉय किया गया है, न कि जो डिस्क पर पड़ा है। आपके क्लस्टर को स्कैन करके यह misconfigurations का पता लगाता है और सुनिश्चित करने में मदद करता है कि best practices लागू हों, जिससे भविष्य में होने वाली परेशानियों से बचा जा सके। यह wild में Kubernetes cluster ऑपरेट करते समय होने वाले संज्ञानात्मक \_over_load को कम करने का उद्देश्य रखता है। इसके अतिरिक्त, यदि आपका क्लस्टर metric-server उपयोग करता है, तो यह संभावित resources के over/under allocations की रिपोर्ट करता है और यदि आपका क्लस्टर capacity से बाहर होने वाला हो तो चेतावनी देने का प्रयास करता है।
|
||||
|
||||
### [**Kube-bench**](https://github.com/aquasecurity/kube-bench)
|
||||
|
||||
उपकरण [**kube-bench**](https://github.com/aquasecurity/kube-bench) एक उपकरण है जो यह जांचता है कि क्या Kubernetes सुरक्षित रूप से तैनात है, [**CIS Kubernetes Benchmark**](https://www.cisecurity.org/benchmark/kubernetes/) में दस्तावेजीकृत जांचों को चलाकर।\
|
||||
The tool [**kube-bench**](https://github.com/aquasecurity/kube-bench) is a tool that checks whether Kubernetes is deployed securely by running the checks documented in the [**CIS Kubernetes Benchmark**](https://www.cisecurity.org/benchmark/kubernetes/).\
|
||||
आप चुन सकते हैं:
|
||||
|
||||
- कंटेनर के अंदर kube-bench चलाना (होस्ट के साथ PID नामस्थान साझा करना)
|
||||
- एक कंटेनर चलाना जो होस्ट पर kube-bench स्थापित करता है, और फिर होस्ट पर सीधे kube-bench चलाना
|
||||
- [Releases page](https://github.com/aquasecurity/kube-bench/releases) से नवीनतम बाइनरी स्थापित करना,
|
||||
- इसे स्रोत से संकलित करना।
|
||||
- container के अंदर kube-bench चलाएँ (PID namespace को host के साथ साझा करते हुए)
|
||||
- ऐसा container चलाएँ जो host पर kube-bench इंस्टॉल करे, और फिर host पर सीधे kube-bench चलाएँ
|
||||
- [Releases page](https://github.com/aquasecurity/kube-bench/releases) से latest binaries इंस्टॉल करें,
|
||||
- इसे source से compile करें।
|
||||
|
||||
### [**Kubeaudit**](https://github.com/Shopify/kubeaudit)
|
||||
|
||||
**[DEPRECATED]** उपकरण [**kubeaudit**](https://github.com/Shopify/kubeaudit) एक कमांड लाइन उपकरण और एक Go पैकेज है जो विभिन्न सुरक्षा चिंताओं के लिए **Kubernetes क्लस्टरों का ऑडिट** करता है।
|
||||
**[DEPRECATED]** The tool [**kubeaudit**](https://github.com/Shopify/kubeaudit) एक command line tool और एक Go package है जो विभिन्न security concerns के लिए **Kubernetes clusters का ऑडिट** करता है।
|
||||
|
||||
Kubeaudit यह पता लगा सकता है कि क्या यह क्लस्टर में एक कंटेनर के भीतर चल रहा है। यदि हां, तो यह उस क्लस्टर में सभी Kubernetes संसाधनों का ऑडिट करने का प्रयास करेगा:
|
||||
Kubeaudit पता लगा सकता है कि वह cluster के अंदर किसी container के भीतर चल रहा है या नहीं। यदि ऐसा है, तो यह उस cluster के सभी Kubernetes resources का ऑडिट करने का प्रयास करेगा:
|
||||
```
|
||||
kubeaudit all
|
||||
```
|
||||
इस उपकरण में `autofix` तर्क भी है जो **पाई गई समस्याओं को स्वचालित रूप से ठीक करता है।**
|
||||
इस टूल में `autofix` आर्गुमेंट भी है जो **पाए गए मुद्दों को स्वचालित रूप से ठीक करता है।**
|
||||
|
||||
### [**Kube-hunter**](https://github.com/aquasecurity/kube-hunter)
|
||||
|
||||
**[DEPRECATED]** उपकरण [**kube-hunter**](https://github.com/aquasecurity/kube-hunter) Kubernetes क्लस्टरों में सुरक्षा कमजोरियों की खोज करता है। इस उपकरण को Kubernetes वातावरण में सुरक्षा मुद्दों के प्रति जागरूकता और दृश्यता बढ़ाने के लिए विकसित किया गया था।
|
||||
**[DEPRECATED]** यह टूल [**kube-hunter**](https://github.com/aquasecurity/kube-hunter) Kubernetes clusters में सुरक्षा कमजोरियों का पता लगाता है। यह टूल Kubernetes environments में सुरक्षा मुद्दों के प्रति जागरूकता और दृश्यता बढ़ाने के लिए विकसित किया गया था।
|
||||
```bash
|
||||
kube-hunter --remote some.node.com
|
||||
```
|
||||
### [Trivy](https://github.com/aquasecurity/trivy)
|
||||
|
||||
[Trivy](https://github.com/aquasecurity/trivy) में सुरक्षा मुद्दों की खोज करने वाले स्कैनर होते हैं, और लक्ष्यों की पहचान करते हैं जहाँ यह उन मुद्दों को खोज सकता है:
|
||||
[Trivy](https://github.com/aquasecurity/trivy) में ऐसे scanners हैं जो security issues की तलाश करते हैं, और वे targets जहाँ ये issues मिल सकते हैं:
|
||||
|
||||
- कंटेनर इमेज
|
||||
- फ़ाइल प्रणाली
|
||||
- गिट रिपॉजिटरी (दूरस्थ)
|
||||
- वर्चुअल मशीन इमेज
|
||||
- कुबेरनेट्स
|
||||
- Container Image
|
||||
- Filesystem
|
||||
- Git Repository (remote)
|
||||
- Virtual Machine Image
|
||||
- Kubernetes
|
||||
|
||||
|
||||
### [**Kubei**](https://github.com/Erezf-p/kubei)
|
||||
|
||||
**[ऐसा लगता है कि इसे बनाए नहीं रखा गया है]**
|
||||
**[ऐसा लगता है कि मेंटेन नहीं किया जा रहा है]**
|
||||
|
||||
[**Kubei**](https://github.com/Erezf-p/kubei) एक कमजोरियों की स्कैनिंग और CIS डॉकर बेंचमार्क उपकरण है जो उपयोगकर्ताओं को उनके कुबेरनेट्स क्लस्टर का सटीक और तात्कालिक जोखिम मूल्यांकन प्राप्त करने की अनुमति देता है। Kubei सभी इमेजों को स्कैन करता है जो कुबेरनेट्स क्लस्टर में उपयोग की जा रही हैं, जिसमें एप्लिकेशन पॉड्स और सिस्टम पॉड्स की इमेजें शामिल हैं।
|
||||
[**Kubei**](https://github.com/Erezf-p/kubei) एक vulnerabilities scanning और CIS Docker benchmark tool है जो users को उनके Kubernetes clusters का सटीक और तत्काल risk assessment प्राप्त करने की अनुमति देता है। Kubei Kubernetes cluster में उपयोग हो रहे सभी images को scan करता है, जिनमें application pods और system pods की images भी शामिल हैं।
|
||||
|
||||
### [**KubiScan**](https://github.com/cyberark/KubiScan)
|
||||
|
||||
[**KubiScan**](https://github.com/cyberark/KubiScan) कुबेरनेट्स के रोल-आधारित एक्सेस कंट्रोल (RBAC) प्राधिकरण मॉडल में जोखिम भरे अनुमतियों के लिए कुबेरनेट्स क्लस्टर को स्कैन करने के लिए एक उपकरण है।
|
||||
[**KubiScan**](https://github.com/cyberark/KubiScan) एक tool है जो Kubernetes cluster को Kubernetes के Role-based access control (RBAC) authorization model में जोखिमपूर्ण permissions के लिए scan करता है।
|
||||
|
||||
### [Managed Kubernetes Auditing Toolkit](https://github.com/DataDog/managed-kubernetes-auditing-toolkit)
|
||||
|
||||
[**Mkat**](https://github.com/DataDog/managed-kubernetes-auditing-toolkit) एक उपकरण है जो अन्य प्रकार के उच्च जोखिम जांचों का परीक्षण करने के लिए बनाया गया है। इसमें मुख्य रूप से 3 विभिन्न मोड होते हैं:
|
||||
[**Mkat**](https://github.com/DataDog/managed-kubernetes-auditing-toolkit) एक tool है जो अन्य tools की तुलना में उच्च जोखिम वाले चेक्स को टेस्ट करने के लिए बनाया गया है। इसके मुख्य रूप से 3 अलग-अलग modes हैं:
|
||||
|
||||
- **`find-role-relationships`**: जो यह पता लगाएगा कि कौन से AWS भूमिकाएँ किस पॉड में चल रही हैं
|
||||
- **`find-secrets`**: जो K8s संसाधनों जैसे पॉड्स, कॉन्फ़िगमैप्स, और सीक्रेट्स में सीक्रेट्स की पहचान करने की कोशिश करता है।
|
||||
- **`test-imds-access`**: जो पॉड्स को चलाने और मेटाडेटा v1 और v2 तक पहुँचने की कोशिश करेगा। चेतावनी: यह क्लस्टर में एक पॉड चलाएगा, बहुत सावधान रहें क्योंकि शायद आप ऐसा नहीं करना चाहते!
|
||||
- **`find-role-relationships`**: जो यह पता लगाता है कि कौन से AWS roles कौन से pods में चल रहे हैं
|
||||
- **`find-secrets`**: जो Pods, ConfigMaps, और Secrets जैसे K8s resources में secrets की पहचान करने की कोशिश करता है।
|
||||
- **`test-imds-access`**: जो pods चलाकर metadata v1 और v2 तक पहुँचने की कोशिश करेगा। WARNING: यह क्लस्टर में एक pod चलाएगा, बहुत सावधान रहें क्योंकि हो सकता है आप यह करना न चाहें!
|
||||
|
||||
## **Audit IaC Code**
|
||||
|
||||
### [**KICS**](https://github.com/Checkmarx/kics)
|
||||
|
||||
[**KICS**](https://github.com/Checkmarx/kics) **सुरक्षा कमजोरियों**, अनुपालन मुद्दों, और निम्नलिखित **इन्फ्रास्ट्रक्चर ऐज़ कोड समाधान** में अवसंरचना की गलत कॉन्फ़िगरेशन को खोजता है: Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM, और OpenAPI 3.0 विनिर्देश
|
||||
[**KICS**](https://github.com/Checkmarx/kics) निम्नलिखित Infrastructure as Code solutions में security vulnerabilities, compliance issues, और infrastructure misconfigurations ढूँढता है: Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM, और OpenAPI 3.0 specifications
|
||||
|
||||
### [**Checkov**](https://github.com/bridgecrewio/checkov)
|
||||
|
||||
[**Checkov**](https://github.com/bridgecrewio/checkov) इन्फ्रास्ट्रक्चर-ऐज़-कोड के लिए एक स्थैतिक कोड विश्लेषण उपकरण है।
|
||||
[**Checkov**](https://github.com/bridgecrewio/checkov) infrastructure-as-code के लिए एक static code analysis tool है।
|
||||
|
||||
यह [Terraform](https://terraform.io), Terraform योजना, [Cloudformation](https://aws.amazon.com/cloudformation/), [AWS SAM](https://aws.amazon.com/serverless/sam/), [Kubernetes](https://kubernetes.io), [Dockerfile](https://www.docker.com), [Serverless](https://www.serverless.com) या [ARM Templates](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) का उपयोग करके प्रावधानित क्लाउड अवसंरचना को स्कैन करता है और ग्राफ-आधारित स्कैनिंग का उपयोग करके सुरक्षा और अनुपालन गलत कॉन्फ़िगरेशन का पता लगाता है।
|
||||
यह cloud infrastructure को scan करता है जो [Terraform](https://terraform.io), Terraform plan, [Cloudformation](https://aws.amazon.com/cloudformation/), [AWS SAM](https://aws.amazon.com/serverless/sam/), [Kubernetes](https://kubernetes.io), [Dockerfile](https://www.docker.com), [Serverless](https://www.serverless.com) या [ARM Templates](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) का उपयोग करके provision की गई हो, और graph-based scanning का उपयोग करके security और compliance misconfigurations का पता लगाता है।
|
||||
|
||||
### [**Kube-score**](https://github.com/zegl/kube-score)
|
||||
|
||||
[**kube-score**](https://github.com/zegl/kube-score) एक उपकरण है जो आपके कुबेरनेट्स ऑब्जेक्ट परिभाषाओं का स्थैतिक कोड विश्लेषण करता है।
|
||||
[**kube-score**](https://github.com/zegl/kube-score) एक tool है जो आपके Kubernetes object definitions का static code analysis करता है।
|
||||
|
||||
इंस्टॉल करने के लिए:
|
||||
Install करने के लिए:
|
||||
|
||||
| वितरण | कमांड / लिंक |
|
||||
| ------------------------------------------------ | ------------------------------------------------------------------------------------- |
|
||||
| macOS, Linux, और Windows के लिए पूर्व-निर्मित बाइनरी | [GitHub रिलीज़](https://github.com/zegl/kube-score/releases) |
|
||||
| डॉकर | `docker pull zegl/kube-score` ([Docker Hub)](https://hub.docker.com/r/zegl/kube-score/) |
|
||||
| होमब्रे (macOS और Linux) | `brew install kube-score` |
|
||||
| [Krew](https://krew.sigs.k8s.io/) (macOS और Linux) | `kubectl krew install score` |
|
||||
| Distribution | Command / Link |
|
||||
| --------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| Pre-built binaries for macOS, Linux, and Windows | [GitHub releases](https://github.com/zegl/kube-score/releases) |
|
||||
| Docker | `docker pull zegl/kube-score` ([Docker Hub)](https://hub.docker.com/r/zegl/kube-score/) |
|
||||
| Homebrew (macOS and Linux) | `brew install kube-score` |
|
||||
| [Krew](https://krew.sigs.k8s.io/) (macOS and Linux) | `kubectl krew install score` |
|
||||
|
||||
## टिप्स
|
||||
## Tools to analyze YAML files & Helm Charts
|
||||
|
||||
### [**Kube-linter**](https://github.com/stackrox/kube-linter)
|
||||
```bash
|
||||
# Install Kube-linter
|
||||
brew install kube-linter
|
||||
|
||||
# Run Kube-linter
|
||||
## lint ./path/to/yaml/or/chart
|
||||
```
|
||||
### [Checkov](https://github.com/bridgecrewio/checkov)
|
||||
```bash
|
||||
# Install Checkov
|
||||
pip install checkov
|
||||
|
||||
# Run Checkov
|
||||
checkov -d ./path/to/yaml/or/chart
|
||||
```
|
||||
### [kube‑score](https://github.com/zegl/kube-score)
|
||||
```bash
|
||||
# Install kube-score
|
||||
brew install kube-score
|
||||
|
||||
# Run kube-score
|
||||
kube-score score ./path/to/yaml
|
||||
# or
|
||||
helm template chart /path/to/chart | kube-score score -
|
||||
# or if the chart needs some values
|
||||
helm template chart /path/to/chart \
|
||||
--set 'config.urls[0]=https://dummy.backend.internal' \
|
||||
| kube-score score -
|
||||
```
|
||||
### [Kubesec](https://github.com/controlplaneio/kubesec)
|
||||
```bash
|
||||
# Install Kubesec
|
||||
## Download from https://github.com/controlplaneio/kubesec/releases
|
||||
|
||||
# Run Kubesec in a yaml
|
||||
kubesec scan ./path/to/yaml
|
||||
# or
|
||||
helm template chart /path/to/chart | kubesec scan -
|
||||
# or if the chart needs some values
|
||||
helm template chart /path/to/chart \
|
||||
--set 'config.urls[0]=https://dummy.backend.internal' \
|
||||
| kubesec scan -
|
||||
```
|
||||
## सुझाव
|
||||
|
||||
### Kubernetes PodSecurityContext और SecurityContext
|
||||
|
||||
आप **पॉड्स के सुरक्षा संदर्भ** ( _PodSecurityContext_ के साथ) और **कंटेनरों** का सुरक्षा संदर्भ ( _SecurityContext_ के साथ) कॉन्फ़िगर कर सकते हैं। अधिक जानकारी के लिए पढ़ें:
|
||||
आप Pods के **सुरक्षा संदर्भ** (_PodSecurityContext_) और चलने वाले **containers** के **SecurityContext** (_SecurityContext_) को कॉन्फ़िगर कर सकते हैं। अधिक जानकारी के लिए पढ़ें:
|
||||
|
||||
{{#ref}}
|
||||
kubernetes-securitycontext-s.md
|
||||
{{#endref}}
|
||||
|
||||
### Kubernetes API Hardening
|
||||
### Kubernetes API हार्डनिंग
|
||||
|
||||
यह बहुत महत्वपूर्ण है कि **कुबेरनेट्स एपीआई सर्वर तक पहुँच की सुरक्षा करें** क्योंकि एक दुर्भावनापूर्ण अभिनेता जिसके पास पर्याप्त विशेषाधिकार हैं, इसका दुरुपयोग कर सकता है और वातावरण को कई तरीकों से नुकसान पहुँचा सकता है।\
|
||||
यह सुनिश्चित करना महत्वपूर्ण है कि **पहुँच** (**API सर्वर तक पहुँचने के लिए** **व्हाइटलिस्ट** उत्पत्ति और किसी अन्य कनेक्शन को अस्वीकार करें) और [**प्रमाणीकरण**](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authorization/) ( **कम से कम** **विशेषाधिकार** के सिद्धांत का पालन करते हुए)। और निश्चित रूप से **कभी भी** **गुमनाम** **अनुरोधों** की **अनुमति** **नहीं** दें।
|
||||
यह बहुत महत्वपूर्ण है कि आप **Kubernetes Api Server तक पहुँच की सुरक्षा करें**, क्योंकि पर्याप्त अधिकार वाले एक दुष्ट अभिकर्ता इसका दुरुपयोग करके environment को कई तरीकों से नुकसान पहुँचा सकता है।\
|
||||
API Server तक both **access** (**whitelist** origins to access the API Server and deny any other connection) और [**authentication**](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authorization/) (principle of **least** **privilege** का पालन करते हुए) — दोनों को सुरक्षित करना महत्वपूर्ण है। और निश्चित रूप से **कभी भी** **anonymous** **requests** की अनुमति न दें।
|
||||
|
||||
**सामान्य अनुरोध प्रक्रिया:**\
|
||||
उपयोगकर्ता या K8s सेवा खाता –> प्रमाणीकरण –> प्राधिकरण –> प्रवेश नियंत्रण।
|
||||
उपयोगकर्ता या K8s ServiceAccount –> प्रमाणीकरण –> प्राधिकरण –> Admission Control।
|
||||
|
||||
**टिप्स**:
|
||||
**सुझाव**:
|
||||
|
||||
- पोर्ट बंद करें।
|
||||
- गुमनाम पहुँच से बचें।
|
||||
- NodeRestriction; API तक विशिष्ट नोड्स से कोई पहुँच नहीं।
|
||||
- अनाम पहुँच से बचें।
|
||||
- NodeRestriction; विशेष nodes से API तक पहुँच न होने दें।
|
||||
- [https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction)
|
||||
- मूल रूप से kubelets को node-restriction.kubernetes.io/ उपसर्ग के साथ लेबल जोड़ने/हटाने/अपडेट करने से रोकता है। यह लेबल उपसर्ग प्रशासकों के लिए उनके नोड ऑब्जेक्ट्स को कार्यभार अलगाव के उद्देश्यों के लिए लेबल करने के लिए आरक्षित है, और kubelets को उस उपसर्ग के साथ लेबल को संशोधित करने की अनुमति नहीं होगी।
|
||||
- और साथ ही, kubelets को इन लेबलों और लेबल उपसर्गों को जोड़ने/हटाने/अपडेट करने की अनुमति देता है।
|
||||
- लेबल के साथ सुरक्षित कार्यभार अलगाव सुनिश्चित करें।
|
||||
- API पहुँच से विशिष्ट पॉड्स को बचें।
|
||||
- इंटरनेट पर ApiServer के प्रदर्शन से बचें।
|
||||
- अनधिकृत पहुँच RBAC से बचें।
|
||||
- फ़ायरवॉल और IP व्हाइटलिस्टिंग के साथ ApiServer पोर्ट।
|
||||
- बुनियादी रूप से kubelets को node-restriction.kubernetes.io/ prefix वाले labels जोड़ने/हटाने/अपडेट करने से रोकता है। यह label prefix administrators के लिए आरक्षित है ताकि वे workload isolation के उद्देश्यों के लिए अपने Node objects को label कर सकें, और kubelets को उस prefix वाले labels को संशोधित करने की अनुमति नहीं दी जाएगी।
|
||||
- और साथ ही, kubelets को इन labels और label prefixes को जोड़ने/हटाने/अपडेट करने की अनुमति देता है।
|
||||
- labels के साथ सुरक्षित workload isolation सुनिश्चित करें।
|
||||
- विशेष pods को API access से रोकें।
|
||||
- ApiServer का इंटरनेट पर एक्सपोज़र रोकें।
|
||||
- अनधिकृत पहुँच से बचें; RBAC लागू करें।
|
||||
- ApiServer पोर्ट के लिए firewall और IP whitelisting लागू करें।
|
||||
|
||||
### SecurityContext Hardening
|
||||
### SecurityContext हार्डनिंग
|
||||
|
||||
डिफ़ॉल्ट रूप से, जब कोई पॉड शुरू किया जाता है, तो रूट उपयोगकर्ता का उपयोग किया जाएगा यदि कोई अन्य उपयोगकर्ता निर्दिष्ट नहीं किया गया है। आप निम्नलिखित में से एक टेम्पलेट का उपयोग करके एक अधिक सुरक्षित संदर्भ के भीतर अपने एप्लिकेशन को चला सकते हैं:
|
||||
डिफ़ॉल्ट रूप से, जब कोई Pod शुरू किया जाता है और कोई अन्य उपयोगकर्ता निर्दिष्ट नहीं होता है, तो root user का उपयोग किया जाएगा। आप अपने एप्लिकेशन को निम्नलिखित जैसे टेम्पलेट का उपयोग करके एक अधिक सुरक्षित context में चला सकते हैं:
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
@@ -179,30 +225,30 @@ allowPrivilegeEscalation: true
|
||||
- [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
||||
- [https://kubernetes.io/docs/concepts/policy/pod-security-policy/](https://kubernetes.io/docs/concepts/policy/pod-security-policy/)
|
||||
|
||||
### सामान्य हार्डनिंग
|
||||
### General Hardening
|
||||
|
||||
आपको अपने Kubernetes वातावरण को आवश्यकतानुसार अपडेट करना चाहिए ताकि:
|
||||
You should update your Kubernetes environment as frequently as necessary to have:
|
||||
|
||||
- निर्भरताएँ अद्यतित हों।
|
||||
- बग और सुरक्षा पैच।
|
||||
- Dependencies up to date.
|
||||
- Bug and security patches.
|
||||
|
||||
[**रिलीज़ चक्र**](https://kubernetes.io/docs/setup/release/version-skew-policy/): हर 3 महीने में एक नया माइनर रिलीज़ होता है -- 1.20.3 = 1(मुख्य).20(माइनर).3(पैच)
|
||||
[**Release cycles**](https://kubernetes.io/docs/setup/release/version-skew-policy/): हर 3 महीने में एक नया minor release आता है -- 1.20.3 = 1(Major).20(Minor).3(patch)
|
||||
|
||||
**Kubernetes क्लस्टर को अपडेट करने का सबसे अच्छा तरीका है (यहां से** [**यहां**](https://kubernetes.io/docs/tasks/administer-cluster/cluster-upgrade/)**):**
|
||||
**The best way to update a Kubernetes Cluster is (from** [**here**](https://kubernetes.io/docs/tasks/administer-cluster/cluster-upgrade/)**):**
|
||||
|
||||
- मास्टर नोड के घटकों को इस अनुक्रम का पालन करते हुए अपग्रेड करें:
|
||||
- etcd (सभी उदाहरण)।
|
||||
- kube-apiserver (सभी नियंत्रण विमान होस्ट)।
|
||||
- kube-controller-manager।
|
||||
- kube-scheduler।
|
||||
- क्लाउड कंट्रोलर प्रबंधक, यदि आप एक का उपयोग करते हैं।
|
||||
- कार्यकर्ता नोड के घटकों जैसे kube-proxy, kubelet को अपग्रेड करें।
|
||||
- Master Node घटकों को निम्न अनुक्रम में अपग्रेड करें:
|
||||
- etcd (all instances).
|
||||
- kube-apiserver (all control plane hosts).
|
||||
- kube-controller-manager.
|
||||
- kube-scheduler.
|
||||
- cloud controller manager, यदि आप इसका उपयोग करते हैं।
|
||||
- Worker Node घटकों जैसे kube-proxy, kubelet को अपग्रेड करें।
|
||||
|
||||
## Kubernetes निगरानी और सुरक्षा:
|
||||
## Kubernetes monitoring & security:
|
||||
|
||||
- Kyverno नीति इंजन
|
||||
- Kyverno Policy Engine
|
||||
- Cilium Tetragon - eBPF-आधारित सुरक्षा अवलोकन और रनटाइम प्रवर्तन
|
||||
- नेटवर्क सुरक्षा नीतियाँ
|
||||
- Falco - रनटाइम सुरक्षा निगरानी और पहचान
|
||||
- Network Security Policies
|
||||
- Falco - Runtime सुरक्षा निगरानी और पता लगाना
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user