
ElectricEye هي أداة سطر أوامر بلغة بايثون تدعم السحابات المتعددة وSaaS المتعددة لإدارة الأصول، وإدارة الوضع الأمني، ومراقبة سطح الهجوم، وتدعم مئات الخدمات والتقييمات لتعزيز بيئات مزودي الخدمات السحابية وSaaS لديك، مع تعيين الضوابط لأكثر من 20 إطار عمل للضوابط الصناعية والتنظيمية وأفضل الممارسات.
ElectricEye هي أداة سطر أوامر (CLI) مكتوبة بلغة Python وتعمل عبر السحابات المتعددة وSaaS المتعددة، مخصصة لإدارة الأصول، وإدارة الوضع الأمني، ومراقبة سطح الهجوم. تدعم المئات من الخدمات وعمليات التقييم لتعزيز بيئات مزودي خدمات السحابة وSaaS لديك، مع ضوابط مُعيّنة لأكثر من 20 إطارًا صناعيًا وتنظيميًا وأفضل الممارسات.
هنا في الفضاء
أنظر إليك من الأعلى
أشعة الليزر التي لدي تتعقب
كل ما تفعله
جوداس بريست، 1982

ElectricEye هي أداة CLI بلغة Python تقدم قدرات إدارة الأصول عبر الحسابات والمناطق، وعبر السحابات المتعددة وSaaS، وإدارة الوضع الأمني، ومراقبة سطح الهجوم عبر AWS، مع دعم جميع الأقسام!، وGCP، وOracle Cloud Infrastructure (OCI)، وServiceNow، وMicrosoft 365 Enterprise (M365)، وSalesforce (SFDC)، وAzure.
تقدم ElectricEye أكثر من 1000 فحص ضد أفضل ممارسات الأمان والمرونة والأداء والمالية عبر أكثر من 100 خدمة من خدمات CSP وSaaS، بما في ذلك الخدمات غير التقليدية التي لا تدعمها أدوات/عروض إدارة الأصول الأصلية لـ CSP/SaaS أو أدوات CSPM وCNAPP السائدة.
كل فحص مُعيّن لأكثر من 20 إطار ضوابط يغطي أفضل الممارسات العامة والأطر التنظيمية والخاصة بالصناعة والقانونية مثل NIST CSF وAICPA TSCs (لـ SOC 2) وقاعدة أمان HIPAA وNIST 800-171 Rev. 2 وCMMC V2.0 وقسم CROE التابع للبنك المركزي الأوروبي وPCI-DSS V4.0 ومعايير CIS Foundations والمزيد!
تستخدم مراقبة سطح الهجوم متعددة الأوجه أدوات مثل VirusTotal وNmap وShodan.io وDetect-Secrets وKEV التابع لـ CISA لتحديد الأصول المفهرسة على الإنترنت والعثور على الخدمات المكشوفة واكتشاف الثغرات القابلة للاستغلال والحزم الضارة في مستودعات القطع الأثرية، على التوالي.
المخرجات إلى AWS Security Hub وإطار الأمن السيبراني المفتوح (OCSF) الإصدار 1.1.0 بتنسيق JSON وAWS DocumentDB وJSON وCSV وتقارير HTML وMongoDB وAmazon SQS وPostgreSQL وSlack (عبر روبوتات تطبيق Slack) وFireMon Cloud Defense.
المفهوم الأساسي لـ ElectricEye هو المدقق (Auditor)، وهو مجموعة من نصوص Python التي تشغل فحوصات (Checks) لكل خدمة مخصصة لمزود SaaS معين أو مزود خدمة سحابية عامة يُسمى هدف التقييم (Assessment Target). يمكنك تشغيل هدف تقييم كامل، أو مدقق معين، أو فحص معين داخل مدقق. بعد الانتهاء من التقييمات، تدعم ElectricEye أكثر من اثني عشر نوعًا من المخرجات تتراوح بين تقرير تنفيذي بتنسيق HTML ومجموعات AWS DocumentDB - يمكنك تشغيل مخرجات متعددة حسب ما تراه مناسبًا.
تستخدم ElectricEye أيضًا أدوات أخرى مثل Shodan.io وdetect-secrets من Yelp وVirusTotal وكتالوج الثغرات المعروفة القابلة للاستغلال (KEV) الصادر عن وكالة الأمن السيبراني والبنية التحتية الأمريكية (CISA) وNMAP لتنفيذ فحوصاتها وإثراء نتائجها.
أولاً، استنسخ هذا المستودع وقم بتثبيت المتطلبات باستخدام pip3: pip3 install -r requirements.txt.
إذا كنت تقوم بتقييم أي شيء بخلاف حساب AWS المحلي الخاص بك، فقم بتعديل ملف تكوين TOML الموجود في ElectricEye/eeauditor/external_providers.toml، أو قم بتوفير مسار إلى ملفك الخاص باستخدام --toml-path. يحدد ملف TOML تفاصيل الحسابات المتعددة والمناطق المتعددة وبيانات الاعتماد والمخرجات.
أخيرًا، قم بتشغيل وحدة التحكم (Controller) للتعرف على الفحوصات والمدققين وأهداف التقييم والمخرجات المختلفة.``` python3 eeauditor/controller.py --help Usage: controller.py [OPTIONS]
Options: -t, --target-provider [AWS|Azure|OCI|GCP|Servicenow|M365|Salesforce|Snowflake] Public cloud or SaaS assessment target, ensure that any -a or -c arg maps to your target provider to avoid any errors. e.g., -t AWS -a Amazon_APGIW_Auditor -a, --auditor-name TEXT Specify which Auditor you want to run by using its name NOT INCLUDING .py. . Use the --list-checks arg to receive a list. Defaults to ALL Auditors -c, --check-name TEXT A specific Check in a specific Auditor you want to run, this correlates to the function name. Use the --list-checks arg to receive a list. Defaults to ALL Checks -d, --delay INTEGER Time in seconds to sleep between Auditors being ran, defaults to 0. Use this argument to avoid rate limiting -o, --outputs TEXT A list of Outputs (files, APIs, databases, ChatOps) to send ElectricEye Findings, specify multiple with additional arguments: -o csv -o postgresql -o slack [default: ocsf_stdout] -of, --output-file TEXT For file outputs such as JSON and CSV, the name of the file, DO NOT SPECIFY .file_type [default: output] -lo, --list-options Lists all valid Output options -lch, --list-checks Prints a table of Auditors, Checks, and Check descriptions to stdout - use this command for help with populating -a (Auditor selection) or -c (Check selection) args -lco, --list-controls Lists all ElectricEye controls - that is to say: the Check Titles - for an Assessment Target -tp, --toml-path TEXT The full path to the TOML file used for configure e.g., ~/path/to/mydir/external_providers.toml. If this value is not provided the default path of ElectricEye/eeauditor/external_providers. toml is used. --help Show this message and exit.
لمزيد من المعلومات، انظر [هنا](#configuring-electricey)، يمكنك قراءة [الأسئلة الشائعة هنا](https://github.com/jonrau1/electriceye/blob/HEAD/docs/faq/FAQ.md)، معلومات عن [المخرجات هنا](https://github.com/jonrau1/electriceye/blob/HEAD/docs/outputs/OUTPUTS.md) أو، إذا كنت ترغب في تحليل أكثر تعمقًا لتدفق التحكم والمفاهيم، راجع [دليل المطور](https://github.com/jonrau1/electriceye/blob/HEAD/docs/new_checks/DEVELOPER_GUIDE.md).
## تكوين ElectricEye
ارجع إلى العناوين الفرعية للحصول على إرشادات الإعداد لكل مزود خدمة سحابية (CSP) أو لكل مزود خدمة برمجية كخدمة (SaaS). انتقل إلى [المخرجات](https://github.com/jonrau1/electriceye/blob/HEAD/docs/outputs/OUTPUTS.md) لتعلم، حسنًا، تعرف على المخرجات والأمثلة.
### مزودو خدمات السحابة العامة
- [لـ Amazon Web Services (AWS)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_AWS.md)
- [لـ Google Cloud Platform (GCP)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_GCP.md)
- [لـ Oracle Cloud Infrastructure](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_OCI.md)
- [لـ Microsoft Azure](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Azure.md)
مزودو خدمات السحابة التالية في خريطة الطريق
- [لـ Alibaba Cloud (*قريبًا*)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_AlibabaCloud.md)
### مزودو البرمجيات كخدمة (SaaS)
- [لـ ServiceNow](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_ServiceNow.md)
- [لـ Microsoft M365](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_M365.md)
- [لـ Salesforce](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Salesforce.md)
- [لـ Snowflake](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Snowflake.md)
مزودو الخدمات البرمجية كخدمة (SaaS) التالية في خريطة الطريق
- [لـ Google Workspaces (*قريبًا*)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Google_Workspaces.md)
## إدارة الأصول السحابية (CAM)
لمزيد من المعلومات حول مفهوم عمليات ومخطط CAM لـ ElectricEye، راجع [وثائق إدارة الأصول](https://github.com/jonrau1/electriceye/blob/HEAD/docs/asset_management/ASSET_MANAGEMENT.md).
## الخدمات والفحوصات المدعومة
في المجموع، هناك:
- **4** مزودو سحابة عامة مدعومون: `AWS` و `GCP` و `OCI` و `Azure`
- **4** مزودو خدمات برمجية كخدمة (SaaS) مدعومون: `ServiceNow` و `M365` و `Salesforce` و `Snowflake`
- **1196** فحصًا من ElectricEye
- **179** مكون أصول سحابية وبرمجية كخدمة (SaaS) مدعومة عبر جميع الخدمات
- **135** مدققًا من ElectricEye
تم نقل جداول الخدمات والفحوصات المدعومة إلى وثائق الإعداد الخاصة بكل مزود والمرتبطة أعلاه في [تكوين ElectricEye](#configuring-electriceye).
## ElectricEye على Docker
بعد تكوين ElectricEye لبيئتك (بيئاتك) باستخدام [تكوين TOML](https://github.com/jonrau1/electriceye/blob/HEAD/eeauditor/external_providers.toml)، يمكنك بدلاً من ذلك استخدام Docker لتشغيل ElectricEye التي تحتوي على صور يتم صيانتها على ECR Public وOracle Cloud Container Registry (OCR) وDocker Hub. يمكنك قراءة المزيد عن أنشطة ضمان الأمان [هنا](#repository-security)، في المستقبل سيتم استخدام المزيد من السجلات وتوقيع الصور.
### بناء الصور
إذا كنت تفضل بناء صورتك الخاصة، استخدم الأوامر التالية. تأكد من إضافة `sudo` إذا لم يكن لديك مستخدم `docker` مهيأ بشكل صحيح في نظامك.```bash
git clone https://github.com/jonrau1/ElectricEye.git
cd ElectricEye
docker build -t electriceye:local .
من هنا يمكنك الدفع إلى مستودعك المفضل، تأكد من تغيير الوسم من local إلى الوسم الذي يتوقعه مستودعك أو أي وسم تفضله. ربما فقط latest، مثل سيجما جرايندست جيغاتشاد العشاري الملياردير؟
يمكنك أيضًا سحب صورة ElectricEye من المستودعات المختلفة، سيتم دائمًا دفع وسم latest للصورة جنبًا إلى جنب مع صورة موسومة بـ SHA hash الخاصة بسير العمل ${{ github.sha }} ويمكن عرضها داخل سير عمل GitHub Action المختلفة في خطوة Print Image.
لسحب الصور من المستودعات المختلفة، استخدم هذه الأوامر، يمكنك استبدال latest كما تراه مناسبًا. تظل التبعيات داخل ElectricEye مستقرة نسبيًا حتى يتم إضافة سحابة جديدة أو تكامل رئيسي. تحقق من Pull Requests لمزيد من المعلومات للتأكد.
Amazon Elastic Container Registry (ECR) Public: docker pull public.ecr.aws/t4o3u7t2/electriceye:latest
Oracle Cloud Infrastructure Registry (OCIR): docker pull iad.ocir.io/idudmagprsdi/electriceye:latest
Docker Hub: docker pull electriceye/electriceye
عند التفاعل مع مخازن بيانات اعتماد AWS مثل AWS Systems Manager وAWS Secrets Manager والمخرجات مثل AWS Security وللانضمام إلى الدور المحدد في معامل aws_electric_eye_iam_role_name في TOML، يستخدم ElectricEye جلسة Boto3 الحالية (الافتراضية) الخاصة بك والتي تُشتق من بيانات اعتمادك.
تشغيل ElectricEye من بنية AWS تحتوي على دور مرفق، أو التشغيل من موقع مع بيانات اعتماد aws cli مثبتة بالفعل، يتم التعامل مع هذا بشفافية.
عند استخدام Docker، ستحتاج إلى توفير متغيرات البيئة مباشرة إلى الحاوية.
تأكد من أنه إذا كنت ستستخدم AWS SSM (ssm:GetParameter) أو AWS Secrets Manager (secretsmanager:GetSecretValue) أو AWS Security Hub (securityhub:BatchImportFindings) أو Amazon SQS (sqs:SendMessage) و/أو Amazon DynamoDB (dynamodb:PutItem) لبيانات الاعتماد والمخرجات، فإن لديك الأذونات المناسبة! على الأرجح ستحتاج أيضًا إلى kms:Decrypt اعتمادًا على ما إذا كنت تستخدم AWS Key Management Service (KMS) Customer-managed Keys (CMKs) لتشفير أسرارك/معاملاتك.
ستحتاج إلى sts:AssumeRole للانضمام إلى الدور المحدد في معامل aws_electric_eye_iam_role_name في TOML.
ستحتاج إلى تمرير منطقة AWS الخاصة بك ومفتاح وصول AWS ومفتاح وصول سري لـ AWS. إذا كنت لا تستخدم مستخدم IAM AWS مع مفاتيح وصول، فستحتاج أيضًا إلى توفير رمز جلسة AWS يتم إنتاجه بواسطة بيانات اعتماد مؤقتة مثل دور IAM أو ملف تعريف مثيل EC2.
إذا كنت تستخدم مستخدمًا، فانتقل إلى الخطوة التالية، ستحتاج إلى أن تكون بيانات اعتمادك جاهزة للنسخ. إذا كنت تستخدم ملف تعريف مثيل EC2 أو دور IAM إضافي ستنضم إليه، فتأكد من تثبيت jq: apt install -y jq أو yum install jq.
- لانضمام إلى دور IAM واسترداد بيانات الاعتماد المؤقتة```bash AWS_ACCOUNT_ID=$(aws sts get-caller-identity | jq -r '.Account') MY_ROLE_NAME='iam-role-name' TEMP_CREDS=$(aws sts assume-role --role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$MY_ROLE_NAME --role-session-name ElectriceyeForDocker) AWS_ACCESS_KEY=$(echo $TEMP_CREDS | jq -r '.Credentials.AccessKeyId') AWS_SECRET_KEY=$(echo $TEMP_CREDS | jq -r '.Credentials.SecretAccessKey') AWS_SESSION_TOKEN=$(echo $TEMP_CREDS | jq -r '.Credentials.SessionToken') MY_REGION='aws-region-here'
> - لاسترداد بيانات الاعتماد المؤقتة لـ EC2 Instance Profile باستخدام Instance Metadata Service Version 1```bash
MY_INSTANCE_PROFILE_ROLE_NAME="my_ec2_role_name"
IMDS_SECURITY_CREDENTIALS=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/$MY_INSTANCE_PROFILE_ROLE_NAME)
MY_REGION='my_aws_region'
AWS_ACCESS_KEY=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.AccessKeyId')
AWS_SECRET_KEY=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.SecretAccessKey')
AWS_SESSION_TOKEN=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.Token')
- لاسترداد بيانات الاعتماد المؤقتة لملف تعريف مثيل EC2 باستخدام Instance Metadata Service Version 2```bash MY_INSTANCE_PROFILE_ROLE_NAME="my_ec2_role_name" TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300") IMDSV2_SECURITY_CREDENTIALS=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/$MY_INSTANCE_PROFILE_ROLE_NAME) MY_REGION='my_aws_region' AWS_ACCESS_KEY=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.AccessKeyId') AWS_SECRET_KEY=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.SecretAccessKey') AWS_SESSION_TOKEN=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.Token')
يمكنك أيضًا استرداد بيانات الاعتماد المؤقتة من Federated identities، اقرأ المزيد على الروابط الخاصة بـ [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) أو [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) أو راجع وثائق بيانات الاعتماد المؤقتة الأكبر [هنا](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerole).
### تشغيل حاوية ElectricEye
قم بتشغيل ElectricEye باستخدام الأوامر التالية، مع تمرير بيانات اعتماد الجلسة الخاصة بك. قم بتغيير الأوامر داخل الحاوية لتقييم بيئات مختلفة باستخدام ElectricEye. قم بتغيير قيمة `/path/to/my/external_providers.toml` إلى المسار الصحيح لديك، مثل `~/electriceye-docker/external_providers.toml` على سبيل المثال.
**ملاحظة هامة** إذا كنت تستخدم مستخدم AWS IAM مع مفاتيح الوصول (Access Keys)، فقم بتضمين القيم بشكل ثابت واحذف قيمة `AWS_SESSION_TOKEN`!! إذا كنت تقوم بتشغيل هذه الحاوية على خدمة حاويات/Kubernetes في AWS، فلن تحتاج إلى تقديم هذه القيم!```bash
sudo docker run \
--user eeuser:eeuser \
-e AWS_DEFAULT_REGION=$MY_REGION \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY \
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
-v /path/to/my/external_providers.toml:/eeauditor/external_providers.toml \
electriceye /bin/bash -c "python3 eeauditor/controller.py --help"
لحفظ ملف إخراج محلي مثل -o json. -o cam-json، -o csv، أو -o html وما إلى ذلك، تأكد من تحديد اسم ملف يبدأ بـ /eeauditor/ لأن المستخدم eeuser داخل صورة Docker لديه صلاحيات فقط داخل هذا الدليل.
لإزالة الملفات لا يمكنك استخدام docker cp ولكن يمكنك إرسال الملف إلى واجهات برمجة تطبيقات بعيدة تتحكم فيها عن طريق ترميز base64 للإخراج أو يمكنك استخدام الجلسة مع أذونات AWS S3 لتحميل الملف إلى S3.
إذا كنت تقوم بتقييم Oracle Cloud أو Google Cloud Platform، سيتم تحميل بيانات اعتمادك محليًا ويمكنك التحميل إلى حاويات Oracle Object Storage أو Google Cloud Storage، على التوالي.```bash
BUCKET_NAME="your_s3_bucket_you_have_access_to"
sudo docker run
--user eeuser:eeuser
-e AWS_DEFAULT_REGION=$MY_REGION
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN
-v /path/to/my/external_providers.toml:/eeauditor/external_providers.toml
electriceye /bin/bash -c "python3 eeauditor/controller.py -t AWS -o json --output-file /eeauditor/my-aws-findings
&& aws s3 cp /eeauditor/my-aws-findings.json s3://$BUCKET_NAME/eefindings.json"
لمزيد من معلومات التكوين، تأكد من الرجوع إلى تعليمات الإعداد الخاصة بكل مزود.
## المساهمة
يرجى الرجوع إلى [دليل المطور](https://github.com/jonrau1/electriceye/blob/HEAD/docs/new_checks/DEVELOPER_GUIDE.md) للحصول على إرشادات حول كيفية إنتاج فحوصات جديدة. بالنسبة لدعم SaaS و CSP الجدد، يرجى فتح مشكلة (Issue).
لا تتردد في فتح طلبات السحب (PRs) والمشاكل (Issues) حيث تتم مواجهة أخطاء في بناء الجملة والقواعد والتنفيذ في قاعدة الشفرة.
### ElectricEye معروض للبيع
تواصل معي على [email protected] (ليس لدي أداة SaaS فعلية) وسأبيع بكل سرور حقوق هذه المستودع وسأقوم بحذفه وأعطيك جميع النطاقات وحتى حسابات AWS التي أستخدمها خلف الكواليس.
### المساهمون الأوائل
تحية سريعة للأشخاص الذين استجابوا للنداء مبكرًا لاختبار ElectricEye وجعلها ليست "شطيرة-قذرة".
##### اختبار ألفا:
- [Mark Yancey](https://www.linkedin.com/in/mark-yancey-jr-aspiring-cloud-security-professional-a52bb9126/)
##### اختبار بيتا:
- [Martin Klie](https://www.linkedin.com/in/martin-klie-0600845/)
- [Joel Castillo](https://www.linkedin.com/in/joelbcastillo/)
- [Juhi Gupta](https://www.linkedin.com/in/juhi-gupta-09/)
- [Bulent Yidliz](https://www.linkedin.com/in/bulent-yildiz/)
- [Guillermo Ojeda](https://www.linkedin.com/in/guillermoojeda/)
- [Dhilip Anand Shivaji](https://www.linkedin.com/in/dhilipanand/)
- [Arek Bar](https://www.linkedin.com/in/arkadiuszbar/)
- [Ryan Russel](https://www.linkedin.com/in/pioneerrussell/)
- [Jonathan Nguyen](https://www.linkedin.com/in/jonanguyen/)
- [Jody Brazil](https://www.linkedin.com/in/jodybrazil/)
- [Dylan Shields](https://www.linkedin.com/in/dylan-shields-6802b1168/)
- [Manuel Leos Rivas](https://www.linkedin.com/in/manuel-lr/)
- [Andrew Alaniz](https://www.linkedin.com/in/andrewdalaniz/)
- [Christopher Childers](https://www.linkedin.com/in/christopher-childers-28950537/)
## الأسئلة الشائعة
تم ذلك بأسلوب أمازون، أي أن أياً من هذه الأسئلة ليست شائعة الإجابة، ومن المفترض أن تساعد مديري المنتجات في معرفة ما إذا كانت أفكارهم جيدة...
ومع ذلك، فإن بعض هذه الأسئلة تُطرح بالفعل. لذا، على الرحب والسعة.
### 1. ما هو ElectricEye؟
ElectricEye هي أداة سطر أوامر (CLI) مكتوبة بلغة Python ولا تتطلب وجود وكيل (agentless)، تقوم بمسح وتقييم موفري الخدمات السحابية (CSPs) وموفري البرامج كخدمة (SaaS) من حيث تكوينات مستوى الخدمة. يقوم ElectricEye بتوليد نتيجة اجتياز أو فشل لكل مورد عبر فحوصات متعددة تتوافق مع أفضل ممارسات إدارة وضعية الأمان بالإضافة إلى فحوصات النظافة الأخرى مثل المرونة، استرداد الكوارث، تحسين الأداء، والمراقبة. يغطي ElectricEye موفري خدمات مشهورين مثل AWS و GCP و ServiceNow والمزيد.
### 2. من يجب أن يستخدم ElectricEye؟
يمكن استخدام ElectricEye من قبل أي شخصية ضمن مؤسسة سحابية في وظائف الأمان أو تكنولوجيا المعلومات مثل (على سبيل المثال لا الحصر) مهندسي الأمان، مهندسي Dev(Sec)Ops، مهندسي SRE/المنصة، المهندسين المعماريين (بمختلف أنواعهم)، محللي الحوكمة/المخاطر/الامتثال، محللي SOC/SecOps، مستشاري السحابة، فرق الأمن الهجومي (الأحمر/الأزرق/الأرجواني)، ومحللي إدارة مخاطر الطرف الثالث. يمكن أيضًا استخدام ElectricEye من قبل عمليات تكنولوجيا المعلومات، محللي إدارة الأعمال التقنية/ITFM، ومحللي استمرارية الأعمال، ومديري الأصول، حيث يوفر ElectricEye إمكانيات إدارة الأصول السحابية الأصلية.
### 3. لماذا يجب على شخص استخدام ElectricEye؟
يجب على أي شخص يريد التأكد من أن موفري السحابة الخاصين به وجميع نطاق خدماتهم مهيأة لتحقيق أفضل نظافة أمان استخدام ElectricEye. يتمتع ElectricEye بأكبر تغطية للخدمات وهو الأداة الوحيدة ذات الاستخدام المزدوج لإدارة وضعية الأمان (SPM) التي تُقدم مجانًا لكل من إدارة وضعية أمان السحابة (CSPM) وإدارة وضعية أمان SaaS (SSPM). يأتي ElectricEye أيضًا مع قدرات مدمجة لكشف الأسرار وإدارة سطح الهجوم الخارجي (EASM) بالإضافة إلى إدارة الأصول السحابية (CAM) مع هيكله الهرمي الخاص لدعم إدارة الأصول والتقارير عبر الحدود السحابية.
### 4. هل ElectricEye أداة CSPM؟
نعم، ElectricEye هي أداة إدارة وضعية أمان السحابة (CSPM)، فهي توفر فحوصات API (بدون وكيل) للبنية التحتية السحابية وتضمن تهيئة الخدمات وفقًا لأفضل الممارسات.
### 5. هل ElectricEye أداة SSPM؟
نعم، ElectricEye هي أداة إدارة وضعية أمان SaaS (SSPM)، فهي توفر فحوصات API (بدون وكيل) لواجهات برمجة تطبيقات موفري SaaS وتضمن تهيئة المستخدمين والخدمات وفقًا لأفضل الممارسات.
### 6. هل ElectricEye أداة CIEM؟
لا، ElectricEye ليست أداة إدارة صلاحيات البنية التحتية السحابية (CIEM). على الرغم من أن ElectricEye يوفر العديد من فحوصات إدارة الهوية والوصول ويقوم بتقييمات لكل مستخدم من حيث MFA، تدوير كلمات المرور، وتقليل الأذونات، إلا أنه ليس أداة CIEM. لا يقوم ElectricEye بتقييم سياسات واسعة عبر وسطاء وموفري وحدود هوية متعددة، كما لا يوفر ElectricEye أي إمكانيات تصحيح أو إدارة صلاحيات في الوقت المناسب (JIT).
### 7. هل ElectricEye أداة SIEM؟
لا، ElectricEye ليست أداة معلومات أمنية وإدارة الأحداث (SIEM). أدوات SIEM تُستخدم لجمع وفهرسة وربط السجلات والأحداث الأمنية وغيرها من البيانات شبه المنظمة والمنظمة لحالات استخدام عمليات الأمان. بينما يمكن إرسال نتائج ElectricEye إلى SIEM، إلا أن ElectricEye ليس SIEM بحد ذاته.
### 8. هل ElectricEye أداة تدقيق / امتثال؟
لا، ElectricEye ليست أداة تدقيق أو امتثال *بشكل مباشر*. على الرغم من أن كل نتيجة يتم ربطها بأطر الامتثال الأمنية الشائعة والمستخدمة مثل NIST CSF v1.1 و AICPA 2020 TSCs، إلا أن ElectricEye يوفر فقط أفضل الجهود في تخطيط الضوابط وليس هو نفسه مدققًا أو مقيمًا مؤهلًا يقوم بتدقيق بيئتك. يمكن استخدام ElectricEye كأداة استعداد أو تجهيز للتدقيق، يمكنك أخذ عينات من النتائج إذا كانت ضوابط البنية التحتية السحابية مهمة لبرنامجك الأمني العام. الضوابط هي إجراءات مضادة تقنية أو إدارية (أي سياسة أو إجراء) مصممة لحماية النتائج المرجوة لبرنامج أمني أو خصوصية. تحمي الضوابط سرية وسلامة وتوفر أنظمة المعلومات. يمكن أن يساعد ElectricEye في تحديد ما إذا كانت تكوينات البنية التحتية السحابية تلبي "روح" الضوابط ولكنه **ليس** نفس الشهادة أو التصديق أو بعض الطقوس الغامضة الأخرى.
### 9. ما هو "الاستعداد للتدقيق"؟
يستخدم ElectricEye مصطلح الاستعداد للتدقيق عند توصيل حالات الاستخدام المقصودة لخرائط أطر الضوابط الخاصة به. يمكن استخدام ElectricEye من قبل مقيمين مؤهلين لتقييم بيئتك، أو يمكن استخدامه من قبلك لتقديم دليل للمقيمين، ولكن أفضل حالة استخدام له هي التحضير أو رؤية استعدادك للتدقيق. ومع ذلك، يجب أن يكون لديك بالفعل ضوابط داخلية محددة واستراتيجية إدارة تكوين خاصة بك عندما يتعلق الأمر بتنفيذ الضوابط. على سبيل المثال، قد تقرر أن تشفير جميع قوائم انتظار SQS باستخدام مفاتيح KMS CMK من AWS يكلف الكثير من المال ولا يقدم فوائد أمنية كثيرة، لذلك عليك القيام بهذا "العمل الأساسي" قبل استخدام ElectricEye لدعم عمليات GRC الداخلية الخاصة بك.
### 10. ما أطر الضوابط التي يدعمها ElectricEye؟
يتم دائمًا تحديث أطر الضوابط التي يدعمها ElectricEye مع توفر إصدارات وخرائط أحدث، اعتبارًا من 21 يونيو 2024، يتم دعم المعايير والأطر والمتطلبات القانونية التالية.
- إطار عمل الأمن السيبراني NIST الإصدار 1.1
- المنشور الخاص NIST 800-53 المراجعة 4
- المنشور الخاص NIST 800-53 المراجعة 5
- المنشور الخاص NIST 800-171 المراجعة 2
- معايير خدمة الثقة (TSC) الصادرة عن المعهد الأمريكي للمحاسبين القانونيين المعتمدين (AICPA) 2017/2020 لـ SOC 2
- ISO/IEC 27001:2013/2017 الملحق أ
- ISO/IEC 27001:2022 الملحق أ
- ضوابط الأمان الحرجة CIS الإصدار 8
- مصفوفة ضوابط السحابة (CCM) الصادرة عن تحالف أمان السحابة (CSA) الإصدار 4.0
- نموذج نضج الأمن السيبراني (CMMC) التابع لوزارة الدفاع الأمريكية الإصدار 2.0
- سياسة أمن نظام معلومات العدالة الجنائية (CJIS) لمكتب التحقيقات الفيدرالي (FBI) الإصدار 5.9
- أساسيات الأمن السيبراني Cyber Essentials الصادرة عن المركز الوطني للأمن السيبراني (NCSC) في المملكة المتحدة الإصدار 2.2
- إطار التقييم الصادر عن المركز الوطني للأمن السيبراني (NCSC) في المملكة المتحدة الإصدار 3.1
- "قاعدة الأمان" HIPAA قانون الولايات المتحدة 45 CFR الجزء 164 الفرع ج
- أداة تقييم الأمن السيبراني (CAT) الصادرة عن مجلس فحص المؤسسات المالية الفيدرالية (FFIEC)
- معيار حماية البنية التحتية الحرجة (CIP) الصادر عن مؤسسة موثوقية الكهرباء في أمريكا الشمالية (NERC)
- دليل أمن المعلومات النيوزيلندي الإصدار 3.5
- سلسلة 23 NYCRR الجزء 500 الصادرة عن إدارة الخدمات المالية في نيويورك (NYDFS)؛ المعروفة باسم NYDFS500
- ملف المخاطر الحرجة الصادر عن معهد المخاطر الحرجة (CRI) الإصدار 1.2
- توقعات الإشراف على المرونة السيبرانية (CROEs) الصادرة عن البنك المركزي الأوروبي (ECB)
- إطار ضوابط الأمان من Equifax الإصدار 1.0
- معيار أمان بيانات صناعة بطاقات الدفع (PCI DSS) الإصدار 4.0
- إطار عمل MITRE ATT&CK للمؤسسات
- معيار CIS لقواعد بيانات AWS الإصدار 1.0
- معيار CIS لأساسيات Amazon Web Services الإصدار 1.5
- معيار CIS لأساسيات Amazon Web Services الإصدار 2.0
- معيار CIS لأساسيات Amazon Web Services الإصدار 3.0
- معيار CIS لأساسيات Microsoft Azure الإصدار 2.0.0
- معيار CIS لأساسيات Snowflake الإصدار 1.0.0
- معيار CIS لأساسيات Google Cloud Platform الإصدار 2.0
## أمان المستودع
بما أن ElectricEye هي أداة أمان، فمن المنطقي ضمان مستوى عالٍ من أمان المكونات. لهذا الغرض، تم تكوين الأدوات التالية للاستخدام. راجع شارات البناء والإجراءات للحصول على معلومات مفصلة حول كل تشغيل.
#### [`Syft`](https://github.com/anchore/syft)
انظر [النتائج هنا](https://github.com/jonrau1/ElectricEye/actions/workflows/sbom-vulns.yml)!
أداة سطر أوامر ومكتبة Go لتوليد قائمة مكونات البرامج (SBOM) من صور الحاويات وأنظمة الملفات.
يستخدم ElectricEye Syft لبناء SBOM من صورة Docker المبنية لـ ElectricEye بتنسيق CycloneDX وتحميلها كأثر لكل عملية تشغيل ناجحة في GitHub Action.
#### [`Grype`](https://github.com/anchore/grype)
انظر [النتائج هنا](https://github.com/jonrau1/ElectricEye/actions/workflows/sbom-vulns.yml)!
ماسح ضوئي للثغرات في صور الحاويات وأنظمة الملفات. قم بتثبيت الملف الثنائي بسهولة لتجربته. يعمل مع Syft، أداة SBOM القوية لصور الحاويات وأنظمة الملفات.
يمرر ElectricEye SBOM بصيغة CycloneDX من `Syft` إلى `Grype` لإجراء فحوصات الثغرات على صورة Docker المبنية التي تجمع جميع تبعيات Python والطرق المضمنة داخل الصورة الأصلية `alpine` التي يستخدمها ElectricEye. يتم كسر البناءات التي تحتوي على ثغرات حرجة تلقائيًا. يتم نشر النتائج في GitHub Action وتحميلها بصيغة `sarif` إلى GitHub Security.
#### [`Dependabot`](https://github.com/dependabot)
تنبيهات Dependabot تخبرك أن شفرتك تعتمد على حزمة غير آمنة. إذا كانت شفرتك تعتمد على حزمة بها ثغرة أمنية، فقد يتسبب ذلك في مجموعة من المشاكل لمشروعك أو للأشخاص الذين يستخدمونه. يجب عليك الترقية إلى إصدار آمن من الحزمة في أقرب وقت ممكن. إذا كانت شفرتك تستخدم برامج ضارة، فستحتاج إلى استبدال الحزمة ببديل آمن.
يستخدم ElectricEye Dependabot كأداة تحليل تكوين البرامج (SCA) لتشغيل فحوصات يومية وفتح طلبات سحب في حالة أن تبعية Docker أو Python أو GitHub-Action تتطلب تصحيحًا أمنيًا.
#### [`CodeQL`](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
انظر [النتائج هنا](https://github.com/jonrau1/ElectricEye/actions/workflows/codeql-analysis.yml)!
CodeQL هو محرك تحليل الشفرة الذي طورته GitHub لأتمتة الفحوصات الأمنية. يمكنك تحليل شفرتك باستخدام CodeQL وعرض النتائج كتنبيهات فحص شفرة.
يستخدم ElectricEye `codeql` كأداة اختبار أمان تطبيقات ثابتة (SAST) لفحص جميع المدققين (Auditors) المكتوبين بلغة Python، كما يبحث `codeql` عن الأسرار في الشفرة. يتم تشغيله عند الدفع (push) ووفقًا لجدول زمني.
## الترخيص
هذه المكتبة مرخصة بموجب ترخيص Apache-2.0. راجع ملف LICENSE.