
Scanner de posture de sécurité multi-cloud qui audite AWS, Azure, GCP et OCI pour les mauvaises configurations, les violations de conformité (HIPAA, PCI, CIS) et les risques de sécurité via des vérifications automatisées basées sur des 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
CloudSploit par Aqua est un projet open-source conçu pour permettre la détection des risques de sécurité dans les comptes d'infrastructure cloud, notamment : Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) et GitHub. Ces scripts sont conçus pour renvoyer une série de configurations erronées potentielles et de risques de sécurité.
CloudSploit est disponible en deux options de déploiement :
Suivez les instructions ci-dessous pour déployer la version open-source de CloudSploit sur votre machine en quelques étapes simples.
Une version commerciale de CloudSploit hébergée chez Aqua Wave. Essayez Aqua Wave dès aujourd'hui !
Assurez-vous que NodeJS est installé. Sinon, installez-le à partir d'ici.
$ git clone [email protected]:cloudsploit/scans.git
$ npm install
CloudSploit nécessite une permission en lecture seule sur votre compte cloud. Suivez les guides ci-dessous pour provisionner cet accès :
Pour AWS, vous pouvez exécuter CloudSploit directement et il détectera les identifiants en utilisant la chaîne d'identification AWS par défaut.
Le fichier de configuration CloudSploit vous permet de transmettre les identifiants du fournisseur cloud par :
Commencez par copier le fichier de configuration d'exemple :
$ cp config_example.js config.js
Modifiez le fichier de configuration en décommentant les sections pertinentes pour le fournisseur cloud que vous testez. Chaque cloud possède à la fois une option credential_file et des options en ligne. Par exemple :
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 || ''
}
Si vous utilisez l'option credential_file, pointez vers un fichier de votre système de fichiers qui suit le format correct pour le cloud que vous utilisez.
{
"accessKeyId": "YOURACCESSKEY",
"secretAccessKey": "YOURSECRETKEY"
}
{
"ApplicationID": "YOURAZUREAPPLICATIONID",
"KeyValue": "YOURAZUREKEYVALUE",
"DirectoryID": "YOURAZUREDIRECTORYID",
"SubscriptionID": "YOURAZURESUBSCRIPTIONID"
}
Remarque : Pour GCP, vous générez un fichier JSON directement depuis la console GCP, que vous ne devez pas modifier.
{
"type": "service_account",
"project": "GCPPROJECTNAME",
"client_email": "GCPCLIENTEMAIL",
"private_key": "GCPPRIVATEKEY"
}
{
"tenancyId": "YOURORACLETENANCYID",
"compartmentId": "YOURORACLECOMPARTMENTID",
"userId": "YOURORACLEUSERID",
"keyFingerprint": "YOURORACLEKEYFINGERPRINT",
"keyValue": "YOURORACLEKEYVALUE",
}
CloudSploit prend en charge le passage de variables d'environnement, mais vous devez d'abord décommenter la section de votre fichier config.js relative au fournisseur cloud scanné.
Vous pouvez ensuite transmettre les variables listées dans chaque section. Par exemple, pour 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 || '',
}
Pour exécuter une analyse standard, affichant toutes les sorties et résultats, exécutez simplement :
$ ./index.js
CloudSploit prend en charge de nombreuses options pour personnaliser l'exécution. Parmi les options populaires :
--govcloud--china--collection=file.json--ignore-ok--exit-code
--console=textVoir Formats de sortie ci-dessous pour plus d'options de sortie.
$ ./index.js -h