
Cloud Security Suite - Outil tout-en-un pour auditer la posture de sécurité des infrastructures AWS/GCP/Azure.
usage: cs.py [-h] -env {aws,gcp,azure,digitalocean} -aip AUDIT_IP -u USER_NAME -pem
PEM_FILE [-p] [-pId PROJECT_ID] [-az_u AZURE_USER]
[-az_p AZURE_PASS] [-o OUTPUT] [-w] [-n NUMBER]
ceci permet d'obtenir l'adresse IP pour l'audit lynis uniquement
arguments optionnels:
-h, --help affiche ce message d'aide et quitte
-env {aws,gcp,azure,digitalocean}, --environment {aws,gcp,azure,digitalocean}
Le cloud sur lequel la suite de tests doit être exécutée
-aip AUDIT_IP, --audit_ip AUDIT_IP
L'IP pour laquelle l'audit lynis doit être effectué .... par
défaut essaie root/Administrator si le nom d'utilisateur n'est pas fourni
-u USER_NAME, --user_name USER_NAME
Le nom d'utilisateur de l'utilisateur à connecter, pour un
utilisateur spécifique
-pem PEM_FILE, --pem_file PEM_FILE
Le fichier pem pour accéder à l'instance AWS
-p, --password invite de mot de passe masqué
-pId PROJECT_ID, --project_id PROJECT_ID
ID du projet pour lequel l'audit GCP doit être exécuté. Peut être
récupéré en utilisant `gcloud projects list`
-az_u AZURE_USER, --azure_user AZURE_USER
nom d'utilisateur du compte Azure, utilisé optionnellement si vous souhaitez
exécuter l'audit Azure sans interaction utilisateur.
-az_p AZURE_PASS, --azure_pass AZURE_PASS
mot de passe du compte Azure, utilisé optionnellement si vous souhaitez
exécuter l'audit Azure sans interaction utilisateur.
-o OUTPUT, --output OUTPUT
écrit un journal au format JSON d'un audit, idéal pour
la consommation dans des SIEM comme ELK et Splunk. Par défaut
cs-audit.log
-w, --wipe rm -rf reports/ avant d'exécuter un audit
-n, --number Conserver le nombre de rapports à stocker pour un
environnement et un utilisateur/projet donnés.
(afin d'éviter de interférer avec les bibliothèques python déjà installées)
git clone https://github.com/SecurityFTW/cs-suite.git && cd cs-suite/pip install virtualenvvirtualenv -p python2.7 venvsource venv/bin/activatepip install -r requirements.txtpython cs.py --helparn:aws:iam::aws:policy/ReadOnlyAccessbrew install awscli pour OSXaws configurecs-suite/tools/G-Scout/keyfile.jsongcloud initbrew install azaz login, vous devriez voir votre type d'abonnement si cela a réussi, similaire à la réponse ci-dessous :[
{
"cloudName": "AzureCloud",
"id": "xxxxx-5595-4da5-bc27-xxxeeee",
"isDefault": true,
"name": "Free Trial",
"state": "Enabled",
"tenantId": "xxxxx-18e9-41a4-961b-xxxxx",
"user": {
"name": "[email protected]",
"type": "user"
}
}
]
export DO_KEY=*********************
export DO_ACCESS_KEY=*******************
export DO_SECRET_KEY=****************************
Pour exécuter un audit AWS - python cs.py -env aws
Pour exécuter un audit GCP - python cs.py -env gcp -pId <nom_du_projet>
Pour exécuter un audit Azure - python cs.py -env azure
Pour exécuter un audit DigitalOcean - python cs.py -env digitalocean
Le rapport final sera disponible dans le répertoire reports
Le rapport final d'audit AWS ressemble à ceci :


Créer un répertoire local aws avec les fichiers credentials et config
Le fichier config ressemble à ceci
$ cat aws/config
[default]
output = json
region = us-east-1
credentials ressemble à ceci$ cat aws/credentials
[default]
aws_access_key_id = XXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXX
Remarque : Cet outil nécessite la politique IAM arn:aws:iam::aws:policy/ReadOnlyAccess
docker run -v `pwd`/aws:/root/.aws -v `pwd`/reports:/app/reports securityftw/cs-suite -env aws