Die 10 häufigsten AWS-Fehlkonfigurationen und ihre Behebung: ein Spickzettel
15. März 2023
0 Min. LesezeitAmazon Web Services (AWS) ist weiterhin der führende Cloud-Anbieter mit einem Marktanteil von 40,8 %. Viele Unternehmen und Organisationen betreiben heute einen Teil oder sogar den Großteil ihrer Infrastruktur auf Amazon Web Services. AWS hilft Unternehmen, ihre digitale Transformation zu beschleunigen und schneller Innovationen voranzutreiben. Beim Wechsel zu AWS kommt es jedoch häufig zu Fehlkonfigurationen.
Häufige Fehlkonfigurationen können zu Sicherheitsverletzungen oder Sicherheitslücken in der Infrastruktur führen. Dann müssen Sie unter Umständen erst mühsam herausfinden, was Angreifer in Ihrem AWS-Konto getan haben. Um solche potenziellen Sicherheitslücken in Ihrer Infrastruktur und mögliche Sicherheitsverletzungen zu verhindern, stellen wir Ihnen hier die 10 häufigsten AWS-Fehlkonfigurationen vor:
Das Root-Benutzerkonto als Hauptkonto für AWS verwenden.
Langfristig gültige Secrets in Anwendungscode speichern.
* Berechtigungen in IAM-Richtlinien verwenden.
Nicht autorisierte AWS-Services in Ihrem AWS-Konto nutzen.
In AWS-Speicherdiensten gespeicherte Daten nicht verschlüsseln.
Keine Überwachungstools für Ihre AWS-Konten aktivieren.
Sicherheitsgruppen für alle im Internet öffnen.
Alle Services in einem AWS-Konto betreiben.
Unsichere AWS-RDS-Standardeinstellungen
Verwaiste DNS-Einträge mit einem gelöschten öffentlichen AWS-S3-Bucket.
Laden Sie unseren Spickzettel zu AWS-Sicherheitsfehlkonfigurationen herunter, um mehr darüber zu erfahren, wie Sie die folgenden Fehlkonfigurationen vermeiden.
1. Verwenden Sie das Root-Benutzerkonto nicht als Hauptkonto für AWS
Der Root-Benutzer ist das von AWS bereitgestellte Benutzerkonto mit Administratorrechten. Wird der Root-Benutzer jedoch kompromittiert, kann der Zugriff auf sämtliche AWS-Konten verloren gehen, auf die er innerhalb der Organisation zugreifen kann. Verwenden Sie statt des Root-Benutzers für menschliche Benutzer Föderation (AWS Identity Center) oder AWS-IAM-Benutzer.
Der Root-Benutzer hat Zugriff auf alle AWS-Ressourcen und -Services in einem Konto. Werden die Anmeldedaten des Root-Kontos kompromittiert, können Angreifer auf sensible Anwendungen und Daten zugreifen und diese sowie die Ressourcen des betroffenen Kontos möglicherweise missbrauchen.
Es ist entscheidend, das Root-Benutzerkonto zu schützen und vor Angreifern sicher aufzubewahren. Neben der Verwendung von Föderation oder AWS-IAM-Benutzern können Sie weitere Maßnahmen ergreifen, um Ihr Root-Benutzerkonto zu schützen:
Erstellen Sie einen IAM-Benutzer für sich selbst und weisen Sie diesem Administratorrechte zu.
Geben Sie die Anmeldedaten des Root-Benutzers niemals weiter.
Verwenden Sie nach Möglichkeit einen Passwort-Manager und erstellen Sie ein starkes Passwort.
Aktivieren Sie unbedingt die Multi-Faktor-Authentifizierung.
Richten Sie eine Benachrichtigung ein, die Sie informiert, wenn sich jemand als Root-Benutzer anmeldet.
2. Speichern Sie keine langfristig gültigen Secrets in Anwendungscodebasen
Wenn Sie AWS programmgesteuert nutzen, müssen Sie bei programmgesteuerten Aufrufen Ihre AWS-Zugriffsschlüssel zur Identitätsprüfung angeben. Diese Schlüssel bestehen aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel. Daher hat jede Person mit Ihren Zugriffsschlüsseln denselben Zugriff auf Ihre AWS-Ressourcen wie Sie. Der Schutz Ihrer Zugriffsschlüssel ist also entscheidend: Werden sie kompromittiert, können Angreifer sie nutzen, um programmgesteuert auf alle darüber verfügbaren Services zuzugreifen.
Wir empfehlen, Ihre AWS-Zugriffsschlüssel alle 90 Tage zu rotieren und Zugriffsschlüssel zu löschen, die länger als 90 Tage nicht verwendet wurden. Speichern Sie Zugriffsschlüssel nach Möglichkeit weder im Anwendungscode noch in Implementierungssoftware oder Cloud-Speichern.
3. Verwenden Sie *-Berechtigungen in IAM-Richtlinien
Unsere Sicherheit ist nur so gut wie das, was tatsächlich in unseren Cloud-Umgebungen bereitgestellt wird und ausgeführt wird: secure as what is actually deployed and running in our cloud environments.
Damit Sie nicht versehentlich Berechtigungen oder Zugriff auf alles gewähren, weisen Sie IAM-Benutzern, IAM-Rollen, Gruppen und AWS-Workload-Profilen (Instance Profiles) Berechtigungsrichtlinien zu.
Mit IAM Access Analyzer können Sie diesem Problem zuvorkommen oder es sogar beheben. IAM Access Analyzer ermöglicht es Ihnen:
Richtlinien mit den geringstmöglichen Berechtigungen auf Grundlage der Zugriffsaktivitäten zu erstellen.
Unterstützte Ressourcentypen kontinuierlich zu überwachen und zu überprüfen. Durch die kontinuierliche Überwachung erkennen Sie Ressourcen, die öffentlichen Zugriff oder kontoübergreifenden Zugriff erlauben. Außerdem können Sie Ressourcen identifizieren, denen zu weitreichende Berechtigungen zugewiesen wurden.
Wenn Sie Ihre IAM-Richtlinien in Ihrer Produktionsumgebung bereitstellen, können Sie sicher sein, dass Ihre Workload nur die erforderlichen Berechtigungen erhalten hat.
4. Verwenden Sie keine nicht autorisierten AWS-Services in Ihrem AWS-Konto
Die rechtlichen und technischen Compliance-Anforderungen unterscheiden sich je nach Branche. Die meisten Unternehmen erstellen eine Liste der bekannten, branchenkonformen AWS-Services und der geografischen Regionen, in denen sie tätig sind. So können sie ihre Geschäftstätigkeit in den benötigten Märkten schnell und rechtmäßig aufrechterhalten und die Anforderungen ihrer Branche erfüllen.
Wer jedoch außerhalb dieser Regionen tätig ist oder AWS-Services nutzt, die gegen gesetzliche oder Compliance-Vorgaben verstoßen, muss wahrscheinlich mit hohen Geldbußen rechnen.
Wir empfehlen die Verwendung von AWS SCP in AWS Organizations, um Sicherheitsleitplanken für die Zugriffsverwaltung aller IAM-Benutzer und -Rollen in Ihren AWS-Konten festzulegen.
5. Verschlüsseln Sie in AWS-Speicherdiensten gespeicherte Daten
Ein Bestandteil der in die AWS-Sicherheit integrierten mehrschichtigen Verteidigung ist der Grundsatz, alle ruhenden und übertragenen Daten zu verschlüsseln. Dafür können Sie die von Ihrer Organisation verwalteten Verschlüsselungsschlüssel verwenden (AWS KMS mit CMK).
Da die Cloud zunehmend zum Aufbau von Infrastrukturen und Anwendungen eingesetzt wird, werden zwangsläufig große Datenmengen in AWS gespeichert, übertragen oder verarbeitet. Werden diese Daten im Klartext oder unverschlüsselt bereitgestellt, können Angreifer sie lesen, kopieren oder verändern. Um dies und andere Sicherheitsverletzungen zu verhindern, verschlüsseln Sie Ihre ruhenden und übertragenen Daten.
6. Aktivieren Sie Überwachungstools für Ihre AWS-Konten
Die Überwachung ist entscheidend, um Verfügbarkeit, Zuverlässigkeit und Leistung Ihrer AWS-Lösungen zu gewährleisten. Wenn ein Angreifer Ihre Infrastruktur ins Visier nimmt, ist es wichtig, die Schritte nachzuvollziehen, die er in Ihren AWS-Konten unternommen hat.
AWS bietet verschiedene Überwachungstools, die bei Problemen Meldungen ausgeben und bei Bedarf automatisch Maßnahmen ergreifen. Aktivieren Sie die folgenden Tools, damit Sie auf dem Laufenden bleiben und Ihr Konto überwachen können:
AWS CloudTrail in allen AWS-Regionen
AWS CloudWatch für alle Ressourcen und Anwendungen in AWS
Je nach Risikoprofil Ihrer Organisation sollten Sie außerdem die Aktivierung von AWS-VPC-Flow-Logs und AWS-S3-Zugriffsprotokollen in Betracht ziehen.
7. Kontrollieren Sie mit Sicherheitsgruppen den Datenverkehr aus dem Internet
Wenn Sie in Ihren AWS-Konten Ressourcen erstellen, auf die über das Internet zugegriffen werden kann, sind Sie anfällig für Angriffe. Angreifer durchsuchen ständig IP-Adressen im Internet nach potenziellen Schwachstellen oder nicht authentifizierten Servern, die sie für ihre eigenen Zwecke nutzen können.
Mit den Sicherheitsgruppenregeln können Sie den Zugriff auf Ressourcen auf bekannte IP-Adressen oder bekannte Anwendungen und Netzwerke beschränken. Außerdem empfehlen wir AWS Security Hub und AWS GuardDuty, um Ihre AWS-Konten und Workloads auf schädliche Aktivitäten zu überwachen und automatisch Abhilfemaßnahmen einzuleiten.
8. Betreiben Sie nicht alle Services in einem AWS-Konto
Wenn Sie alle Ihre Anwendungen in einem AWS-Konto hosten, wird es für Angreifer einfacher, Zugriff auf Ihr Konto zu erhalten und alle darin gehosteten Services und anderen Anwendungen auszukundschaften.
Trennen und verwalten Sie stattdessen mehrere Konten, um Ihre Ressourcen zu schützen.
AWS Organization ist ein AWS-Service, mit dem Sie mehrere AWS-Konten voneinander trennen und verwalten können. Wenn Sie Anwendungen und Workloads mithilfe des Well-Architected Framework von AWS trennen, begrenzen Sie den möglichen Schadensradius, falls ein Angreifer Zugriff auf Ihr AWS-Konto erhält.
9. Verhindern Sie Fehlkonfigurationen in AWS RDS
Verwaltete Datenbanken wie AWS RDS (Amazon Relational Database Service) können falsch konfiguriert sein und für alle zugänglich werden, wenn sie keine Authentifizierung oder kein standardmäßiges Datenbank-Administratorpasswort erfordern.
Viele Anwendungen nutzen eine Backend-Datenbank, um personenbezogene und sensible Kundeninformationen und -daten zu speichern. Um Fehlkonfigurationen zu verhindern, durch die Daten gefährdet werden, beschränken Sie den Zugriff auf die Sicherheitsgruppen von AWS-RDS-Instances auf bekannte IP-Adressen. Außerdem können Sie die Standardanmeldedaten der von AWS RDS verwendeten Datenbank-Instances ändern.
10. Verhindern Sie verwaiste DNS-Einträge
Stellen Sie sicher, dass keine DNS-Einträge (Domain Name System) in Route53 unbekannt oder nicht mehr mit einem öffentlichen AWS-S3-Bucket verknüpft sind.
Bei Websites, die von einem öffentlichen Cloud-Anbieter wie AWS verwaltet und gehostet werden, können verwaiste DNS-Einträge entstehen. Wenn ein Angreifer die Dateien und Server, auf denen die Website gehostet wird, durch eigene ersetzen kann, kann er eine Subdomain übernehmen.
Führen Sie ein Verzeichnis aller aktiven DNS-Einträge und überprüfen Sie Ihre Prozesse regelmäßig. So stellen Sie sicher, dass die zugehörigen Ressourcen ebenfalls gelöscht werden, wenn DNS-Einträge nicht mehr benötigt werden.
Überwachen Sie außerdem kontinuierlich, ob ein AWS-S3-Bucket versehentlich im Internet freigegeben wurde oder ein S3-Bucket mit aktivierter Konfiguration für das Hosting statischer Websites gelöscht wird. So können Sie geeignete Abhilfemaßnahmen ergreifen. Automatisierte Benachrichtigungen sollten Teil dieser kontinuierlichen Überwachung sein.
Sichern Sie Ihre Cloud-Infrastruktur
Der Wechsel zu einem Cloud-Anbieter bietet erhebliche Vorteile – etwa Kosteneinsparungen, Skalierbarkeit, Wettbewerbsvorteile, höhere Sicherheit und neue Möglichkeiten der Zusammenarbeit. Die Einrichtung muss jedoch korrekt erfolgen, damit die heute vorgestellten Fehlkonfigurationen vermieden werden. Sicherheitsverletzungen in Ihren Anwendungen zu verhindern, ist eine fortlaufende Aufgabe für Entwicklungs- und Sicherheitsteams. Snyk unterstützt Sie dabei. Sehen Sie sich noch heute unseren Spickzettel zu AWS-Fehlkonfigurationen mit weiteren Informationen und Tipps zur Behebung an. Und falls Sie noch kein Snyk-Konto haben: Erstellen Sie ein kostenloses Snyk-Konto oder buchen Sie eine Demo, um zu erfahren, wie Snyk Ihnen dabei hilft, Schwachstellen in Ihrer Cloud-Infrastruktur zu finden und zu beheben.
Sichern Sie Ihre Infrastruktur an der Quelle
Snyk automatisiert die IaC-Sicherheit und Compliance in Workflows und erkennt abweichende sowie fehlende Ressourcen.
