Melhores práticas SNS de segurança da Amazon - 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á.

Melhores práticas SNS de segurança da Amazon

AWS fornece muitos recursos de segurança para a AmazonSNS. 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

A seguir estão as melhores práticas de segurança preventiva para a 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 SNS tópico da Amazon, 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 AWS usuário 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

Ao conceder permissões, você decide quem as recebe, para quais tópicos as permissões se destinam e API as ações específicas que 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.

A Amazon SNS usa o modelo editor-assinante, exigindo três tipos de acesso à conta do 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 IAM funções para aplicativos e AWS serviços que exigem SNS acesso à Amazon

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

Você deve usar uma IAM função para gerenciar credenciais temporárias para aplicativos ou serviços que precisam acessar a AmazonSNS. 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 IAMFunções e cenários comuns para funções: usuários, aplicativos e serviços no Guia do IAM usuário.

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 do lado do servidor (SSE) fornece criptografia de dados em repouso. A Amazon SNS criptografa seus dados no nível da mensagem quando os armazena e descriptografa as mensagens para você quando você as acessa. SSEusa 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 Protegendo os SNS dados da Amazon com criptografia do lado do servidor e Gerenciando chaves e custos de SNS criptografia da Amazon.

Aplicar a criptografia de dados em trânsito

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

AWS recomenda que você use HTTPS em vez deHTTP. Quando você usaHTTPS, as mensagens são criptografadas automaticamente durante o trânsito, mesmo que o SNS tópico em si não esteja criptografado. Sem HTTPS isso, 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 criptografadasHTTPS, adicione a aws:SecureTransportcondição na IAM política anexada aos tópicos não criptografadosSNS. Isso força os editores de mensagens a usarem HTTPS em vez deHTTP. 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": "*" } ] }

Considere usar VPC endpoints para acessar a Amazon SNS

Se você tem tópicos com os quais precisa interagir, mas esses tópicos não devem ser expostos à Internet, use VPC endpoints para limitar o acesso aos tópicos somente aos hosts de um determinado VPC tópico. Você pode usar políticas de tópicos para controlar o acesso a tópicos de VPC endpoints específicos da Amazon ou de determinadosVPCs.

SNSVPCOs endpoints da Amazon oferecem duas maneiras de controlar o acesso às suas mensagens:

  • Você pode controlar as solicitações, os usuários ou os grupos permitidos por meio de um VPC endpoint específico.

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

Para ter mais informações, consulte Criar o endpoint e Criação de uma política de VPC endpoint da Amazon para a 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.