CloudMapper hilft Ihnen, Ihre Amazon Web Services (AWS)-Umgebungen zu analysieren.
Hinweis Die Netzwerkvisualisierungsfunktion (Befehl prepare) wird nicht mehr weiterentwickelt.
CloudMapper hilft Ihnen bei der Analyse Ihrer Amazon Web Services (AWS)-Umgebungen. Der ursprüngliche Zweck war die Erstellung von Netzwerkdiagrammen und deren Anzeige in Ihrem Browser (Funktion nicht mehr gepflegt). Es enthält jetzt viel mehr Funktionen, einschließlich der Überprüfung auf Sicherheitsprobleme.
audit: Überprüfung auf potenzielle Fehlkonfigurationen.collect: Sammelt Metadaten über ein Konto. Weitere Details hier.find_admins: Untersucht IAM-Richtlinien, um Administratoren und Rollen oder Prinzipalen mit bestimmten Berechtigungen zu identifizieren. Weitere Details hier.find_unused: Sucht nach ungenutzten Ressourcen im Konto. Findet ungenutzte Sicherheitsgruppen, elastische IPs, Netzwerkschnittstellen, Volumes und elastische Load Balancer.prepare/webserver: Siehe Netzwerkvisualisierungenpublic: Findet öffentliche Hosts und Portbereiche. Weitere Details hier.sg_ips: Ruft GeoIP-Informationen über in Sicherheitsgruppen vertrauenswürdige CIDRs ab. Weitere Details hier.stats: Zeigt Ressourcenzahlen für Konten an. Weitere Details hier.weboftrust: Zeigt Web of Trust an. Weitere Details hier.report: Erstellt HTML-Bericht. Enthält Zusammenfassung der Konten und Audit-Ergebnisse. Weitere Details hier.iam_report: Erstellt HTML-Bericht für die IAM-Informationen eines Kontos. Weitere Details hier.Wenn Sie eigene private Befehle hinzufügen möchten, können Sie ein private_commands-Verzeichnis erstellen und diese dort hinzufügen.
|
|
|
|
|
|
Requirements:
pip und virtualenvjq (https://stedolan.github.io/jq/) und die Bibliothek pyjq (https://github.com/doloopwhile/pyjq), die einige zusätzliche zu installierende Werkzeuge erfordern, die angezeigt werden.On macOS:
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# Install pre-reqs for pyjq
brew install autoconf automake awscli freetype jq libtool python3
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install --prefer-binary -r requirements.txt
On Linux:
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# (AWS Linux, Centos, Fedora, RedHat etc.):
# sudo yum install autoconf automake libtool python3-devel.x86_64 python3-tkinter python-pip jq awscli
# (Debian, Ubuntu etc.):
# You may additionally need "build-essential"
sudo apt-get install autoconf automake libtool python3.7-dev python3-tk jq awscli
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install -r requirements.txt
Es wird ein kleiner Satz von Beispieldaten bereitgestellt. Dadurch wird dieselbe Umgebung wie auf der Demo-Seite https://duo-labs.github.io/cloudmapper/ angezeigt.
# Generate the data for the network map
python cloudmapper.py prepare --config config.json.demo --account demo
# Generate a report
python cloudmapper.py report --config config.json.demo --account demo
python cloudmapper.py webserver
Dadurch wird ein lokaler Webserver unter http://127.0.0.1:8000/ gestartet. Zeigen Sie die Netzwerkkarte über diesen Link an oder den Bericht unter http://127.0.0.1:8000/account-data/report.html
Kopieren Sie config.json.demo nach config.json und bearbeiten Sie es, um Ihre Konto-ID und den Kontonamen (z. B. "prod") sowie externe CIDR-Namen aufzunehmen. Ein CIDR ist ein IP-Bereich wie 1.2.3.4/32, was bedeutet, dass nur die IP 1.2.3.4 zulässig ist.
Dieser Schritt verwendet die CLI, um describe- und list-Aufrufe durchzuführen und zeichnet das JSON im durch den Kontonamen angegebenen Ordner unter account-data auf.
Sie müssen AWS-Anmeldeinformationen konfiguriert haben, die von der CLI mit Leseberechtigungen für die zu sammelnden Metadaten verwendet werden können. Ich empfehle die Verwendung von aws-vault. CloudMapper sammelt IAM-Informationen, was bedeutet, dass Sie MFA verwenden MÜSSEN. Nur der Schritt collect erfordert AWS-Zugriff.
Sie müssen über die folgenden Berechtigungen verfügen (diese gewähren diversen Lesezugriff auf Metadaten):
arn:aws:iam::aws:policy/SecurityAuditarn:aws:iam::aws:policy/job-function/ViewOnlyAccessDas Sammeln der Daten erfolgt wie folgt:
python cloudmapper.py collect --account my_account
Führen Sie von hier aus die verschiedenen Befehle aus, z. B.:
python cloudmapper.py report --account my_account
python cloudmapper.py webserver
Zeigen Sie dann den Bericht in Ihrem Browser unter 127.0.0.1:8000/account-data/report.html an
Anstatt config.json direkt zu ändern, gibt es einen Befehl, um die Daten dort zu konfigurieren, falls dies erforderlich ist:
python cloudmapper.py configure {add-account|remove-account} --config-file CONFIG_FILE --name NAME --id ID [--default DEFAULT]
python cloudmapper.py configure {add-cidr|remove-cidr} --config-file CONFIG_FILE --cidr CIDR --name NAME
Dadurch können Sie die verschiedenen AWS-Konten definieren, die Sie in Ihrer Umgebung verwenden, sowie die bekannten CIDR-IPs.