Práticas recomendadas de segurança para o Amazon SNS - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Práticas recomendadas de segurança para o Amazon SNS

AWS fornece muitos recursos de segurança para o Amazon SNS. Analise esses recursos de segurança no contexto de sua própria política de segurança.

nota

As orientações desses recursos de segurança se aplicam a casos de uso e implementações comuns. Recomendamos que você examine as melhores práticas no contexto do seu caso de uso, arquitetura e modelo de ameaças específicos.

Melhores práticas preventivas

Veja a seguir as práticas recomendadas de segurança preventiva para o Amazon SNS.

Verifique se os tópicos não estão acessíveis ao público geral

A menos que você exija explicitamente que qualquer pessoa na Internet possa ler ou escrever em seu tópico do Amazon SNS, você deve garantir que seu tópico não seja acessível ao público (acessível por qualquer pessoa no mundo ou por qualquer usuário AWS autenticado).

  • Evite criar políticas com o Principal definido como "".

  • Evite usar um curinga (*). Em vez disso, nomeie um usuário ou usuários específicos.

Implemente o privilégio de acesso mínimo

Quando concede permissões, você decide quem as recebe, para quais tópicos as permissões se aplicam e as ações específicas de API que você deseja permitir para esses tópicos. A implementação do princípio de privilégio mínimo é importante para reduzir os riscos de segurança. Também ajuda a reduzir o efeito negativo de erros ou intenção maliciosa.

Siga o aviso de segurança padrão de concessão de privilégios mínimos. Ou seja, conceda apenas as permissões necessárias para executar uma tarefa específica. Você pode implementar o privilégio mínimo usando uma combinação de políticas de segurança pertencentes ao acesso do usuário.

O Amazon SNS usa o modelo publicador-assinante, exigindo três tipos de acesso à conta de usuário:

  • Administradores: acesso para criar, modificar e excluir tópicos. Os administradores também controlam as políticas de tópicos.

  • Editores: acesso ao envio de mensagens para tópicos.

  • Assinantes: acesso à assinatura de tópicos.

Para obter mais informações, consulte as seções a seguir:

Use funções do IAM para aplicativos e AWS serviços que exigem acesso ao Amazon SNS

Para que aplicativos ou AWS serviços, como a Amazon EC2, acessem os tópicos do Amazon SNS, eles devem usar AWS credenciais válidas em suas AWS solicitações de API. Como essas credenciais não são alternadas automaticamente, você não deve armazená-las AWS diretamente no aplicativo ou na instância. EC2

Use uma função do IAM para gerenciar credenciais temporárias para aplicações ou serviços que precisam acessar o Amazon SNS. Ao usar uma função, você não precisa distribuir credenciais de longo prazo (como nome de usuário, senha e chaves de acesso) para uma EC2 instância ou AWS serviço, como AWS Lambda. Em vez disso, a função fornece permissões temporárias que os aplicativos podem usar quando fazem chamadas para outros AWS recursos.

Para obter mais informações, consulte IAM Roles (Funções do IAM) e Common Scenarios for Roles: Users, Applications, and Services (Cenários comuns para funções: usuários, aplicações e produtos) no Guia do usuário do IAM.

Implemente a criptografia no lado do servidor

Para atenuar problemas de vazamento de dados, utilize a criptografia em repouso para criptografar as mensagens usando uma chave armazenada em um local diferente do local de armazenamento das suas mensagens. A criptografia no lado do servidor (SSE) fornece criptografia dos dados em repouso. O Amazon SNS criptografa os dados no nível da mensagem ao armazená-los e descriptografa as mensagens para você, quando você as acessa. SSE usa chaves gerenciadas em AWS Key Management Service. Quando você autentica sua solicitação e tem as permissões de acesso, não há diferença de acesso entre as filas criptografadas e não criptografadas.

Para ter mais informações, consulte Segurança dos dados do Amazon SNS com a criptografia do lado do servidor e Gerenciar chaves e custos de criptografia do Amazon SNS.

Aplicar a criptografia de dados em trânsito

É possível, mas não recomendado, publicar mensagens que não estejam criptografadas durante o trânsito usando HTTP. No entanto, quando um tópico é criptografado em repouso usando AWS KMS, é necessário usar HTTPS para publicar mensagens para garantir a criptografia em repouso e em trânsito. Embora o tópico não rejeite automaticamente mensagens HTTP, o uso de HTTPS é necessário para manter os padrões de segurança.

AWS recomenda que você use HTTPS em vez de HTTP. Ao usar HTTPS, as mensagens são criptografadas automaticamente durante o trânsito, mesmo que o tópico do SNS em si não esteja criptografado. Sem HTTPS, um invasor baseado em rede pode espionar o tráfego da rede ou manipulá-lo usando um ataque como. man-in-the-middle

Para impor somente conexões criptografadas por HTTPS, adicione a condição aws:SecureTransport à política do IAM anexada aos tópicos do SNS não criptografados. Isso força os editores de mensagens a usar HTTPS em vez de HTTP. Você pode usar o seguinte exemplo de política como um guia:

{ "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPublishThroughSSLOnly", "Action": "SNS:Publish", "Effect": "Deny", "Resource": [ "arn:aws:sns:us-east-1:1234567890:test-topic" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }

Considerar o uso de endpoints da VPC para acessar o Amazon SNS

Se você tiver tópicos com os quais é preciso interagir, mas que não devem de forma alguma ficar expostos à Internet, use VPC endpoints para limitar o acesso ao tópico apenas aos hosts dentro de uma VPC específica. Você pode usar políticas de tópicos para controlar o acesso a tópicos de endpoints específicos da Amazon VPC ou de pontos específicos. VPCs

Os endpoints da VPC do Amazon SNS fornecem duas maneiras de controlar o acesso às suas mensagens:

  • É possível controlar as solicitações, os usuários ou os grupos permitidos por um VPC endpoint específico.

  • Você pode controlar quais endpoints VPCs ou VPC têm acesso ao seu tópico usando uma política de tópicos.

Para ter mais informações, consulte Criar o endpoint e Criar uma política de endpoint da Amazon VPC para o Amazon SNS.

Certificar-se de que as assinaturas não estejam configuradas para entregar a endpoints http brutos

Evite configurar assinaturas para entregar a endpoints http brutos. Sempre tenha assinaturas entregando para um nome de domínio de endpoint. Por exemplo, uma assinatura configurada para entregar a um endpoint, http://1.2.3.4/my-path, deve ser alterada para http://my.domain.name/my-path.