Direkt zum Inhalt

Wie überprüfe ich, ob an HTTP- und HTTPS-Endpunkte gesendete SNS-Nachrichten authentisch sind?

Lesedauer: 2 Minute
0

Ich verwende Amazon Simple Notification Service (Amazon SNS), um Benachrichtigungen an einen HTTPS- oder HTTP-Endpunkt zu senden. Ich möchte überprüfen, ob die an die Endpunkte gesendeten Amazon-SNS-Nachrichten authentisch sind, um Spoofing-Angriffe zu verhindern.

Lösung

Es hat sich bewährt, die zertifikatsbasierte Signaturvalidierung zu verwenden, wenn du die Echtheit einer Amazon-SNS-Benachrichtigung überprüfst. Weitere Informationen findest du unter Überprüfen der Signaturen von Amazon-SNS-Nachrichten.

Gehe wie folgt vor, um Spoofing-Angriffe zu verhindern, wenn du Amazon-SNS-Nachrichtensignaturen überprüfst:

  • Verwende immer HTTPS, um das Zertifikat von Amazon SNS abzurufen.
  • Validiere die Echtheit des Zertifikats.
  • Stelle sicher, dass Amazon SNS das Zertifikat gesendet hat.
  • Verwende eines der unterstützten AWS SDKs für Amazon SNS, um Nachrichten nach Möglichkeit zu validieren und zu verifizieren.

Beispiel für einen Nachrichtentext

Im Folgenden findest du ein Beispiel für eine von Amazon SNS gesendete Nutzdatenzeichenfolge für Nachrichten:

{"Type" : "Notification",
"MessageId" : "e1f2a232-e8ce-5f0a-b5d3-fbebXXXXXXXX",
"TopicArn" : "arn:aws:sns:us-east-1:XXXXXXXX:SNSHTTPSTEST",
"Subject" : "Test",
"Message" : "TestHTTPS",
"Timestamp" : "2021-10-07T18:55:19.793Z",
"SignatureVersion" : "1",
"Signature" : "VetoDxbYMh0Ii/87swLEGZt6FB0ZzGRjlW5BiVmKK1OLiV8B8NaVlADa6ThbWd1s89A4WX1WQwJMayucR8oYzEcWEH6//VxXCMQxWD80rG/NrxLeoyas4IHXhneiqBglLXh/R9nDZcMAmjPETOW61N8AnLh7nQ27O8Z+HCwY1wjxiShwElH5/+2cZvwCoD+oka3Gweu2tQyZAA9ergdJmXA9ukVnfieEEinhb8wuaemihvKLwGOTVoW/9IRMnixrDsOYOzFt+PXYuKQ6KGXpzV8U/fuJDsWiFa/lPHWw9pqfeA8lqUJwrgdbBS9vjOJIL+u2c49kzlei8zCelK3n7w==",
"SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-7ff5318490ec183fbaddaa2aXXXXXXXX.pem",
"UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:XXXXXXXX:SNSHTTPSTEST:b5ab2db8-7775-4852-bd1a-2520XXXXXXXX",
"MessageAttributes" : {
"surname" : {"Type":"String","Value":"SNSHTTPSTest"}
}
}

Weitere Informationen findest du unter Analyse von Amazon-SNS-Nachrichtenformaten.

Ähnliche Informationen

Fanout-Amazon-SNS-Benachrichtigungen an HTTPS-Endpunkte

Was ist der IP-Adressbereich von Amazon SNS?

AWS OFFICIALAktualisiert vor 7 Monaten