
Scanner de postura de segurança multi-nuvem que audita AWS, Azure, GCP e OCI em busca de configurações incorretas, violações de conformidade (HIPAA, PCI, CIS) e riscos de segurança por meio de verificações automatizadas baseadas em plugins.
$ 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
O CloudSploit by Aqua é um projeto de código aberto projetado para permitir a detecção de riscos de segurança em contas de infraestrutura em nuvem, incluindo: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) e GitHub. Estes scripts foram projetados para retornar uma série de possíveis configurações incorretas e riscos de segurança.
O CloudSploit está disponível em duas opções de implantação:
Siga as instruções abaixo para implantar a versão de código aberto do CloudSploit na sua máquina em apenas alguns passos simples.
Uma versão comercial do CloudSploit hospedada no Aqua Wave. Experimente o Aqua Wave hoje mesmo!
Certifique-se de que o NodeJS esteja instalado. Caso contrário, instale-o aqui.
$ git clone [email protected]:cloudsploit/scans.git
$ npm install
O CloudSploit requer permissão somente leitura para sua conta de nuvem. Siga os guias abaixo para provisionar esse acesso:
Para AWS, você pode executar o CloudSploit diretamente e ele detectará as credenciais usando a cadeia de credenciais padrão da AWS.
O arquivo de configuração do CloudSploit permite que você passe credenciais do provedor de nuvem por:
Comece copiando o arquivo de configuração de exemplo:
$ cp config_example.js config.js
Edite o arquivo de configuração descomentando as seções relevantes para o provedor de nuvem que você está testando. Cada nuvem tem tanto uma opção credential_file quanto opções inline. Por exemplo:
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 || ''
}
Se você usar a opção credential_file, aponte para um arquivo no seu sistema de arquivos que siga o formato correto para a nuvem que está usando.
{
"accessKeyId": "YOURACCESSKEY",
"secretAccessKey": "YOURSECRETKEY"
}
{
"ApplicationID": "YOURAZUREAPPLICATIONID",
"KeyValue": "YOURAZUREKEYVALUE",
"DirectoryID": "YOURAZUREDIRECTORYID",
"SubscriptionID": "YOURAZURESUBSCRIPTIONID"
}
Nota: Para GCP, você gera um arquivo JSON diretamente do console GCP, que não deve ser editado.
{
"type": "service_account",
"project": "GCPPROJECTNAME",
"client_email": "GCPCLIENTEMAIL",
"private_key": "GCPPRIVATEKEY"
}
{
"tenancyId": "YOURORACLETENANCYID",
"compartmentId": "YOURORACLECOMPARTMENTID",
"userId": "YOURORACLEUSERID",
"keyFingerprint": "YOURORACLEKEYFINGERPRINT",
"keyValue": "YOURORACLEKEYVALUE",
}
O CloudSploit suporta a passagem de variáveis de ambiente, mas você deve primeiro descomentar a seção do seu arquivo config.js relevante para o provedor de nuvem que está sendo verificado.
Você pode então passar as variáveis listadas em cada seção. Por exemplo, para 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 || '',
}
Para executar uma varredura padrão, mostrando todas as saídas e resultados, basta executar:
$ ./index.js
O CloudSploit suporta muitas opções para personalizar o tempo de execução. Algumas opções populares incluem:
--govcloud--china--collection=file.json--ignore-ok--exit-code
--console=textVeja Formatos de Saída abaixo para mais opções de saída.
$ ./index.js -h