Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
kube-linter — KubeLinter एक स्थैतिक विश्लेषण उपकरण है जो Kubernetes YAML फ़ाइलों और Helm चार्ट्स की जाँच करता है ताकि यह सुनिश्चित किया जा सके कि उनमें दर्शाए गए अनुप्रयोग सर्वोत्तम प्रथाओं का पालन करते हैं। | Kitploit
उपकरण/GitHubGitHub/stackrox/kube-linter
स्थैतिक विश्लेषणकंटेनर सुरक्षाकॉन्फ़िगरेशन ऑडिटिंगक्लाउड सुरक्षाDevSecOpsगलत कॉन्फ़िगरेशन
GitHubstackrox/kube-linter

kube-linter

KubeLinter एक स्थैतिक विश्लेषण उपकरण है जो Kubernetes YAML फ़ाइलों और Helm चार्ट्स की जाँच करता है ताकि यह सुनिश्चित किया जा सके कि उनमें दर्शाए गए अनुप्रयोग सर्वोत्तम प्रथाओं का पालन करते हैं।

रिपॉजिटरी देखें
3.5k2733 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

Kubernetes के लिए स्थैतिक विश्लेषण

Go Report Card

KubeLinter क्या है?

KubeLinter Kubernetes YAML फ़ाइलों, Helm चार्ट्स और Kustomize मैनिफेस्टों का विश्लेषण करता है, और उत्पादन तत्परता (production readiness) और सुरक्षा पर केंद्रित विभिन्न सर्वोत्तम प्रथाओं के विरुद्ध उनकी जाँच करता है।

KubeLinter समझदार डिफ़ॉल्ट जाँचें चलाता है, जो आपकी Kubernetes YAML फ़ाइलों, Helm चार्ट्स और Kustomize मैनिफेस्टों के बारे में उपयोगी जानकारी देने के लिए डिज़ाइन की गई हैं। इसका उद्देश्य टीमों को सुरक्षा गलत-कॉन्फ़िगरेशन और DevOps सर्वोत्तम प्रथाओं के लिए जल्दी और बार-बार जाँच करने में मदद करना है। इनमें से कुछ सामान्य उदाहरण हैं: कंटेनरों को गैर-रूट उपयोगकर्ता के रूप में चलाना, न्यूनतम विशेषाधिकार (least privilege) लागू करना, और संवेदनशील जानकारी को केवल secrets में संग्रहीत करना।

KubeLinter कॉन्फ़िगर करने योग्य है, इसलिए आप अपने संगठन के भीतर जिन नीतियों का पालन करना चाहते हैं, उसके आधार पर जाँचों को सक्षम/अक्षम कर सकते हैं और अपनी स्वयं की कस्टम जाँचें भी बना सकते हैं।

जब कोई lint जाँच विफल होती है, तो KubeLinter किसी भी संभावित समस्या को हल करने के तरीके के लिए सिफारिशें रिपोर्ट करता है और एक गैर-शून्य (non-zero) exit code लौटाता है।

दस्तावेज़ीकरण

KubeLinter को स्थापित करने, उपयोग करने और कॉन्फ़िगर करने के विस्तृत दस्तावेज़ के लिए https://docs.kubelinter.io देखें।

KubeLinter स्थापित करना

Kube-linter के बाइनरी यहाँ मिल सकते हैं: https://github.com/stackrox/kube-linter/releases/latest

Go का उपयोग करके

Go का उपयोग करके स्थापित करने के लिए, निम्न कमांड चलाएँ:

root@kitploit:~
go install golang.stackrox.io/kube-linter/cmd/kube-linter@latest

अन्यथा, Releases से नवीनतम बाइनरी डाउनलोड करें और उसे अपने PATH में जोड़ें।

macOS के लिए Homebrew या Linux के लिए LinuxBrew का उपयोग करके

Homebrew या LinuxBrew का उपयोग करके स्थापित करने के लिए, निम्न कमांड चलाएँ:

root@kitploit:~
brew install kube-linter

nix-shell का उपयोग करके

root@kitploit:~
nix-shell -p kube-linter

docker का उपयोग करके

root@kitploit:~
docker pull stackrox/kube-linter:latest

विकास

पूर्वापेक्षाएँ

  • सुनिश्चित करें कि आपने स्रोत से बिल्ड करने से पहले Go स्थापित कर लिया है।

KubeLinter बनाना

KubeLinter को स्रोत से स्थापित करना इन चरणों का पालन करने जितना सरल है:

  1. सबसे पहले, KubeLinter रिपॉज़िटरी को क्लोन करें।

    root@kitploit:~
    git clone [email protected]:stackrox/kube-linter.git
    
  2. फिर, स्रोत कोड को कंपाइल करें। यह प्रत्येक प्लेटफ़ॉर्म के लिए kube-linter बाइनरी फ़ाइलें बनाएगा और उन्हें .gobin फ़ोल्डर में रखेगा।

    root@kitploit:~
    make build
    
  3. अंत में, आप KubeLinter का उपयोग शुरू करने के लिए तैयार हैं। अपना वर्शन सत्यापित करें ताकि यह सुनिश्चित हो सके कि आपने KubeLinter को सफलतापूर्वक स्थापित कर लिया है।

    root@kitploit:~
    .gobin/kube-linter version
    

KubeLinter का परीक्षण

परीक्षण की कई परतें हैं। प्रत्येक परत को पास होना चाहिए।

  1. go यूनिट टेस्ट:

    root@kitploit:~
    make test
    
  2. एंड-टू-एंड इंटीग्रेशन टेस्ट:

    root@kitploit:~
    make e2e-test
    
  3. और अंत में, bats-core का उपयोग करके एंड-टू-एंड इंटीग्रेशन टेस्ट:

    root@kitploit:~
    make e2e-bats
    

KubeLinter इमेजेज़ को सत्यापित करना

KubeLinter इमेजेज़ cosign द्वारा हस्ताक्षरित हैं। हम इमेज का उपयोग करने से पहले उसे सत्यापित करने की अनुशंसा करते हैं।

cosign स्थापित करने के बाद, आप KubeLinter इमेज को सत्यापित करने के लिए KubeLinter सार्वजनिक कुंजी का उपयोग कर सकते हैं:

root@kitploit:~
cat kubelinter-cosign.pub
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl0HCkCRzYv0qH5QiazoXeXe2qwFX
DmAszeH26g1s3OSsG/focPWkN88wEKQ5eiE95v+Z2snUQPl/mjPdvqpyjA==
-----END PUBLIC KEY-----


cosign verify --key kubelinter-cosign $IMAGE_NAME

KubeLinter cosign keyless signatures भी प्रदान करता है।

आप KubeLinter इमेज को इस प्रकार सत्यापित कर सकते हैं:

root@kitploit:~
# NOTE: Keyless signatures are NOT PRODUCTION ready.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

KubeLinter का उपयोग

स्थानीय YAML Linting

अपनी YAML फ़ाइलों को Lint करने के लिए KubeLinter चलाने में इसके सबसे बुनियादी रूप में केवल दो चरण लगते हैं।

  1. उस YAML फ़ाइल का पता लगाएँ जिसे आप सुरक्षा और उत्पादन तत्परता सर्वोत्तम प्रथाओं के लिए परीक्षण करना चाहते हैं:

  2. निम्न कमांड चलाएँ:

    root@kitploit:~
    kube-linter lint /path/to/your/yaml.yaml
    

उदाहरण

निम्नलिखित नमूना पॉड स्पेसिफिकेशन फ़ाइल pod.yaml पर विचार करें। इस फ़ाइल में दो उत्पादन तत्परता समस्याएँ और एक सुरक्षा समस्या है:

सुरक्षा समस्या:

  1. इस पॉड में कंटेनर रीड-ओनली (read only) फ़ाइल सिस्टम के रूप में नहीं चल रहा है, जिससे वह रूट फ़ाइल सिस्टम में लिख सकता है।

उत्पादन तत्परता:

  1. कंटेनर की मेमोरी सीमाएँ निर्धारित नहीं हैं, जिससे वह अत्यधिक मेमोरी खपत कर सकता है

    root@kitploit:~
    apiVersion: v1
    kind: Pod
    metadata:
      name: security-context-demo
    spec:
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
        fsGroup: 2000
      volumes:
      - name: sec-ctx-vol
        emptyDir: {}
      containers:
      - name: sec-ctx-demo
        image: busybox
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
        command: [ "sh", "-c", "sleep 1h" ]
        volumeMounts:
        - name: sec-ctx-vol
          mountPath: /data/demo
        securityContext:
          allowPrivilegeEscalation: false
    
  2. उपरोक्त YAML को pod.yaml में कॉपी करें और निम्न कमांड चलाकर इस फ़ाइल को lint करें:

    root@kitploit:~
    kube-linter lint pod.yaml
    
  3. KubeLinter अपनी डिफ़ॉल्ट जाँचें चलाता है और सिफारिशें रिपोर्ट करता है। नीचे हमारे पिछले कमांड का आउटपुट है।

    root@kitploit:~
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) The container "sec-ctx-demo" is using an invalid container image, "busybox". Please use images that are not blocked by the `BlockList` criteria : [".*:(latest)$" "^[^:]*$" "(.*/[^:]+)$"] (check: latest-tag, remediation: Use a container image with a specific tag other than latest.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in the container securityContext.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" has memory limit 0 (check: unset-memory-requirements, remediation: Set memory limits for your container based on its requirements. Refer to https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for details.)
    
    Error: found 3 lint errors
    

एकाधिक आउटपुट प्रारूप

KubeLinter एक ही रन में कई आउटपुट प्रारूप उत्पन्न करने का समर्थन करता है। यह मानव-पठनीय और मशीन-पठनीय दोनों तरह की रिपोर्ट एक साथ उत्पन्न करने के लिए उपयोगी है:

root@kitploit:~
kube-linter lint \
  --format sarif --output kube-linter.sarif \
  --format json --output kube-linter.json \
  --config .kube-linter.yaml \
  pod.yaml

यह कमांड:

  • kube-linter.sarif में SARIF प्रारूप रिपोर्ट उत्पन्न करेगा
  • kube-linter.json में JSON प्रारूप रिपोर्ट उत्पन्न करेगा
  • फ़ाइलों को केवल एक बार प्रोसेस करेगा, जिससे दक्षता में सुधार होगा

नोट: एकाधिक प्रारूपों के लिए स्पष्ट --output फ़्लैग आवश्यक हैं। stdout पर एकल प्रारूप आउटपुट के लिए, बिना --output के केवल एक --format फ़्लैग का उपयोग करें।

एकाधिक आउटपुट प्रारूपों का उपयोग करने के अधिक विवरण के लिए, दस्तावेज़ देखें।

KubeLinter का उपयोग और कॉन्फ़िगरेशन के बारे में अधिक जानने के लिए, दस्तावेज़ पृष्ठ देखें।

उल्लेख/ट्यूटोरियल

निम्नलिखित KubeLinter पर उपयोगकर्ताओं द्वारा लिखे गए ट्यूटोरियल हैं। यदि आप इस सूची में कोई जोड़ना चाहते हैं, तो कृपया एक PR भेजें!

  • Ensuring YAML best practices using KubeLinter at civo.com by Saiyam Pathak.
  • Analyze Kubernetes files for errors with KubeLinter at opensource.com by Jessica Cherry.
  • How to add a new check in KubeLinter? by Priyanka Saggu.
  • Extending kube-linter To Build A Custom Template by Gareth Healy.

लाइसेंस

KubeLinter Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त है।

समुदाय

यदि आप KubeLinter समुदाय के साथ जुड़ना चाहते हैं, जिसमें मेंटेनर और अन्य उपयोगकर्ता शामिल हैं, तो आप Slack वर्कस्पेस यहाँ से जुड़ सकते हैं।

भविष्य में कमांड उपयोग, फ़्लैग और कॉन्फ़िगरेशन फ़ाइल प्रारूपों में ब्रेकिंग परिवर्तन हो सकते हैं। फिर भी, हम आपको प्रोत्साहित करते हैं कि KubeLinter का उपयोग अपने पर्यावरण की YAML फ़ाइलों का परीक्षण करने, यह देखने के लिए करें कि क्या टूटता है, और योगदान करें।

एक अनुस्मारक के रूप में, KubeLinter समुदाय में सभी भागीदारी हमारे आचार संहिता द्वारा शासित है।


KubeLinter StackRox द्वारा ❤️ के साथ बनाया गया है और अब Red Hat द्वारा संचालित है।

टूल डाउनलोड करें