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á.
Transferências seguras de arquivos usando Transfer Family, Amazon Cognito e GuardDuty
Manoj Kumar, Amazon Web Services
Resumo
Essa solução ajuda você a transferir arquivos com segurança por meio de um servidor SFTP usando. AWS Transfer Family Ele inclui recursos automatizados de verificação de malware por meio do Malware Protection for S3, um recurso da Amazon GuardDuty. Ele foi projetado para organizações que precisam trocar arquivos de forma segura com terceiros e validar que todos os arquivos recebidos sejam verificados em busca de malware antes de serem processados.
Os modelos de infraestrutura como código (IaC) fornecidos com esse padrão ajudam você a implantar o seguinte:
Um servidor SFTP seguro com autenticação do Amazon Cognito por meio de AWS Lambda
Buckets do Amazon Simple Storage Service (Amazon S3) para uploads e arquivos recebidos que foram verificados em busca de malware
Uma arquitetura baseada em nuvem privada virtual (VPC) com sub-redes públicas e privadas em várias zonas de disponibilidade
Controle de acesso baseado em IP para tráfego de entrada e saída, com listas de permissão e negação configuráveis
Análise automatizada de malware através de GuardDuty
Roteamento inteligente de arquivos com base nos resultados de escaneamento por meio da Amazon EventBridge e da Lambda
Notificações em tempo real para incidentes de segurança por meio do Amazon Simple Notification Service (Amazon SNS)
Criptografia para buckets Amazon S3 e variáveis de ambiente Lambda por meio de () AWS Key Management Service AWS KMS
Endpoints da Amazon Virtual Private Cloud (Amazon VPC) para acesso sem exposição à Internet
Registro abrangente por meio da CloudWatch integração com a Amazon
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS
Permissões no AWS Identity and Access Management (IAM) para realizar as ações descritas nesse padrão, incluindo a implantação de AWS CloudFormation modelos que provisionam funções do IAM
GuardDuty, ativado na conta de destino
Proteção contra malware para S3, ativada na conta de destino
As cotas de serviço permitem que você crie o seguinte na conta de destino:
Uma VPC
Uma sub-rede privada
Uma sub-rede pública
Três endereços IP elásticos
Limites suficientes de simultaneidade do Lambda
Um endereço de e-mail válido para notificações relacionadas à segurança
(Opcional) Uma lista de endereços IP ou intervalos de CIDR que você deseja permitir ou negar
(Opcional) AWS Command Line Interface (AWS CLI), instalado e configurado
Limitações
A proteção contra malware para S3 está sujeita a cotas, como tamanhos máximos de arquivo. Para obter mais informações, consulte Cotas na proteção contra malware para o S3 e a capacidade de suporte dos recursos do Amazon S3 na documentação. GuardDuty
Essa solução usa somente autenticação de nome de usuário e senha do Amazon Cognito. Este modelo não oferece suporte a métodos de autenticação baseados em certificados ou outros métodos de autenticação. Por padrão, essa solução não configura a autenticação multifator (MFA).
A solução implementa o controle de acesso baseado em IP somente por meio de grupos de segurança.
Arquitetura
O diagrama de arquitetura a seguir mostra os recursos que são implantados nesse padrão. Essa solução usa o Amazon Cognito para autenticação e autorização de usuários. Um servidor AWS Transfer Family SFTP é usado para upload de arquivos. Os arquivos são armazenados em buckets do Amazon S3, e a Amazon GuardDuty verifica se há malware nos arquivos. O Amazon SNS envia uma notificação por e-mail se um malware for detectado.

O diagrama mostra o seguinte fluxo de trabalho:
Um usuário se conecta ao endpoint do servidor SFTP em. AWS Transfer Family Isso inicia o processo de autenticação com o grupo de usuários do Amazon Cognito.
Uma função Lambda inicia o processo de autenticação e autorização e valida as credenciais do usuário com o Amazon Cognito.
A função Lambda retorna o bucket do Amazon
UploadBucketS3 como o diretório inicial. O usuário assume a função do IAM para o servidor Transfer Family, e a função Lambda notifica o usuário de que ele foi autenticado com sucesso.O usuário carrega um arquivo no servidor SFTP do Transfer Family. O arquivo é armazenado no bucket do
UploadBucketAmazon S3.GuardDuty verifica o arquivo em busca de malware. Os resultados potenciais do escaneamento são
NO_THREATS_FOUNDTHREATS_FOUNDUNSUPPORTED,ACCESS_DENIED,,FAILEDe. Para ver exemplos de resultados, consulte o resultado do escaneamento de objetos do S3 na GuardDuty documentação.Uma EventBridge regra detecta o evento do resultado da verificação.
EventBridge inicia a função Lambda de roteamento de arquivos.
A função Lambda processa o evento e filtra os arquivos com base nos resultados da verificação da seguinte forma:
Os arquivos que têm um resultado de
NO_THREATS_FOUNDverificação são enviados para o bucket doCleanBucketAmazon S3.Os arquivos que têm um resultado de
THREATS_FOUNDverificação são enviados para o bucket doMalwareBucketAmazon S3.Os arquivos que têm um resultado de
UNSUPPORTEDverificação são enviados para o bucket doErrorBucketAmazon S3.Os arquivos que têm um resultado de
ACCESS_DENIEDverificação são enviados para o bucket doErrorBucketAmazon S3.Os arquivos que têm um resultado de
FAILEDverificação são enviados para o bucket doErrorBucketAmazon S3.
Todos os arquivos são criptografados com um AWS KMS key.
Se um arquivo foi enviado para o bucket do
MalwareBucketAmazon S3, a função Lambda inicia um tópico do Amazon SNS. O tópico do Amazon SNS envia uma notificação por e-mail para um endereço de e-mail que você configura.
Ferramentas
Serviços da AWS
CloudWatchA Amazon ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.
O Amazon Cognito fornece autenticação, autorização e gerenciamento de usuários para suas aplicações Web e móveis.
EventBridgeA Amazon é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outros. Contas da AWS
GuardDutyA Amazon é um serviço contínuo de monitoramento de segurança que analisa e processa registros para identificar atividades inesperadas e potencialmente não autorizadas em seu AWS ambiente.
AWS Key Management Service (AWS KMS) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.
O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
O Amazon Simple Notification Service (Amazon SNS) ajuda você a coordenar e gerenciar a troca de mensagens entre publicadores e clientes, incluindo servidores web e endereços de e-mail.
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
AWS Transfer Familyajuda você a transferir arquivos para dentro e para fora dos serviços de AWS armazenamento pelos protocolos SFTP, FTPS ou FTP.
A Amazon Virtual Private Cloud (Amazon VPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.
Repositório de código
O código desse padrão está disponível no repositório GuardDuty Malware Scanning Solution
Práticas recomendadas
O CloudFormation modelo fornecido foi projetado para incorporar muitas AWS práticas recomendadas, como permissões de privilégio mínimo para funções e políticas do IAM, criptografia em repouso e em trânsito e rotação automática de chaves. Para ambientes de produção, considere a implementação das seguintes recomendações adicionais:
Habilite o MFA para usuários do Amazon Cognito
Implemente AWS Shieldpara proteção distribuída de negação de serviço (DDoS)
Configure AWS Configpara monitoramento contínuo de conformidade
Implemente AWS CloudTrailpara um registro abrangente de APIs
Configure a Amazon GuardDuty para detecção de ameaças além da verificação de malware
Implemente AWS Security Hubpara gerenciamento centralizado de segurança
Use AWS Secrets Managerpara gerenciamento de credenciais
Implemente o monitoramento do tráfego de rede com o espelhamento de tráfego
Configure o Amazon Macie para descoberta e proteção de dados confidenciais no Amazon S3
Implemente avaliações regulares de segurança e testes de penetração
Estabeleça um plano formal de resposta a incidentes
Implemente patches automatizados para todos os componentes
Conduza treinamentos regulares de segurança para administradores
Configurar AWS Organizationspara gerenciamento de segurança de várias contas
Épicos
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Clonar o repositório. | Digite o comando a seguir para clonar o repositório AWS Transfer Family e a solução de verificação de GuardDuty malware
| Desenvolvedor de aplicativos, DevOps engenheiro |
Crie a CloudFormation pilha. |
| Administrador de nuvem, DevOps engenheiro |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Ative a proteção contra malware. |
| Administrador de nuvem, administrador da AWS |
Adicione usuários ao grupo de usuários. | Adicione um ou mais usuários ao grupo de usuários do Amazon Cognito. Para obter instruções, consulte Gerenciamento de usuários em seu grupo de usuários na documentação do Amazon Cognito. | Administrador de nuvem, administrador da AWS |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Conecte-se ao endpoint do servidor SFTP. |
| Desenvolvedor de aplicativos, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro |
Solução de problemas
| Problema | Solução |
|---|---|
Falha na autenticação do usuário |
Para obter uma lista de AWS CLI comandos que podem ajudá-lo a executar essas etapas de solução de problemas, consulte Comandos úteis para solução de problemas na seção Informações adicionais. |
Falha na autenticação SFTP |
Para obter uma lista de AWS CLI comandos que podem ajudá-lo a executar essas etapas de solução de problemas, consulte Comandos úteis para solução de problemas na seção Informações adicionais. |
Acesso negado ao upload do arquivo |
Para obter uma lista de AWS CLI comandos que podem ajudá-lo a executar essas etapas de solução de problemas, consulte Comandos úteis para solução de problemas na seção Informações adicionais. |
Sem verificação de malware |
Para obter uma lista de AWS CLI comandos que podem ajudá-lo a executar essas etapas de solução de problemas, consulte Comandos úteis para solução de problemas na seção Informações adicionais. |
Erros da função Lambda |
Para obter uma lista de AWS CLI comandos que podem ajudá-lo a executar essas etapas de solução de problemas, consulte Comandos úteis para solução de problemas na seção Informações adicionais. |
Recursos relacionados
Aplicativos web Transfer Family (documentação do Transfer Family)
Mais informações
Comandos úteis para solução de problemas
Verifique o status de uma CloudFormation pilha:
aws cloudformation describe-stacks \ --stack-name <STACK_NAME>
Liste todos os usuários em um grupo de usuários do Amazon Cognito:
aws cognito-idp list-users \ --user-pool-id <USER_POOL_ID>
Veja os registros das funções do Lambda:
aws logs describe-log-groups \ --log-group-name-prefix /aws/lambda/
Verifique o status de GuardDuty:
aws guardduty list-detectors
Verifique as regras do grupo de segurança:
aws ec2 describe-security-groups \ --group-ids <SECURITY_GROUP_ID> \ --output table
Verifique o status do AWS Transfer Family servidor:
aws transfer describe-server \ --server-id <SERVER_ID>
Liste todos os arquivos em um bucket do Amazon S3:
aws s3 ls s3://<BUCKET_NAME>/ \ --recursive
Verifique o status de uma EventBridge regra:
aws events describe-rule \ --name <RULE_NAME>