
أداة مسح أمني متعددة السحابات تقوم بتدقيق AWS و Azure و GCP و OCI لاكتشاف التكوينات الخاطئة وانتهاكات الامتثال (HIPAA و PCI و CIS) والمخاطر الأمنية عبر فحوصات آلية قائمة على الإضافات.
$ git clone https://github.com/aquasecurity/cloudsploit.git
$ cd cloudsploit
$ npm install
$ ./index.js -h
$ git clone https://github.com/aquasecurity/cloudsploit.git
$ cd cloudsploit
$ docker build . -t cloudsploit:0.0.1
$ docker run cloudsploit:0.0.1 -h
$ docker run -e AWS_ACCESS_KEY_ID=XX -e AWS_SECRET_ACCESS_KEY=YY cloudsploit:0.0.1 --compliance=pci
CloudSploit من Aqua هو مشروع مفتوح المصدر مصمم للكشف عن المخاطر الأمنية في حسابات البنية التحتية السحابية، بما في ذلك: أمازون ويب سيرفيسز (AWS)، مايكروسوفت أزور (Azure)، منصة جوجل السحابية (GCP)، البنية التحتية السحابية من أوراكل (OCI)، وGitHub. تهدف هذه البرامج النصية إلى إرجاع سلسلة من التكوينات الخاطئة المحتملة والمخاطر الأمنية.
يتوفر CloudSploit بخيارين للنشر:
اتبع التعليمات أدناه لنشر الإصدار مفتوح المصدر من CloudSploit على جهازك في بضع خطوات بسيطة.
نسخة تجارية من CloudSploit مستضافة في Aqua Wave. جرّب Aqua Wave اليوم!
تأكد من تثبيت NodeJS. إذا لم يكن مثبتاً، قم بتثبيته من هنا.
$ git clone [email protected]:cloudsploit/scans.git
$ npm install
يتطلب CloudSploit صلاحيات قراءة فقط لحسابك السحابي. اتبع الأدلة أدناه لتوفير هذا الوصول:
بالنسبة لـ AWS، يمكنك تشغيل CloudSploit مباشرة وسيكتشف بيانات الاعتماد باستخدام سلسلة بيانات الاعتماد الافتراضية لـ AWS.
يتيح لك ملف تكوين CloudSploit تمرير بيانات اعتماد مزود السحابة عن طريق:
ابدأ بنسخ ملف التكوين النموذجي:
$ cp config_example.js config.js
قم بتحرير ملف التكوين عن طريق إلغاء تعليق الأقسام ذات الصلة بمزود السحابة الذي تختبره. كل سحابة لديها خيار credential_file، بالإضافة إلى خيارات مضمنة. على سبيل المثال:
azure: {
// OPTION 1: If using a credential JSON file, enter the path below
// credential_file: '/path/to/file.json',
// OPTION 2: If using hard-coded credentials, enter them below
// application_id: process.env.AZURE_APPLICATION_ID || '',
// key_value: process.env.AZURE_KEY_VALUE || '',
// directory_id: process.env.AZURE_DIRECTORY_ID || '',
// subscription_id: process.env.AZURE_SUBSCRIPTION_ID || ''
}
إذا استخدمت خيار credential_file، فوجه إلى ملف في نظام الملفات الخاص بك يتبع التنسيق الصحيح للسحابة التي تستخدمها.
{
"accessKeyId": "YOURACCESSKEY",
"secretAccessKey": "YOURSECRETKEY"
}
{
"ApplicationID": "YOURAZUREAPPLICATIONID",
"KeyValue": "YOURAZUREKEYVALUE",
"DirectoryID": "YOURAZUREDIRECTORYID",
"SubscriptionID": "YOURAZURESUBSCRIPTIONID"
}
ملاحظة: بالنسبة لـ GCP، تقوم بإنشاء ملف JSON مباشرة من وحدة تحكم GCP، والذي لا يجب تعديله.
{
"type": "service_account",
"project": "GCPPROJECTNAME",
"client_email": "GCPCLIENTEMAIL",
"private_key": "GCPPRIVATEKEY"
}
{
"tenancyId": "YOURORACLETENANCYID",
"compartmentId": "YOURORACLECOMPARTMENTID",
"userId": "YOURORACLEUSERID",
"keyFingerprint": "YOURORACLEKEYFINGERPRINT",
"keyValue": "YOURORACLEKEYVALUE",
}
يدعم CloudSploit تمرير متغيرات البيئة، لكن يجب أولاً إلغاء تعليق القسم الخاص بملف config.js ذي الصلة بمزود السحابة الذي يتم فحصه.
يمكنك بعد ذلك تمرير المتغيرات المدرجة في كل قسم. على سبيل المثال، بالنسبة لـ AWS:
{
access_key: process.env.AWS_ACCESS_KEY_ID || '',
secret_access_key: process.env.AWS_SECRET_ACCESS_KEY || '',
session_token: process.env.AWS_SESSION_TOKEN || '',
}
لتشغيل فحص قياسي يعرض جميع المخرجات والنتائج، ما عليك سوى تشغيل:
$ ./index.js
يدعم CloudSploit العديد من الخيارات لتخصيص وقت التشغيل. بعض الخيارات الشائعة تشمل:
--govcloud--china--collection=file.json--ignore-ok--exit-code
--console=textانظر تنسيقات الإخراج أدناه لمزيد من خيارات الإخراج.
$ ./index.js -h
_____ _ _ _____ _ _ _
/ ____| | | |/ ____| | | (_) |
| | | | ___ _ _ __| | (___ _ __ | | ___ _| |_
| | | |/ _ \| | | |/ _` |\___ \| '_ \| |/ _ \| | __|
| |____| | (_) | |_| | (_| |____) | |_) | | (_) | | |_
\_____|_|\___/ \__,_|\__,_|_____/| .__/|_|\___/|_|\__|
| |
|_|
CloudSploit by Aqua Security, Ltd.
Cloud security auditing for AWS, Azure, GCP, Oracle, and GitHub
usage: index.js [-h] --config CONFIG [--compliance {hipaa,cis,cis1,cis2,pci}] [--plugin PLUGIN] [--govcloud] [--china] [--csv CSV] [--json JSON] [--junit JUNIT]
[--table] [--console {none,text,table}] [--collection COLLECTION] [--ignore-ok] [--exit-code] [--skip-paginate] [--suppress SUPPRESS]