Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden für die Sicherheit in Amazon SNS
AWS bietet viele Sicherheitsfunktionen für Amazon SNS. Überprüfen Sie diese Sicherheitsfunktionen im Kontext Ihrer eigenen Sicherheitsrichtlinie.
Anmerkung
Der Leitlinien für diese Sicherheitsfunktionen gilt für allgemeine Anwendungsfälle und Implementierungen. Wir empfehlen Ihnen, diese bewährten Methoden im Kontext Ihres spezifischen Anwendungsfalls, der Architektur und des Bedrohungsmodells zu überprüfen.
Vorbeugende bewährte Methoden
Im Folgenden werden bewährte vorbeugende Sicherheitsmethoden für Amazon SNS beschrieben.
Themen
Stellen Sie sicher, dass Themen nicht öffentlich zugänglich sind
Sofern Sie nicht ausdrücklich verlangen, dass jemand im Internet Ihr Amazon SNS-Thema lesen oder darin schreiben kann, sollten Sie sicherstellen, dass Ihr Thema nicht öffentlich zugänglich ist (für jeden auf der Welt oder für jeden authentifizierten Benutzer AWS zugänglich).
-
Vermeiden Sie das Erstellen von Richtlinien mit auf
""festgelegtemPrincipal. -
Vermeiden Sie die Verwendung eines Platzhalters (
*). Benennen Sie stattdessen einen oder mehrere bestimmte Benutzer.
Implementieren der geringstmöglichen Zugriffsrechte
Wenn Sie Berechtigungen erteilen, entscheiden Sie, wer sie erhält, für welche Themen die Berechtigungen gelten und welche bestimmten API-Aktionen für diese Themen zugelassen werden. Die Umsetzung des Prinzips der geringsten Rechte ist für die Reduzierung von Sicherheitsrisiken ausschlaggebend. Es hilft auch, die negativen Auswirkungen von Fehlern oder böswilligen Absichten zu reduzieren.
Folgen Sie den standardmäßigen Sicherheitshinweisen zur Erteilung von geringsten Privilegien. Das heißt: erteilen Sie nur die Berechtigungen, die zum Ausführen einer bestimmten Aufgabe erforderlich sind. Sie können die geringsten Rechte implementieren, indem Sie eine Kombination von Sicherheitsrichtlinien für den Benutzerzugriff verwenden.
Amazon SNS verwendet das Herausgeber-Abonnenten-Modell, das drei Arten von Benutzerkontenzugriff erfordert:
-
Administratoren – Zugriff auf das Erstellen, Ändern und Löschen von Themen. Administratoren steuern auch Themenrichtlinien.
-
Herausgeber – Zugriff auf das Senden von Nachrichten an Themen.
-
Abonnenten – Zugriff auf das Abonnieren von Themen.
Weitere Informationen finden Sie in den folgenden Abschnitten:
Verwenden Sie IAM-Rollen für Anwendungen und AWS Dienste, für die Amazon SNS-Zugriff erforderlich ist
Damit Anwendungen oder AWS Dienste wie Amazon EC2 auf Amazon SNS-Themen zugreifen können, müssen sie in ihren AWS API-Anfragen gültige AWS Anmeldeinformationen verwenden. Da diese Anmeldeinformationen nicht automatisch rotiert werden, sollten Sie AWS Anmeldeinformationen nicht direkt in der Anwendung oder EC2-Instance speichern.
Sie sollten mithilfe einer IAM-Rolle temporäre Anmeldeinformationen für Anwendungen und Services verwalten, die Zugriff auf Amazon SNS benötigen. Wenn Sie eine Rolle verwenden, müssen Sie keine langfristigen Anmeldeinformationen (wie Benutzername, Passwort und Zugriffsschlüssel) an eine EC2-Instance und einen AWS -Service wie AWS Lambda ausgeben. Stattdessen stellt die Rolle temporäre Berechtigungen bereit, die Anwendungen verwenden können, wenn sie andere AWS Ressourcen aufrufen.
Weitere Informationen finden Sie unter IAM-Rollen und Gängige Szenarien für Rollen: Benutzer, Anwendungen und Services im IAM Benutzerhandbuch.
Implementieren serverseitiger Verschlüsselung
Um Probleme mit Datenlecks zu vermeiden, verwenden Sie Verschlüsselung im Ruhezustand, um Ihre Nachrichten mit einem Schlüssel zu verschlüsseln, der an einem anderen Ort als dem Ort gespeichert ist, an dem Ihre Nachrichten gespeichert sind. Server-sideVerschlüsselung (SSE) ermöglicht die Verschlüsselung von Daten im Ruhezustand. Amazon SNS verschlüsselt Ihre Daten auf Nachrichtenebene bei der Speicherung und entschlüsselt die Nachrichten für Sie bei Zugriff darauf. SSE verwendet Schlüssel, die in verwaltet AWS Key Management Service werden. Solange Sie Ihre Anfrage authentifizieren und über Zugriffsberechtigungen verfügen, besteht kein Unterschied zwischen dem Zugriff auf verschlüsselte und unverschlüsselte Themen.
Weitere Informationen erhalten Sie unter Sicherung von Amazon SNS-Daten mit serverseitiger Verschlüsselung und Verwaltung der Amazon SNS-Verschlüsselungsschlüssel und -kosten.
Erzwingen der Verschlüsselung von Daten während der Übertragung
Es ist möglich, aber nicht zu empfehlen, Nachrichten zu veröffentlichen, die während der Übertragung über HTTP nicht verschlüsselt sind. Wenn ein Thema jedoch im Ruhezustand mit verschlüsselt wird, ist es erforderlich AWS KMS, HTTPS für die Veröffentlichung von Nachrichten zu verwenden, um die Verschlüsselung sowohl im Ruhezustand als auch während der Übertragung sicherzustellen. Das Thema lehnt HTTP-Nachrichten zwar nicht automatisch ab, aber zur Einhaltung der Sicherheitsstandards ist die Verwendung von HTTPS erforderlich.
AWS empfiehlt, HTTPS anstelle von HTTP zu verwenden. Wenn Sie HTTPS verwenden, werden Nachrichten während des Transports automatisch verschlüsselt, selbst wenn das SNS-Thema selbst nicht verschlüsselt ist. Ohne HTTPS kann ein netzwerkbasierter Angreifer mithilfe eines Angriffs wie Man-in-the-Middle den Datenverkehr im Netzwerk abhören oder auf ihn einwirken.
Um nur verschlüsselte Verbindungen über HTTPS zu erzwingen, fügen Sie dieaws:SecureTransport-Bedingung in der IAM-Richtlinie hinzu, die unverschlüsselten SNS-Themen zugeordnet ist. Dies zwingt Nachrichtenherausgeber, HTTPS anstelle von HTTP zu verwenden. Sie können folgendes Beispiel nutzen:
Erwägen der Verwendung von VPC-Endpunkten für den Zugriff auf Amazon SNS
Verwenden Sie bei Themen, mit denen eine Interaktion erforderlich ist, die jedoch dem Internet absolut nicht zugänglich gemacht werden dürfen, VPC-Endpunkte, um den Zugriff auf Themen ausschließlich auf die Hosts innerhalb einer bestimmten VPC einzuschränken. Mit Themenrichtlinien können Sie den Zugriff auf Themen von bestimmten Amazon VPC-Endpunkten oder von bestimmten VPCs aus steuern.
Amazon SNS-VPC-Endpunkte bieten zwei Möglichkeiten zur Kontrolle des Zugriffs auf Ihre Nachrichten:
-
Sie können steuern, welche Anfragen, Benutzer oder Gruppen durch einen spezifischen VPC-Endpunkt erlaubt sind.
-
Mithilfe einer Themenrichtlinie können Sie steuern, welche VPCs oder VPC-Endpunkte Zugriff auf Ihre Themenrichtlinie haben.
Weitere Informationen erhalten Sie unter Erstellen des Endpunkts und Erstellen einer Amazon-VPC-Endpunktrichtlinie für Amazon SNS.
Stellen Sie sicher, dass Abonnements nicht für die Übertragung an Raw-HTTP-Endpunkte konfiguriert sind
Vermeiden Sie das Konfigurieren von Abonnements für die Bereitstellung an unformatierte HTTP-Endpunkte. Stellen Sie immer Abonnements bereit, die an einen Endpunkt-Domänennamen gesendet werden. Beispiel: Ein Abonnement, das für die Bereitstellung an einen Endpunkt konfiguriert ist, http://1.2.3.4/my-path, sollte geändert werden in http://my.domain.name/my-path.
Authentifizierung beim Abbestellen erzwingen
Sofern Sie nicht verpflichtet sind, eine nicht authentifizierte Abmeldung zuzulassen, wie z. B. bei der einfachen Abmeldung von E-Mails oder SMS, müssen Sie die Authentifizierung für die Abmeldung von einem Thema erzwingen. Dies entspricht der Empfehlung zur Zugriffskontrolle nach den geringsten Rechten.
Sie können dies bei der Bestätigung AuthenticateOnUnsubscribe eines True Abonnements festlegen. TrueWird bei der Bestätigung eines Amazon SNS-Abonnements die AuthenticateOnUnsubscribe Markierung nicht auf gesetzt, kann dies dazu führen, dass Abmeldeanfragen erfolgreich sind, auch wenn sie nicht authentifiziert sind. Weitere Informationen finden Sie in der Amazon SNS-API-Referenz für ConfirmSubscription oder im Python-Beispiel in der Amazon Q Detector Library.
Um beispielsweise ein E-Mail-Abonnement mit zu bestätigen AWS CLI, kopieren Sie den Link aus dem Text „Abonnement bestätigen“ in der E-Mail-Benachrichtigung. Diese URL enthält die erforderlichen Informationen, um den folgenden AWS CLI Befehl aufzurufen.
aws sns confirm-subscription --region us-west-2 \ --topic-arn sns-topic-arn \ --token token-from-subscribe-notification \ --authenticate-on-unsubscribe true
Wobei Folgendes gilt:
-
aws-region ist die AWS Region, in der sich das Thema befindet. Dies ist auch im Thema ARN verfügbar.
-
sns-topic-arn ist der ARN des Themas. Dies ist der Text nach „TopicArn=“ und vor „&Token“ in der URL zur Bestätigung des Abonnements.
-
token-from-subscribe-notification ist die UUID-Zeichenfolge nach „Token=“ und vor „&Endpoint“ in der Abonnementbestätigungs-URL.
Im Folgenden finden Sie eine Beispiel-URL:
https://sns.us-west-2.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:us-west-2:123456789012:sns-topic&Token=a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1&Endpoint=email@address.com