HTTP 및 HTTPS 엔드포인트로 전송되는 Amazon SNS 메시지의 신뢰성을 확인하려면 어떻게 해야 합니까?

1분 분량
0

Amazon Simple Notification Service(SNS)를 사용하여 HTTPS 또는 HTTP 엔드포인트로 알림을 보내고 있습니다. 스푸핑 공격을 방지하고 싶은데, 엔드포인트가 수신하는 Amazon SNS 메시지의 신뢰성을 확인하려면 어떻게 해야 합니까?

해결 방법

Amazon SNS 알림의 신뢰성을 확인할 때 인증서 기반 서명 검증을 사용하는 것이 가장 좋습니다. 자세한 설명은 Amazon SNS 개발자 안내서의 Amazon SNS 메시지의 서명 확인하기를 참조하십시오.

스푸핑 공격을 방지하려면 Amazon SNS 메시지 서명을 확인할 때 다음을 수행해야 합니다.

  • 항상 HTTPS를 사용하여 Amazon SNS에서 인증서를 가져옵니다.
  • 인증서의 신뢰성을 검증합니다.
  • 인증서가 Amazon SNS에서 전송되었는지 확인합니다.
  • (가능한 경우) Amazon SNS에 대해 지원되는 AWS SDK 중 하나를 사용하여 메시지를 검증하고 확인합니다.

메시지 본문 예시

다음은 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"}
}
}

Amazon SNS에서 사용하는 메시지 형식에 대한 자세한 내용은 메시지 형식 구문 분석을 참조하세요.


관련 정보

HTTP/S 엔드포인트로 팬아웃

Amazon SNS에서 AWS Lambda 사용

Amazon SNS의 IP 주소 범위는 어떻게 됩니까?

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음