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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CureIAM — GCP इंफ्रास्ट्रक्चर में बड़े पैमाने पर अनुमतियों पर खातों को साफ करें | Kitploit
उपकरण/GitHubGitHub/gojek/cureiam
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाकॉन्फ़िगरेशन ऑडिटिंगक्लाउड सुरक्षाDevSecOpsपहचान और एक्सेस प्रबंधन (IAM)
GitHubgojek/cureiam

CureIAM

GCP इंफ्रास्ट्रक्चर में बड़े पैमाने पर अनुमतियों पर खातों को साफ करें

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CureIAM

GCP इंफ्रा पर अत्यधिक अनुमति प्राप्त IAM खातों की स्वचालित सफाई

CureIAM GCP क्लाउड इंफ्रा पर न्यूनतम विशेषाधिकार सिद्धांत (Least Privilege Principle) को लागू करने के लिए एक आसान, विश्वसनीय और उच्च प्रदर्शन वाला इंजन है। यह DevOps और सुरक्षा टीमों को GCP इंफ्रा में उन खातों को शीघ्रता से साफ करने में सक्षम बनाता है जिन्हें आवश्यकता से अधिक अनुमतियाँ दी गई हैं। CureIAM GCP IAM अनुशंसाकर्ता (Recommender) से सिफारिशें और अंतर्दृष्टि प्राप्त करता है, उन्हें स्कोर करता है और प्रतिदिन स्वचालित रूप से उन सिफारिशों को लागू करता है। यह शेड्यूलिंग और बड़े पैमाने पर इन प्रवर्तन कार्यों को चलाने के अन्य सभी पहलुओं का ध्यान रखता है। यह GCP IAM अनुशंसाकर्ता API और Cloudmarker फ्रेमवर्क के ऊपर बनाया गया है।

मुख्य विशेषताएँ

जानें कि CureIAM को स्केलेबल और प्रोडक्शन ग्रेड क्या बनाता है।

  • कॉन्फिग संचालित: CureIAM का संपूर्ण वर्कफ़्लो कॉन्फिग संचालित है। अधिक जानकारी के लिए Config अनुभाग पर जाएँ।
  • स्केलेबल: यह अपने प्लगइन-संचालित, मल्टीप्रोसेस और मल्टी-थ्रेडेड दृष्टिकोण के कारण स्केल करने के लिए डिज़ाइन किया गया है।
  • शेड्यूलिंग संभालता है: शेड्यूलिंग भाग CureIAM कोड में ही एम्बेडेड है; समय कॉन्फ़िगर करें और CureIAM प्रतिदिन उस समय चलेगा।
  • प्लगइन संचालित: CureIAM कोडबेस पूरी तरह से प्लगइन-उन्मुख है, जिसका अर्थ है कि कोई मौजूदा प्लगइन का उपयोग कर सकता है या इसमें और अधिक कार्यक्षमता जोड़ने के लिए नए बना सकता है।
  • कार्रवाई योग्य अंतर्दृष्टि को ट्रैक करें: CureIAM द्वारा उठाया गया हर कार्य ऑडिट उद्देश्य के लिए रिकॉर्ड किया जाता है। यह फ़ाइल स्टोर और elasticsearch स्टोर में ऐसा कर सकता है। यदि आप चाहें, तो ट्रैकिंग उद्देश्यों के लिए अन्य स्टोर में डेटा पुश करने के लिए अन्य स्टोर प्लगइन बना सकते हैं।
  • स्कोरिंग और प्रवर्तन: CureIAM द्वारा प्राप्त प्रत्येक अनुशंसा को विभिन्न मापदंडों के आधार पर स्कोर किया जाता है, इसके बाद कुछ स्कोर जैसे safe_to_apply_score, risk_score, over_privilege_score प्राप्त होते हैं। प्रत्येक स्कोर एक अलग उद्देश्य पूरा करता है। safe_to_apply_score CureIAM.yaml कॉन्फिग फ़ाइल में निर्धारित थ्रेशोल्ड के आधार पर स्वचालित आधार पर अनुशंसा लागू करने की क्षमता की पहचान करता है।
  • उपयोग

    चूँकि CureIAM Python में बनाया गया है, आप इसे इन आदेशों के साथ स्थानीय रूप से चला सकते हैं। चलाने से पहले सुनिश्चित करें कि /etc/CureIAM.yaml, ~/.CureIAM.yaml, ~/CureIAM.yaml, या CureIAM.yaml में एक कॉन्फ़िगरेशन फ़ाइल तैयार है और वर्तमान निर्देशिका में cureiamSA.json नाम की एक सेवा खाता JSON फ़ाइल मौजूद है। इस SA प्राइवेट की को कुछ भी नाम दिया जा सकता है, लेकिन Docker इमेज बिल्ड के लिए इस नाम का उपयोग करना पसंद किया जाता है। GCP क्लाउड के लिए कॉन्फिग में इस फ़ाइल का संदर्भ अवश्य दें।

    root@kitploit:~
    # आवश्यक निर्भरताएँ स्थापित करें
    $ pip install -r requirements.txt
    
    # CureIAM अभी चलाएँ
    $ python -m CureIAM -n
    
    # CureIAM प्रक्रिया को शेड्यूलर के रूप में चलाएँ
    $ python -m CureIAM
    
    # CureIAM सहायता देखें
    $ python -m CureIAM --help
    

    CureIAM को Docker वातावरण के अंदर भी चलाया जा सकता है, यह पूरी तरह से वैकल्पिक है और K8s क्लस्टर परिनियोजन के साथ CI/CD के लिए उपयोग किया जा सकता है।

    root@kitploit:~
    # Dockerfile से Docker इमेज बनाएँ
    $ docker build -t cureiam . 
    
    # इमेज को शेड्यूलर के रूप में चलाएँ
    $ docker run -d cureiam 
    
    # इमेज को अभी चलाएँ
    $ docker run -f cureiam -m cureiam -n 
    

    कॉन्फिग

    CureIAM.yaml कॉन्फ़िगरेशन फ़ाइल CureIAM इंजन का दिल है। इंजन जो कुछ भी करता है वह इस कॉन्फिग फ़ाइल में कॉन्फ़िगर किए गए पाइपलाइन के आधार पर करता है। आइए इसे विभिन्न अनुभागों में तोड़कर इस कॉन्फिग को सरल बनाते हैं।

    1. पहले अनुभाग को कॉन्फ़िगर करें, जो लॉगिंग कॉन्फ़िगरेशन और शेड्यूलर कॉन्फ़िगरेशन है।
    root@kitploit:~
      logger:
        version: 1
    
        disable_existing_loggers: false
    
        formatters:
          verysimple:
            format: >-
                [%(process)s]
                %(name)s:%(lineno)d - %(message)s
            datefmt: "%Y-%m-%d %H:%M:%S"
    
        handlers:
          rich_console:
            class: rich.logging.RichHandler
            formatter: verysimple
    
          file:
            class: logging.handlers.TimedRotatingFileHandler
            formatter: simple
            filename: /tmp/CureIAM.log
            when: midnight
            encoding: utf8
            backupCount: 5
    
        loggers:
          adal-python:
            level: INFO
    
        root:
          level: INFO
          handlers:
            - rich_console
            - file
    
      schedule: "16:00"
    

    कॉन्फिग का यह उपखंड Rich लॉगिंग मॉड्यूल का उपयोग करता है और CureIAM को प्रतिदिन 16:00 बजे चलने के लिए शेड्यूल करता है।

    1. अगला अनुभाग विभिन्न मॉड्यूल को कॉन्फ़िगर करना है, जिनका उपयोग हम पाइपलाइन में कर सकते हैं। यह CureIAM.yaml में plugins अनुभाग के अंतर्गत आता है। आप इस अनुभाग को विभिन्न प्लगइन्स की घोषणा के रूप में सोच सकते हैं।
    root@kitploit:~
      plugins:
        gcpCloud:
          plugin: CureIAM.plugins.gcp.gcpcloud.GCPCloudIAMRecommendations
          params:
            key_file_path: cureiamSA.json
    
        filestore:
          plugin: CureIAM.plugins.files.filestore.FileStore
    
        gcpIamProcessor:
          plugin: CureIAM.plugins.gcp.gcpcloudiam.GCPIAMRecommendationProcessor
          params:
            mode_scan: true
            mode_enforce: true
            enforcer:
              key_file_path: cureiamSA.json
              allowlist_projects:
                - alpha
              blocklist_projects:
                - beta
              blocklist_accounts:
                - [email protected]
              allowlist_account_types:
                - user
                - group
                - serviceAccount
              blocklist_account_types:
                - None
              min_safe_to_apply_score_user: 0
              min_safe_to_apply_score_group: 0
              min_safe_to_apply_score_SA: 50
    
        esstore:
          plugin: CureIAM.plugins.elastic.esstore.EsStore
          params:
            # Change http to https later if your elastic are using https
            scheme: http
            host: es-host.com
            port: 9200
            index: cureiam-stg
            username: security
            password: securepassword
    

    इनमें से प्रत्येक प्लगइन घोषणा इस रूप में होनी चाहिए:

    root@kitploit:~
      plugins:
        <plugin-name>:
          plugin: <class-name-as-python-path>
          params:
            param1: val1
            param2: val2
    

    उदाहरण के लिए, प्लगइन CureIAM.stores.esstore.EsStore के लिए जो यह फ़ाइल है और क्लास EsStore है। yaml में परिभाषित सभी params को उसी प्लगइन क्लास के __init__() फ़ंक्शन में घोषणा से मेल खाना चाहिए।

    1. एक बार प्लगइन्स परिभाषित हो जाने के बाद, अगला कदम यह परिभाषित करना है कि ऑडिटिंग के लिए पाइपलाइन कैसे परिभाषित करें। और यह इस प्रकार है:
    root@kitploit:~
      audits:
        IAMAudit:
          clouds:
            - gcpCloud
          processors:
            - gcpIamProcessor
          stores:
            - filestore
            - esstore
    

    इससे एकाधिक ऑडिट बनाए जा सकते हैं। यहाँ बनाया गया नाम IAMAudit है जिसमें तीन प्लगइन्स का उपयोग है: gcpCloud, gcpIamProcessor, filestores और esstore। ध्यान दें कि ये चरण 2 में परिभाषित प्लगइन नाम हैं। फिर से, यह पाइपलाइन को परिभाषित करने जैसा है, वास्तव में इसे चलाने जैसा नहीं। अगले चरण में परिभाषा के साथ चलाने पर विचार किया जाएगा।

    1. CureIAM को पिछले चरण में परिभाषित ऑडिट चलाने के लिए कहें।
    root@kitploit:~
      run:
        - IAMAudits
    

    और यह CureIAM के लिए संपूर्ण कॉन्फ़िगरेशन बनाता है, आप पूरा नमूना यहाँ पा सकते हैं। यह कॉन्फिग-संचालित पाइपलाइन अवधारणा Cloudmarker फ्रेमवर्क से विरासत में मिली है।

    डैशबोर्ड

    Elasticsearch स्टोर प्लगइन का उपयोग करके Elasticsearch में अनुक्रमित JSON का उपयोग Kibana में डैशबोर्ड उत्पन्न करने के लिए किया जा सकता है।

    योगदान करें

    [कृपया करें!] हम CureIAM की मुख्य कार्यक्षमता और दस्तावेज़ीकरण में सुधार के लिए किसी भी प्रकार के योगदान की तलाश कर रहे हैं। जब संदेह हो, PR करें!

    श्रेय

    Gojek उत्पाद सुरक्षा टीम ❤️

    डेमो

    <>

    =============

    मई 2023 0.2.0 के नए अपडेट

    रीफैक्टरिंग

    • बड़े कोड को कई छोटे फ़ंक्शनों में तोड़ना
    • सभी प्लगइन्स को प्लगइन्स फ़ोल्डर में ले जाना: Esstore, files, Cloud और GCP
    • शून्य विभाजन मुद्दों में सुधार जोड़ना
    • Elastic के नए प्रमुख संस्करण में माइग्रेशन
    • CureIAM.yaml फ़ाइल में कॉन्फ़िगरेशन बदलना
    • Python संस्करण 3.9.X में परीक्षण किया गया

    लाइब्रेरी अपडेट

    किसी भी पिछड़े संगतता मुद्दों से बचने के लिए लाइब्रेरी में संस्करण जोड़ना।

    • Elastic==8.7.0 # पहले 7.17.9
    • elasticsearch==8.7.0
    • google-api-python-client==2.86.0
    • PyYAML==6.0
    • schedule==1.2.0
    • rich==13.3.5

    Docker फ़ाइलें

    • Elastic में स्थानीय Elastic और Kibana के लिए Docker Compose जोड़ना
    • .env-ex जोड़ना Docker चलाने से पहले .env-ex को .env में बदलें
    root@kitploit:~
    Docker compose चलाना: docker-compose -f docker_compose_es.yaml up 
    

    विशेषताएँ

    • अनुशंसा लागू किए बिना स्कैन चलाने की क्षमता जोड़ना। डिफ़ॉल्ट रूप से, यदि mode_scan गलत है, तो mode_enforce नहीं चलेगा।
    root@kitploit:~
          mode_scan: true
          mode_enforce: false
    
    • ईमेल फ़ंक्शन को अस्थायी रूप से बंद कर दें।
    टूल डाउनलोड करें