Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CureIAM — تنظيف الحسابات بناءً على الصلاحيات في البنية التحتية لـ GCP على نطاق واسع | Kitploit
أدوات/GitHubGitHub/gojek/cureiam
أمن البنية التحتية السحابيةتدقيق التكوينأمن السحابةDevSecOpsإدارة الهوية والوصول (IAM)
GitHubgojek/cureiam

CureIAM

تنظيف الحسابات بناءً على الصلاحيات في البنية التحتية لـ GCP على نطاق واسع

عرض المستودع
726منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CureIAM

تنظيف حسابات IAM ذات الصلاحيات الزائدة على بنية GCP السحابية بطريقة آلية

CureIAM هو محرك سهل الاستخدام وموثوق وعالي الأداء لتطبيق مبدأ أقل الامتيازات على البنية السحابية لـ GCP. يمكّن فرق DevOps والأمن من تنظيف الحسابات في بنية GCP التي مُنحت صلاحيات أكثر مما هو مطلوب بسرعة. يجلب CureIAM التوصيات والرؤى من مستشار IAM في GCP، ويُسجّلها ويُطبق تلك التوصيات تلقائيًا بشكل يومي. يتولى الجدولة وجميع الجوانب الأخرى لتشغيل مهام التطبيق هذه على نطاق واسع. تم بناؤه فوق واجهات برمجة تطبيقات مستشار IAM في GCP وإطار عمل Cloudmarker.

الميزات الرئيسية

اكتشف ما يجعل CureIAM قابلًا للتوسع ومناسبًا للإنتاج.

  • يعتمد على الإعدادات: سير العمل الكامل لـ CureIAM يعتمد على الإعدادات. انتقل إلى قسم الإعدادات لمعرفة المزيد.
  • قابل للتوسع: صُمم للتوسع بفضل نهجه القائم على الإضافات، والمعالجة المتعددة للعمليات والخيوط.
  • يتولى الجدولة: جزء الجدولة مدمج في كود 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، بالإضافة إلى وجود ملف JSON لحساب خدمة في الدليل الحالي باسم يفضل أن يكون cureiamSA.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.

root@kitploit:~
# بناء صورة Docker من ملف Dockerfile
$ 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. القسم التالي هو تكوين الوحدات المختلفة التي قد نستخدمها في خط الأنابيب. يقع هذا تحت قسم plugins في CureIAM.yaml. يمكنك التفكير في هذا القسم كإعلان للإضافات المختلفة.
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:
        # غير http إلى https لاحقًا إذا كان elastic يستخدم https
        scheme: http
        host: es-host.com
        port: 9200
        index: cureiam-stg
        username: security
        password: securepassword

يجب أن يكون كل إعلان من هذه الإضافات بهذا الشكل:

root@kitploit:~
  plugins:
    <اسم-الإضافة>:
      plugin: <اسم-الفئة-كمسار-بايثون>
      params:
        param1: val1
        param2: val2

على سبيل المثال، للإضافة CureIAM.stores.esstore.EsStore وهي هذا الملف والفئة EsStore. يجب أن تتطابق جميع المعاملات المحددة في yaml مع التصريح في دالة __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.

لوحة المعلومات

يمكن استخدام JSON الذي تم فهرسته في Elasticsearch باستخدام إضافة مخزن Elasticsearch لتوليد لوحة معلومات في Kibana.

المساهمة

[نرجو ذلك!] نحن نبحث عن أي نوع من المساهمات لتحسين الوظائف الأساسية لـ CureIAM والوثائق. عندما تكون في شك، قم بعمل طلب سحب (PR)!

الاعتمادات

فريق أمان منتجات Gojek ❤️

عرض توضيحي

<<قريبًا>>

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

تحديثات جديدة مايو 2023 الإصدار 0.2.0

إعادة الهيكلة

  • تقسيم الكود الكبير إلى دوال صغيرة متعددة
  • نقل جميع الإضافات إلى مجلد الإضافات: Esstore, files, Cloud و GCP.
  • إضافة إصلاحات لمشكلات القسمة على صفر
  • الانتقال إلى إصدار رئيسي جديد من Elastic
  • تغيير الإعدادات في ملف CureIAM.yaml
  • تم الاختبار على إصدار بايثون 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

  • إضافة Docker Compose لـ Elastic و Kibana محليًا في مجلد elastic
  • إضافة .env-ex غيّر .env-ex إلى .env قبل تشغيل docker
root@kitploit:~
تشغيل docker compose: docker-compose -f docker_compose_es.yaml up 

الميزات

  • إضافة القدرة على تشغيل الفحص بدون تطبيق التوصية. افتراضيًا، إذا كان mode_scan خطأ، لن يعمل mode_enforce.
root@kitploit:~
      mode_scan: true
      mode_enforce: false
  • إيقاف وظيفة البريد الإلكتروني مؤقتًا.
تنزيل الأداة