Práticas recomendadas de segurança para o Amazon SQS
A AWS fornece muitos recursos de segurança para o Amazon SQS. Revise-os no contexto da sua própria política de segurança. Veja a seguir as práticas recomendadas de segurança preventiva para o Amazon SQS.
nota
As orientações específicas de implementação fornecidas são para casos de uso e implementações comuns. Sugerimos que você examine as melhores práticas no contexto do seu caso de uso, arquitetura e modelo de ameaças específicos.
Garantir que as filas não sejam acessíveis ao público
A menos que seja nitidamente necessário que qualquer pessoa na Internet possa ler ou gravar na sua fila do Amazon SQS, você deve garantir que a fila não seja acessível ao público (acessível por todo mundo ou por qualquer usuário autenticado da AWS).
-
Evite criar políticas com o
Principaldefinido 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 você concede permissões, você decide quem as recebe, para quais filas as permissões se aplicam, e as ações específicas de API que você deseja permitir para essas filas. A implementação de privilégios mínimos é importante para reduzir os riscos de segurança e o efeito 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 fazer essa implementação usando uma combinação de políticas de segurança.
O Amazon SQS utiliza o modelo produtor-consumidor, exigindo três tipos de acesso à conta de usuário:
-
Administradores: acesso para criar, modificar e excluir filas. Os administradores também controlam as políticas de fila.
-
Produtores: acesso para enviar mensagens às filas.
-
Consumidores: acesso para receber e excluir mensagens nas filas.
Para obter mais informações, consulte as seções a seguir:
Usar funções do IAM para aplicações e produtos da AWS que exigem acesso ao Amazon SQS
Para aplicações ou produtos da AWS, como o Amazon EC2 para acessar filas do Amazon SQS, elas devem usar credenciais da AWS em suas solicitações de API da AWS. Como essas credenciais não são alteradas automaticamente, você não deve armazenar credenciais da AWS diretamente no aplicativo ou na instância do EC2.
Você deve usar uma função do IAM para gerenciar credenciais temporárias para aplicações ou produtos que precisem acessar o Amazon SQS. Quando você usa um perfil, não é necessário distribuir credenciais de longo prazo (como um nome de usuário, uma senha e chaves de acesso) para uma instância do EC2 ou serviço da AWS, como o AWS Lambda. Em vez disso, a função fornece permissões temporárias que os aplicativos podem usar ao fazer chamadas para outros recursos da AWS.
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 SQS criptografa os dados no nível da mensagem ao armazená-los e descriptografa as mensagens para você, quando você as acessa. O SSE usa chaves gerenciadas pelo AWS Key Management Service. Se você autenticar sua solicitação e tiver as permissões de acesso, não haverá diferença de acesso entre as filas criptografadas e não criptografadas.
Para obter mais informações, consulte Criptografia em repouso no Amazon SQS e Gerenciamento de chaves do Amazon SQS.
Aplique a criptografia de dados em trânsito
Sem HTTPS (TLS), um invasor que venha pela rede pode bisbilhotar o tráfego de rede ou manipulá-lo usando um ataque, como man-in-the-middle. Permita somente conexões criptografadas por HTTPS (TLS), usando a condição aws:SecureTransport na política de fila para forçar que as solicitações usem SSL.
Considere usar endpoints da VPC para acessar o Amazon SQS
Se você tiver filas com as quais você deve poder interagir, mas que não devem de forma alguma ficar expostas à Internet, use VPC endpoints para enfileirar o acesso apenas aos hosts dentro de uma VPC específica. Você pode usar políticas de fila para controlar o acesso a filas de endpoints da Amazon VPC específicos ou de VPCs específicas.
Os endpoints da VPC do Amazon SQS 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 VPCs ou VPC endpoints terão acesso à fila usando uma política de fila.
Para obter mais informações, consulte Endpoints da Amazon Virtual Private Cloud para o Amazon SQS e Criar uma política de endpoint da Amazon VPC para o Amazon SQS.