
Многооблачный сканер безопасности, который проверяет 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 — это проект с открытым исходным кодом, предназначенный для обнаружения рисков безопасности в облачных инфраструктурных учетных записях, включая: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (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: {
// ВАРИАНТ 1: Если используется файл JSON с учетными данными, укажите путь ниже
// credential_file: '/path/to/file.json',
// ВАРИАНТ 2: Если используются жестко закодированные учетные данные, укажите их ниже
// 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