
ElectricEye ist ein Multi-Cloud-, Multi-SaaS-Python-CLI-Tool für Asset Management, Sicherheitslageverwaltung und Angriffsflächenüberwachung, das Hunderte von Diensten und Bewertungen unterstützt, um Ihre CSP- und SaaS-Umgebungen zu härten, mit Kontrollen, die auf über 20 Branchen-, regulatorische und Best-Practice-Kontrollrahmen abgebildet sind.
ElectricEye ist ein Multi-Cloud-, Multi-SaaS-Python-CLI-Tool für Asset Management, Sicherheitsposturmanagement und Angriffsflächenüberwachung, das hunderte von Diensten und Bewertungen unterstützt, um Ihre CSP- und SaaS-Umgebungen zu härten, mit Kontrollen, die mehr als 20 branchenspezifischen, regulatorischen und Best-Practice-Kontrollrahmenwerken zugeordnet sind.
Hier oben im Weltall
Ich schaue auf dich herab
Meine Laser verfolgen
Alles, was du tust
Judas Priest, 1982

ElectricEye ist ein Python-CLI-Tool, das Account-übergreifende, Regions-übergreifende, Multi-Cloud- & SaaS-Asset-Management-, Sicherheitsposturmanagement- und Angriffsflächenüberwachungsfunktionen für AWS, alle Partitionen unterstützt!, GCP, Oracle Cloud Infrastructure (OCI), ServiceNow, Microsoft 365 Enterprise (M365), Salesforce (SFDC) und Azure bietet.
ElectricEye bietet über 1000 Prüfungen gegen Sicherheits-, Resilienz-, Leistungs- und Finanzbest Practices in mehr als 100 CSP- & SaaS-Diensten, einschließlich untypischer Dienste, die nicht von CSP-/SaaS-nativen Asset-Management-Tools/Ansichten oder gängigen CSPM- & CNAPP-Tools unterstützt werden.
Jede einzelne Prüfung ist über 20 Kontrollrahmenwerken zugeordnet, die allgemeine Best Practices, regulatorische, branchenspezifische und rechtliche Rahmenwerke abdecken, wie NIST CSF, AICPA TSCs (für SOC 2), die HIPAA Security Rule, NIST 800-171 Rev. 2, CMMC V2.0, Abschnitt 2 der EZB-Leitlinie CROE, PCI-DSS V4.0, CIS Foundations Benchmarks und mehr!
Die vielschichtige Angriffsflächenüberwachung nutzt Tools wie VirusTotal, Nmap, Shodan.io, Detect-Secrets und CISA's KEV, um im Internet indizierte Assets zu lokalisieren, exponierte Dienste zu finden, ausnutzbare Schwachstellen und schädliche Pakete in Artefakt-Repositories zu identifizieren.
Ausgaben an AWS Security Hub, das Open Cyber Security Framework (OCSF) V1.1.0 in JSON, AWS DocumentDB, JSON, CSV, HTML-Berichte, MongoDB, Amazon SQS, PostgreSQL, Slack (über Slack App Bots) und FireMon Cloud Defense.
Das Kernkonzept von ElectricEye ist der Auditor – eine Sammlung von Python-Skripten, die Prüfungen pro Dienst durchführen, die einem bestimmten SaaS-Anbieter oder öffentlichen Cloud-Dienstanbieter, genannt Bewertungsziel, zugeordnet sind. Sie können ein ganzes Bewertungsziel, einen bestimmten Auditor oder eine bestimmte Prüfung innerhalb eines Auditors ausführen. Nachdem ElectricEye die Bewertungen abgeschlossen hat, unterstützt es über ein Dutzend Arten von Ausgaben, die von einem HTML-Führungsbericht bis zu AWS DocumentDB-Clustern reichen – Sie können mehrere Ausgaben nach Bedarf ausführen.
ElectricEye nutzt auch andere Tools wie Shodan.io, Yelps detect-secrets, VirusTotal, den Katalog der bekannten ausgenutzten Schwachstellen (KEV) der United States Cyber and Infrastructure Security Agency (CISA) und NMAP, um seine Prüfungen durchzuführen und deren Ergebnisse anzureichern.
Klonen Sie zunächst dieses Repository und installieren Sie die Anforderungen mit pip3: pip3 install -r requirements.txt.
Wenn Sie etwas anderes als Ihr lokales AWS-Konto bewerten, ändern Sie die TOML-Konfiguration unter ElectricEye/eeauditor/external_providers.toml oder geben Sie einen Pfad zu Ihrer eigenen mit --toml-path an. Die TOML-Datei spezifiziert Multi-Account-, Multi-Region-, Anmeldeinformations- und Ausgabendetails.
Führen Sie schließlich den Controller aus, um mehr über die verschiedenen Prüfungen, Auditoren, Bewertungsziele und Ausgaben zu erfahren.``` python3 eeauditor/controller.py --help Usage: controller.py [OPTIONS]
Options: -t, --target-provider [AWS|Azure|OCI|GCP|Servicenow|M365|Salesforce|Snowflake] Public cloud or SaaS assessment target, ensure that any -a or -c arg maps to your target provider to avoid any errors. e.g., -t AWS -a Amazon_APGIW_Auditor -a, --auditor-name TEXT Specify which Auditor you want to run by using its name NOT INCLUDING .py. . Use the --list-checks arg to receive a list. Defaults to ALL Auditors -c, --check-name TEXT A specific Check in a specific Auditor you want to run, this correlates to the function name. Use the --list-checks arg to receive a list. Defaults to ALL Checks -d, --delay INTEGER Time in seconds to sleep between Auditors being ran, defaults to 0. Use this argument to avoid rate limiting -o, --outputs TEXT A list of Outputs (files, APIs, databases, ChatOps) to send ElectricEye Findings, specify multiple with additional arguments: -o csv -o postgresql -o slack [default: ocsf_stdout] -of, --output-file TEXT For file outputs such as JSON and CSV, the name of the file, DO NOT SPECIFY .file_type [default: output] -lo, --list-options Lists all valid Output options -lch, --list-checks Prints a table of Auditors, Checks, and Check descriptions to stdout - use this command for help with populating -a (Auditor selection) or -c (Check selection) args -lco, --list-controls Lists all ElectricEye controls - that is to say: the Check Titles - for an Assessment Target -tp, --toml-path TEXT The full path to the TOML file used for configure e.g., ~/path/to/mydir/external_providers.toml. If this value is not provided the default path of ElectricEye/eeauditor/external_providers. toml is used. --help Show this message and exit.
Für weitere Informationen siehe [hier](#configuring-electriceye), Sie können die [FAQ hier](https://github.com/jonrau1/electriceye/blob/HEAD/docs/faq/FAQ.md) lesen, Informationen zu [Outputs finden Sie hier](https://github.com/jonrau1/electriceye/blob/HEAD/docs/outputs/OUTPUTS.md) oder, falls Sie eine detailliertere Analyse des Kontrollflusses und der Konzepte wünschen, lesen Sie [den Entwicklerleitfaden](https://github.com/jonrau1/electriceye/blob/HEAD/docs/new_checks/DEVELOPER_GUIDE.md).
## ElectricEye konfigurieren
Beziehen Sie sich auf die Unterüberschriften für CSP- oder SaaS-spezifische Einrichtungsanweisungen. Gehen Sie zu [Outputs](https://github.com/jonrau1/electriceye/blob/HEAD/docs/outputs/OUTPUTS.md), um, nun ja, etwas über Outputs und Beispiele zu erfahren.
### Öffentliche Cloud-Dienstleister
- [Für Amazon Web Services (AWS)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_AWS.md)
- [Für Google Cloud Platform (GCP)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_GCP.md)
- [Für Oracle Cloud Infrastructure](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_OCI.md)
- [Für Microsoft Azure](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Azure.md)
Die folgenden Cloud-Dienstleister befinden sich auf der Roadmap
- [Für Alibaba Cloud (*Coming Soon*)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_AlibabaCloud.md)
### Software-as-a-Service (SaaS)-Anbieter
- [Für ServiceNow](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_ServiceNow.md)
- [Für Microsoft M365](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_M365.md)
- [Für Salesforce](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Salesforce.md)
- [Für Snowflake](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Snowflake.md)
Die folgenden SaaS-Anbieter befinden sich auf der Roadmap
- [Für Google Workspaces (*Coming Soon*)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Google_Workspaces.md)
## Cloud-Asset-Management (CAM)
Weitere Informationen zum CAM-Betriebskonzept und Schema von ElectricEye finden Sie in [der Asset-Management-Dokumentation](https://github.com/jonrau1/electriceye/blob/HEAD/docs/asset_management/ASSET_MANAGEMENT.md).
## Unterstützte Dienste und Prüfungen
Insgesamt gibt es:
- **4** unterstützte öffentliche CSPs: `AWS`, `GCP`, `OCI` und `Azure`
- **4** unterstützte SaaS-Anbieter: `ServiceNow`, `M365`, `Salesforce` und `Snowflake`
- **1196** ElectricEye Checks
- **179** unterstützte CSP- & SaaS-Asset-Komponenten über alle Dienste hinweg
- **135** ElectricEye Auditors
Die Tabellen der unterstützten Dienste und Prüfungen wurden in die jeweilige anbieterbezogene Einrichtungsdokumentation verschoben, die oben unter [ElectricEye konfigurieren](#configuring-electriceye) verlinkt ist.
## ElectricEye auf Docker
Nachdem Sie ElectricEye für Ihre Umgebung(en) mit der [TOML-Konfiguration](https://github.com/jonrau1/electriceye/blob/HEAD/eeauditor/external_providers.toml) konfiguriert haben, können Sie stattdessen Docker verwenden, um ElectricEye auszuführen, dessen Images auf ECR Public, Oracle Cloud Container Registry (OCR) und Docker Hub bereitgestellt werden. Weitere Informationen zu den Sicherheitsmaßnahmen finden Sie [hier](#repository-security), in Zukunft werden weitere Registries und Image-Signaturen verwendet.
### Images erstellen
Wenn Sie Ihr eigenes Image erstellen möchten, verwenden Sie die folgenden Befehle. Stellen Sie sicher, dass Sie `sudo` hinzufügen, wenn Sie in Ihrem System keinen korrekt eingerichteten `docker`-Benutzer haben.```bash
git clone https://github.com/jonrau1/ElectricEye.git
cd ElectricEye
docker build -t electriceye:local .
Ab hier können Sie in Ihr bevorzugtes Repository pushen. Ändern Sie unbedingt den Tag von local in den Tag, den Ihr Repository erwartet oder den Sie bevorzugen. Vielleicht einfach latest, wie ein Decabillionär-Sigma-Grindset-Gigachad?
Sie können auch ein ElectricEye-Image aus den verschiedenen Repositories ziehen. Ein latest-Image-Tag wird immer zusammen mit einem Image gepusht, das mit dem SHA-Hash des Workflows ${{ github.sha }} getaggt ist und im Schritt Print Image der verschiedenen GitHub Action Workflows eingesehen werden kann.
Um aus den verschiedenen Repositories zu ziehen, verwenden Sie diese Befehle. Sie können latest nach Belieben ersetzen. Die Abhängigkeiten innerhalb von ElectricEye bleiben relativ stabil, bis eine neue Cloud oder eine größere Integration hinzugefügt wird. Überprüfen Sie zur Sicherheit die Pull Requests für weitere Informationen.
Amazon Elastic Container Registry (ECR) Public: docker pull public.ecr.aws/t4o3u7t2/electriceye:latest
Oracle Cloud Infrastructure Registry (OCIR): docker pull iad.ocir.io/idudmagprsdi/electriceye:latest
Docker Hub: docker pull electriceye/electriceye
Bei der Interaktion mit AWS-Anmeldeinformationsspeichern wie AWS Systems Manager, AWS Secrets Manager und Ausgaben wie AWS Security sowie für die Rollenübernahme in die im TOML-Parameter aws_electric_eye_iam_role_name angegebene Rolle verwendet ElectricEye Ihre aktuelle (Standard-)Boto3-Sitzung, die aus Ihren Anmeldeinformationen abgeleitet wird.
Wird ElectricEye von einer AWS-Infrastruktur mit einer angehängten Rolle ausgeführt oder von einem Standort mit bereits instanziierten aws cli-Anmeldeinformationen, wird dies transparent gehandhabt.
Bei Verwendung von Docker müssen Sie Umgebungsvariablen direkt an den Container übergeben.
Stellen Sie sicher, dass Sie die entsprechenden Berechtigungen haben, wenn Sie AWS SSM (ssm:GetParameter), AWS Secrets Manager (secretsmanager:GetSecretValue), AWS Security Hub (securityhub:BatchImportFindings), Amazon SQS (sqs:SendMessage) und/oder Amazon DynamoDB (dynamodb:PutItem) für Anmeldeinformationen und Ausgaben verwenden! Sie benötigen wahrscheinlich auch kms:Decrypt, je nachdem, ob Sie AWS Key Management Service (KMS) kundenverwaltete Schlüssel (CMKs) für die Verschlüsselung Ihrer Geheimnisse/Parameter verwenden.
Sie benötigen sts:AssumeRole, um in die im TOML-Parameter aws_electric_eye_iam_role_name angegebene Rolle einzusteigen.
Sie müssen Ihre AWS-Region, einen AWS Access Key und einen AWS Secret Access Key übergeben. Wenn Sie KEINEN AWS-IAM-Benutzer mit Zugriffsschlüsseln verwenden, müssen Sie auch ein AWS-Sitzungstoken angeben, das von temporären Anmeldeinformationen wie einer IAM-Rolle oder einem EC2-Instance-Profil erstellt wird.
Wenn Sie einen Benutzer verwenden, fahren Sie mit dem nächsten Schritt fort. Sie müssen Ihre Anmeldeinformationen zum Kopieren bereithalten. Wenn Sie ein EC2-Instance-Profil oder eine zusätzliche IAM-Rolle verwenden, die Sie übernehmen, stellen Sie sicher, dass jq installiert ist: apt install -y jq oder yum install jq.
- Um eine IAM-Rolle zu übernehmen und die temporären Anmeldeinformationen abzurufen```bash AWS_ACCOUNT_ID=$(aws sts get-caller-identity | jq -r '.Account') MY_ROLE_NAME='iam-role-name' TEMP_CREDS=$(aws sts assume-role --role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$MY_ROLE_NAME --role-session-name ElectriceyeForDocker) AWS_ACCESS_KEY=$(echo $TEMP_CREDS | jq -r '.Credentials.AccessKeyId') AWS_SECRET_KEY=$(echo $TEMP_CREDS | jq -r '.Credentials.SecretAccessKey') AWS_SESSION_TOKEN=$(echo $TEMP_CREDS | jq -r '.Credentials.SessionToken') MY_REGION='aws-region-here'
> - Zum Abrufen temporärer Anmeldeinformationen für ein EC2 Instance Profile mit Instance Metadata Service Version 1```bash
MY_INSTANCE_PROFILE_ROLE_NAME="my_ec2_role_name"
IMDS_SECURITY_CREDENTIALS=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/$MY_INSTANCE_PROFILE_ROLE_NAME)
MY_REGION='my_aws_region'
AWS_ACCESS_KEY=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.AccessKeyId')
AWS_SECRET_KEY=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.SecretAccessKey')
AWS_SESSION_TOKEN=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.Token')
- Um temporäre Anmeldedaten für ein EC2-Instanzprofil mit der Instance Metadata Service Version 2 abzurufen```bash MY_INSTANCE_PROFILE_ROLE_NAME="my_ec2_role_name" TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300") IMDSV2_SECURITY_CREDENTIALS=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/$MY_INSTANCE_PROFILE_ROLE_NAME) MY_REGION='my_aws_region' AWS_ACCESS_KEY=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.AccessKeyId') AWS_SECRET_KEY=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.SecretAccessKey') AWS_SESSION_TOKEN=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.Token')
Sie können auch temporäre Anmeldedaten aus föderierten Identitäten abrufen. Weitere Informationen finden Sie unter den Links zu [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) oder [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) oder lesen Sie die umfassendere Dokumentation zu temporären Anmeldedaten [hier](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerole).
### ElectricEye-Container ausführen
Führen Sie ElectricEye mit den folgenden Befehlen aus und geben Sie Ihre Sitzungsanmeldedaten ein. Ändern Sie die Befehle im Container, um verschiedene Umgebungen mit ElectricEye zu evaluieren. Ändern Sie den Wert von `/path/to/my/external_providers.toml` in Ihren genauen Pfad, z. B. `~/electriceye-docker/external_providers.toml`.
**WICHTIGER HINWEIS** Wenn Sie einen AWS IAM-Benutzer mit Zugriffsschlüsseln verwenden, codieren Sie die Werte fest und lassen Sie den Wert für `AWS_SESSION_TOKEN` weg!! Wenn Sie diesen Container auf einem AWS-Container-/Kubernetes-Dienst ausführen, müssen Sie diese Werte nicht angeben!```bash
sudo docker run \
--user eeuser:eeuser \
-e AWS_DEFAULT_REGION=$MY_REGION \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY \
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
-v /path/to/my/external_providers.toml:/eeauditor/external_providers.toml \
electriceye /bin/bash -c "python3 eeauditor/controller.py --help"
Um eine lokale Dateiausgabe wie -o json, -o cam-json, -o csv oder -o html zu speichern, stellen Sie sicher, dass Sie einen Dateinamen angeben, der mit /eeauditor/ beginnt, da der Benutzer eeuser innerhalb des Docker-Images nur Schreibrechte in diesem Verzeichnis hat.
Um die Dateien zu entfernen, können Sie docker cp nicht verwenden, aber Sie können die Datei an entfernte APIs übermitteln, die Sie kontrollieren, indem Sie die Ausgabe mit base64 codieren, oder Sie können die Sitzung mit AWS S3-Berechtigungen nutzen, um die Datei in S3 hochzuladen.
Wenn Sie Oracle Cloud oder Google Cloud Platform evaluieren, werden Ihre Anmeldeinformationen lokal geladen und Sie können in die jeweiligen Oracle Object Storage- oder Google Cloud Storage-Buckets hochladen.```bash
BUCKET_NAME="your_s3_bucket_you_have_access_to"
sudo docker run
--user eeuser:eeuser
-e AWS_DEFAULT_REGION=$MY_REGION
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN
-v /path/to/my/external_providers.toml:/eeauditor/external_providers.toml
electriceye /bin/bash -c "python3 eeauditor/controller.py -t AWS -o json --output-file /eeauditor/my-aws-findings
&& aws s3 cp /eeauditor/my-aws-findings.json s3://$BUCKET_NAME/eefindings.json"
Für weitere Konfigurationsinformationen lesen Sie bitte die anbieterspezifischen Setup-Anleitungen.
## Mitwirken
Lesen Sie den [Entwicklerleitfaden](https://github.com/jonrau1/electriceye/blob/HEAD/docs/new_checks/DEVELOPER_GUIDE.md) für Anweisungen zur Erstellung neuer Prüfungen. Für neue SaaS- und CSP-Unterstützung eröffnen Sie bitte ein Issue.
Sie können gerne Pull Requests und Issues eröffnen, wenn Sie Syntax-, Grammatik- oder Implementierungsfehler im Code entdecken.
### ElectricEye steht zum Verkauf
Kontaktieren Sie mich unter [email protected] (ich habe eigentlich kein SaaS-Tool) und ich verkaufe Ihnen gerne die Rechte an diesem Repository, nehme es offline und übergebe Ihnen alle Domains und sogar die AWS-Konten, die ich im Hintergrund verwende.
### Frühe Mitwirkende
Ein kurzer Dank an die Leute, die frühzeitig auf den Aufruf reagiert haben, ElectricEye zu testen und es zu einem nicht-scheiß-sandwich gemacht haben.
##### Alpha-Testing:
- [Mark Yancey](https://www.linkedin.com/in/mark-yancey-jr-aspiring-cloud-security-professional-a52bb9126/)
##### Beta-Testing:
- [Martin Klie](https://www.linkedin.com/in/martin-klie-0600845/)
- [Joel Castillo](https://www.linkedin.com/in/joelbcastillo/)
- [Juhi Gupta](https://www.linkedin.com/in/juhi-gupta-09/)
- [Bulent Yidliz](https://www.linkedin.com/in/bulent-yildiz/)
- [Guillermo Ojeda](https://www.linkedin.com/in/guillermoojeda/)
- [Dhilip Anand Shivaji](https://www.linkedin.com/in/dhilipanand/)
- [Arek Bar](https://www.linkedin.com/in/arkadiuszbar/)
- [Ryan Russel](https://www.linkedin.com/in/pioneerrussell/)
- [Jonathan Nguyen](https://www.linkedin.com/in/jonanguyen/)
- [Jody Brazil](https://www.linkedin.com/in/jodybrazil/)
- [Dylan Shields](https://www.linkedin.com/in/dylan-shields-6802b1168/)
- [Manuel Leos Rivas](https://www.linkedin.com/in/manuel-lr/)
- [Andrew Alaniz](https://www.linkedin.com/in/andrewdalaniz/)
- [Christopher Childers](https://www.linkedin.com/in/christopher-childers-28950537/)
## FAQ
Dies wird im Amazon-Stil gemacht, das heißt, keine dieser Fragen wird häufig gestellt und sie sollen Product Managern helfen, herauszufinden, ob ihre Ideen gut sind...
Trotzdem werden einige dieser Fragen tatsächlich gestellt. Also, bitte sehr.
### 1. Was ist ElectricEye?
ElectricEye ist ein agentenloses Python-Befehlszeilentool (CLI), das Cloud-Dienstanbieter (CSPs) und Software-as-a-Service (SaaS)-Anbieter auf service-spezifische Konfigurationen scannt und bewertet. ElectricEye generiert pro Ressource eine Bestehen- oder nicht Bestehen-Erkenntnis über mehrere Prüfungen hinweg, die sich an Best Practices für das Sicherheits-Posture-Management sowie an anderen Hygiene-Prüfungen wie Belastbarkeit, Wiederherstellung, Leistungsoptimierung und Überwachung orientieren. ElectricEye deckt beliebte Anbieter wie AWS, GCP, ServiceNow und weitere ab.
### 2. Wer sollte ElectricEye verwenden?
ElectricEye kann von jeder Person innerhalb einer Cloud-Organisation in den Sicherheits- oder IT-Funktionen verwendet werden, wie z. B. (aber nicht beschränkt auf) Sicherheitsingenieure, Dev(Sec)Ops-Ingenieure, SREs/Plattformingenieure, Architekten (verschiedene Ausrichtungen), Governance-/Risiko-/Compliance-Analysten, SOC-/SecOps-Analysten, Cloud-Berater, Offensive-Sicherheitsteams (Red/Blue/Purple) und Analysten für das Risikomanagement Dritter. ElectricEye kann auch von IT-Betrieb, Technologie-Business-Management-/ITFM-Analysten, Business-Continuity-Analysten und Asset-Managern verwendet werden, da ElectricEye native Cloud-Asset-Management-Funktionen bietet.
### 3. Warum sollte jemand ElectricEye verwenden?
ElectricEye sollte von jedem verwendet werden, der sicherstellen möchte, dass seine Cloud-Anbieter und deren gesamtes Dienstleistungsspektrum so konfiguriert sind, dass die beste Sicherheitshygiene gewährleistet ist. ElectricEye bietet die größte Serviceabdeckung und ist das einzige dual nutzbare Security-Posture-Management (SPM)-Tool, das kostenlos sowohl für Cloud Security Posture Management (CSPM) als auch für SaaS Security Posture Management (SSPM) angeboten wird. ElectricEye verfügt außerdem über integrierte Geheimnis-Erkennung und Funktionen zur externen Angriffsflächenverwaltung (External Attack Surface Management, EASM) sowie Cloud-Asset-Management (CAM) mit einer eigenen Hierarchie, die das asset-übergreifende Management und Reporting über Cloud-Grenzen hinweg unterstützt.
### 4. Ist ElectricEye ein CSPM?
Ja, ElectricEye ist ein Cloud Security Posture Management (CSPM)-Tool, es bietet API-basierte (agentenlose) Scans von Cloud-Infrastruktur und stellt sicher, dass Dienste nach Best Practices konfiguriert sind.
### 5. Ist ElectricEye ein SSPM?
Ja, ElectricEye ist ein SaaS Security Posture Management (SSPM)-Tool, es bietet API-basierte (agentenlose) Scans von SaaS-Anbieter-APIs und stellt sicher, dass Benutzer und Dienste nach Best Practices konfiguriert sind.
### 6. Ist ElectricEye ein CIEM?
Nein, ElectricEye ist kein Cloud Infrastructure Entitlement Management (CIEM)-Tool. Obwohl ElectricEye mehrere Identity & Access Management-Prüfungen durchführt und pro Benutzer Bewertungen für MFA, Passwortrotation und Minimierung von Berechtigungen vornimmt, ist es kein CIEM. ElectricEye bietet keine umfassende Richtlinienbewertung über mehrere Identitätsbroker, -anbieter und -grenzen hinweg und bietet auch keine Remediierung oder Just-In-Time (JIT)-Berechtigungsverwaltungsfunktionen.
### 7. Ist ElectricEye ein SIEM?
Nein, ElectricEye ist kein Security Information & Event Management (SIEM)-Tool. SIEM-Tools werden verwendet, um Protokolle, Sicherheitsereignisse und andere halbstrukturierte und strukturierte Daten für Sicherheitsbetriebsanwendungsfälle zu sammeln, zu indizieren und zu korrelieren. Obwohl ElectricEye-Erkenntnisse an ein SIEM gesendet werden können, ist ElectricEye selbst kein SIEM.
### 8. Ist ElectricEye ein Audit-/Compliance-Tool?
Nein, ElectricEye ist *direkt* kein Audit- oder Compliance-Tool. Obwohl jede Erkenntnis in gängige und weit verbreitete Sicherheits-Compliance-Regime wie NIST CSF v1.1 und AICPA 2020 TSCs abgebildet wird, bietet ElectricEye nur Bemühungen zur bestmöglichen Zuordnung von Kontrollen und ist nicht dasselbe wie ein Wirtschaftsprüfer oder ein anderer qualifizierter Prüfer, der Ihre Umgebung auditieren würde. ElectricEye kann als Tool zur Audit-Vorbereitung oder -Bereitschaft verwendet werden; Sie könnten Stichproben von Erkenntnissen entnehmen, wenn die Cloud-Infrastrukturkontrollen für Ihr gesamtes Sicherheitsprogramm wichtig sind. Kontrollen sind technische oder administrative (d. h. Richtlinien oder Verfahren) Gegenmaßnahmen, die die gewünschten Ergebnisse eines Sicherheits- oder Datenschutzprogramms schützen sollen. Kontrollen schützen die Vertraulichkeit, Integrität und Verfügbarkeit von Informationssystemen. ElectricEye kann helfen festzustellen, ob die Konfigurationen Ihrer Cloud-Infrastruktur dem "Geist" der Kontrollen entsprechen, ist aber **KEIN** Ersatz für eine Bescheinigung, Zertifizierung oder ein anderes okkultes Ritual.
### 9. Was ist „Audit Readiness“ (Audit-Bereitschaft)?
ElectricEye verwendet den Begriff Audit Readiness, wenn es um die beabsichtigten Anwendungsfälle für seine Control-Framework-Zuordnungen geht. ElectricEye könnte von qualifizierten Prüfern verwendet werden, um Ihre Umgebung zu bewerten, oder von Ihnen, um es als Nachweis für Prüfer bereitzustellen, aber der beste Anwendungsfall ist die Vorbereitung oder das Erkennen Ihrer Bereitschaft für ein Audit. Sie sollten jedoch bereits Ihre eigenen internen Kontrollen und Ihre eigene Konfigurationsmanagementstrategie für die Implementierung von Kontrollen definiert haben. Zum Beispiel könnten Sie entscheiden, dass es zu teuer ist und nicht genügend Sicherheitsvorteile bietet, alle Ihre SQS-Warteschlangen mit AWS-KMS-CMKs zu verschlüsseln; Sie müssen diese "Grundlagenarbeit" leisten, bevor Sie ElectricEye zur Unterstützung Ihrer internen GRC-Prozesse einsetzen.
### 10. Welche Control Frameworks unterstützt ElectricEye?
Die Control Frameworks, die ElectricEye unterstützt, werden ständig aktualisiert, sobald neuere Versionen und Zuordnungen verfügbar sind. Stand 21. Juni 2024 werden die folgenden Standards, Frameworks und rechtlichen Anforderungen unterstützt.
- NIST Cybersecurity Framework Version 1.1
- NIST Special Publication 800-53 Revision 4
- NIST Special Publication 800-53 Revision 5
- NIST Special Publication 800-171 Revision 2
- American Institute of Certified Public Accountants (AICPA) Trust Service Criteria (TSC) 2017/2020 für SOC 2
- ISO/IEC 27001:2013/2017 Annex A
- ISO/IEC 27001:2022 Annex A
- Center for Internet Security (CIS) Critical Security Controls Version 8
- Cloud Security Alliance (CSA) Cloud Controls Matrix (CCM) Version 4.0
- United States Department of Defense Cybersecurity Maturity Model Certification (CMMC) Version 2.0
- United States Federal Bureau of Investigation (FBI) Criminal Justice Information System (CJIS) Security Policy Version 5.9
- United Kingdom National Cybercrime Security Center (NCSC) Cyber Essentials Version 2.2
- United Kingdom National Cybercrime Security Center (NCSC) Assessment Framework Version 3.1
- HIPAA "Security Rule" U.S. Code 45 CFR Part 164 Subpart C
- Federal Financial Institutions Examination Council (FFIEC) Cybersecurity Assessment Tool (CAT)
- North American Electric Reliability Corporation (NERC) Critical Infrastructure Protection (CIP) Standard
- New Zealand Information Security Manual Version 3.5
- New York Department of Financial Services (NYDFS) Series 23 NYCRR Part 500; AKA NYDFS500
- Critical Risk Institute (CRI) Critical Risk Profile Version 1.2
- European Central Bank (ECB) Cyber Resilience Oversight Expectations (CROEs)
- Equifax Security Controls Framework Version 1.0
- Payment Card Industry (PCI) Data Security Standard (DSS) Version 4.0
- MITRE ATT&CK Enterprise Framework
- CIS AWS Database Services Benchmark V1.0
- CIS Amazon Web Services Foundations Benchmark V1.5
- CIS Amazon Web Services Foundations Benchmark V2.0
- CIS Amazon Web Services Foundations Benchmark V3.0
- CIS Microsoft Azure Foundations Benchmark V2.0.0
- CIS Snowflake Foundations Benchmark V1.0.0
- CIS Google Cloud Platform Foundation Benchmark V2.0
## Repository-Sicherheit
Da ElectricEye ein Sicherheitstool ist, ist es nur sinnvoll, ein hohes Sicherheitsniveau der Komponenten aufrechtzuerhalten. Zu diesem Zweck sind die folgenden Tools für die Nutzung konfiguriert. Lesen Sie die Build-Badges und Aktionen für detaillierte Informationen zu jedem Durchlauf.
#### [`Syft`](https://github.com/anchore/syft)
Ergebnisse [hier](https://github.com/jonrau1/ElectricEye/actions/workflows/sbom-vulns.yml) ansehen!
Ein CLI-Tool und eine Go-Bibliothek zur Erstellung einer Software-Stückliste (SBOM) aus Container-Images und Dateisystemen.
ElectricEye verwendet Syft, um eine SBOM aus einem erstellten ElectricEye-Docker-Image im CycloneDX-Format zu erstellen und sie als Artefakt bei jedem erfolgreichen GitHub-Action-Durchlauf hochzuladen.
#### [`Grype`](https://github.com/anchore/grype)
Ergebnisse [hier](https://github.com/jonrau1/ElectricEye/actions/workflows/sbom-vulns.yml) ansehen!
Ein Schwachstellenscanner für Container-Images und Dateisysteme. Installieren Sie einfach die Binärdatei, um es auszuprobieren. Funktioniert mit Syft, dem leistungsstarken SBOM-Tool (Software Bill of Materials) für Container-Images und Dateisysteme.
ElectricEye übergibt die CycloneDX-SBOM von `Syft` an `Grype`, um Schwachstellenscans des erstellten Docker-Images durchzuführen, das alle Python-Abhängigkeiten und integrierten Methoden im `alpine`-Docker-Image-Base vereint, das ElectricEye verwendet. Builds mit kritischen Schwachstellen werden automatisch abgebrochen. Die Ergebnisse werden in der GitHub-Aktion veröffentlicht und als `sarif` in GitHub Security hochgeladen.
#### [`Dependabot`](https://github.com/dependabot)
Dependabot-Benachrichtigungen informieren Sie darüber, dass Ihr Code von einem unsicheren Paket abhängt. Wenn Ihr Code von einem Paket mit einer Sicherheitslücke abhängt, kann dies eine Reihe von Problemen für Ihr Projekt oder die Personen verursachen, die es verwenden. Sie sollten so schnell wie möglich auf eine sichere Version des Pakets aktualisieren. Wenn Ihr Code Malware verwendet, müssen Sie das Paket durch eine sichere Alternative ersetzen.
ElectricEye verwendet Dependabot als Tool zur Software-Zusammensetzungsanalyse (Software Composition Analysis, SCA), um tägliche Scans durchzuführen und Pull Requests zu öffnen, falls eine Docker-, Python- oder GitHub-Action-Abhängigkeit einen Sicherheitspatch erfordert.
#### [`CodeQL`](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
Ergebnisse [hier](https://github.com/jonrau1/ElectricEye/actions/workflows/codeql-analysis.yml) ansehen!
CodeQL ist die von GitHub entwickelte Code-Analyse-Engine zur Automatisierung von Sicherheitsüberprüfungen. Sie können Ihren Code mit CodeQL analysieren und die Ergebnisse als Code-Scanning-Warnungen anzeigen.
ElectricEye verwendet `codeql` als Tool zur statischen Anwendungssicherheitstestung (Static Application Security Testing, SAST), um alle Auditoren zu scannen, die in Python geschrieben sind. `codeql` sucht auch nach Geheimnissen im Code. Es wird bei jedem Push und zeitgesteuert ausgeführt.
## Lizenz
Diese Bibliothek ist unter der Apache-2.0-Lizenz lizenziert. Siehe die LICENSE-Datei.