Salta al contenuto

Come posso verificare che i messaggi di SNS inviati agli endpoint HTTP e HTTPS siano autentici?

2 minuti di lettura
0

Utilizzo Amazon Simple Notification Service (Amazon SNS) per inviare notifiche a un endpoint HTTPS o HTTP. Desidero verificare che i messaggi di Amazon SNS inviati agli endpoint siano autentici per prevenire attacchi di spoofing.

Risoluzione

È consigliabile utilizzare la convalida delle firme basata su certificati quando verifichi l'autenticità di una notifica di Amazon SNS. Per ulteriori informazioni, consulta Verifica delle firme dei messaggi Amazon SNS.

Per contribuire a prevenire attacchi di spoofing verificando le firme dei messaggi di Amazon SNS, completa le seguenti azioni:

  • Utilizza sempre HTTPS per ottenere il certificato da Amazon SNS.
  • Convalida l'autenticità del certificato.
  • Verifica che Amazon SNS abbia inviato il certificato.
  • Utilizza uno degli SDK AWS supportati per Amazon SNS per convalidare e verificare i messaggi quando possibile.

Esempio di corpo del messaggio

Di seguito è riportato un esempio di stringa di payload del messaggio inviata da Amazon SNS:

{"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"}
}
}

Per ulteriori informazioni, consulta Analisi dei formati di messaggi Amazon SNS.

Informazioni correlate

Fanout delle notifiche Amazon SNS agli endpoint HTTPS

Come posso iscrivere un endpoint HTTP o HTTPS privato a un mio topic Amazon SNS?