Práticas recomendadas de segurança no AWS CloudTrail
AWS CloudTrailO oferece uma série de recursos de segurança a serem considerados no desenvolvimento e na implementação das suas próprias políticas de segurança. As práticas recomendadas a seguir são diretrizes gerais e não representam uma solução completa de segurança. Como essas práticas recomendadas podem não ser adequadas ou suficientes para o seu ambiente, trate-as como considerações úteis em vez de prescrições.
Tópicos
Práticas recomendadas de segurança de detecção do CloudTrail
Crie uma trilha do
Para obter um registro contínuo de eventos em sua conta da AWS, crie uma trilha. Embora o CloudTrail forneça 90 dias de informações de histórico de eventos para eventos de gerenciamento no console do CloudTrail sem criar uma trilha, ele não é um registro permanente e não fornece informações sobre todos os possíveis tipos de evento. Para um registro contínuo e para um registro que contém todos os tipos de evento especificados, você deve criar uma trilha, que fornece arquivos de log a um bucket do Amazon S3 especificado.
Para ajudar a gerenciar seus dados do CloudTrail, considere a criação de uma trilha que registra eventos de gerenciamento em todas as regiões da Regiões da AWS e, em seguida, a criação de trilhas adicionais que registram tipos de evento específicos para recursos, como a atividade do bucket do Amazon S3 ou funções do AWS Lambda.
Você pode seguir algumas das etapas abaixo:
Criar uma trilha multirregional
Para obter um registro completo de eventos realizados por uma identidade do IAM ou um serviço em sua AWS, crie uma trilha multirregional. Trilhas multirregionais registram em log eventos em toda as Regiões da AWS habilitadas na sua Conta da AWS. Ao registrar em log eventos em todas as Regiões da AWS habilitadas, você garante a captura de atividades em todas as regiões habilitadas na sua Conta da AWS. Isso inclui o registro em log dos eventos de serviço globais, registrados em log em uma Região da AWS específica para esse serviço. Todas as trilhas criadas usando o console do CloudTrail são multirregionais.
Você pode seguir algumas das etapas abaixo:
-
Converter uma trilha de região única existente em uma trilha multirregional, use o comando .
-
Implemente controles de detecção contínua para ajudar a garantir que todas as trilhas criadas registrem eventos em todas as regiões da Regiões da AWS usando a regra multi-region-cloud-trail-enabled no AWS Config.
Habilitar a integridade do arquivo de log do CloudTrail
Os arquivos de log validados são valiosos especialmente para segurança e investigações forenses. Por exemplo, um arquivo de log validado permite que você declare positivamente que o arquivo de log não foi alterado ou que determinadas credenciais de identidade do IAM realizaram atividades específicas de API. O processo de validação da integridade dos arquivos de log do CloudTrail também permite que você saiba se um arquivo de log foi excluído ou alterado ou declare positivamente que nenhum arquivo de log foi fornecido à sua conta durante um determinado período. A validação de integridade de arquivos de log do CloudTrail usa algoritmos padrão do setor: SHA-256 para hashing e SHA-256 com RSA para assinaturas digitais. Desse modo, é computacionalmente impraticável modificar, excluir ou forjar arquivos de log do CloudTrail sem detecção. Para obter mais informações, consulte Habilitar a validação e validar arquivos.
Integrar com Amazon CloudWatch Logs
O CloudWatch Logs permite que você monitore e receba alertas para eventos específicos capturados pelo CloudTrail. Os eventos enviados para o CloudWatch Logs são os configurados para serem registrados em log por sua trilha, assim, certifique-se de ter configurado a trilha ou as trilhas para registrar em log os tipos de evento (eventos de gerenciamento, eventos de dados e/ou eventos de atividade de rede) que você tem interesse em monitorar.
Por exemplo, é possível monitorar eventos de gerenciamento relacionados a rede e segurança de chave, como eventos de login com falha de Console de gerenciamento da AWS.
Você pode seguir algumas das etapas abaixo:
-
Analise as integrações de exemplo do CloudWatch Logs para o CloudTrail.
-
Configure a trilha para enviar eventos para o CloudWatch Logs.
-
Considere implementar controles de detecção contínua para ajudar a garantir que todas as trilhas enviem eventos ao CloudWatch Logs para monitoramento usando a regra cloud-trail-cloud-watch-logs-enabled no AWS Config.
Usar o Amazon GuardDuty
O Amazon GuardDuty é um serviço de detecção de ameaças que ajuda você a proteger contas, contêineres, workloads e dados no ambiente da AWS. Usando modelos de machine learning (ML) e recursos de detecção de anomalias e ameaças, o GuardDuty monitora continuamente diferentes fontes de logs para identificar e priorizar possíveis riscos de segurança e atividades mal-intencionadas no seu ambiente.
Por exemplo, o GuardDuty detectará uma possível exfiltração de credenciais caso detecte credenciais criadas exclusivamente para uma instância do Amazon EC2 por meio de um perfil de inicialização de instância, mas que estão sendo usadas em outra conta dentro da AWS. Para obter mais informações, consulte Guia do usuário do Amazon GuardDuty.
Use AWS Security Hub CSPM
Monitore seu uso do CloudTrail em relação a práticas recomendadas de segurança com o AWS Security Hub CSPM. O Security Hub usa controles de segurança detetives para avaliar configurações de recursos e padrões de segurança que ajudam você a cumprir vários frameworks de conformidade. Para obter mais informações sobre como usar o Security Hub para avaliar os recursos do CloudTrail, consulte Controles do AWS CloudTrail no Guia do usuário do AWS Security Hub CSPM.
Práticas recomendadas de segurança preventiva do CloudTrail
As práticas recomendadas do CloudTrail a seguir podem ajudar a evitar incidentes de segurança.
Registrar em log em um bucket do Amazon S3 centralizado e dedicado
Os arquivos de log do CloudTrail são um log de auditoria de ações executadas por uma identidade do IAM ou um serviço da AWS. A integridade, integridade e disponibilidade desses logs é essencial para fins de auditoria e forenses. Ao fazer login em um bucket do Amazon S3 centralizado e dedicado, você pode impor rigorosos controles de segurança, acesso e separação de tarefas.
Você pode seguir algumas das etapas abaixo:
-
Crie uma conta separada da AWS como uma conta de arquivo de log. Se você usar o AWS Organizations, inscreva essa conta na organização e considere criar uma trilha da organização para registrar os dados de todas as contas da AWS na sua organização.
-
Se você não usar o Organizations, mas quiser registrar dados para várias contas da AWS, crie uma trilha para registrar atividades nessa conta de arquivo de log. Restrinja o acesso a essa conta apenas a usuários administrativos confiáveis que devem ter acesso aos dados de conta e auditoria.
-
Como parte da criação de uma trilha, seja uma trilha da organização ou uma trilha para uma única conta da AWS, crie um bucket do Amazon S3 dedicado para armazenar arquivos de log para essa trilha.
-
Se você deseja registrar atividades para mais de uma conta da AWS, modifique a política de bucket para permitir o registro e o armazenamento de arquivos de log para todas as contas da AWS que você deseja registrar a atividade da conta da AWS.
-
Se você não estiver usando uma trilha de organização, crie trilhas em todas as suas contas da AWS, especificando o bucket do Amazon S3 na conta do arquivo de log.
Usar criptografia do lado do servidor com chaves gerenciadas pelo AWS KMS
Por padrão, os arquivos de log entregues pelo CloudTrail ao bucket do S3 são criptografados pela criptografia do lado do servidor com uma chave do KMS (SSE-KMS). Para usar o SSE-KMS com o CloudTrail, crie e gerencie uma chave do KMS, também conhecida como AWS KMS key.
nota
Se você usar o SSE-KMS e a validação do arquivo de log e tiver modificado a política de bucket do Amazon S3 para permitir apenas arquivos criptografados pelo SSE-KMS, não será possível criar trilhas que utilizam esse bucket, a menos que você modifique a política de bucket para permitir a criptografia AES256 especificamente, como mostrado no seguinte exemplo de linha de política.
"StringNotEquals": { "s3:x-amz-server-side-encryption": ["aws:kms", "AES256"] }
Você pode seguir algumas das etapas abaixo:
-
Analise as vantagens de criptografar seus arquivos de log com SSE-KMS.
-
Crie uma chave do KMS a ser usada para criptografar arquivos de log.
-
Configure a criptografia de arquivos de log das suas trilhas.
-
Considere a implementação de controles de detecção contínua para ajudar a garantir que as trilhas criptografem os arquivos de log com SSE-KMS usando a regra cloud-trail-encryption-enabled no AWS Config.
Adicionar uma chave de condição à política de tópicos padrão do Amazon SNS
Quando você configura uma trilha para enviar notificações ao Amazon SNS, o CloudTrail adiciona uma declaração de política à sua política de acesso a tópicos do SNS que permite que o CloudTrail envie conteúdo para um tópico do SNS. Como uma prática recomendada de segurança, adicione uma chave de condição aws:SourceArn (ou opcionalmente aws:SourceAccount) à instrução de política do tópico do Amazon SNS. Isso ajuda a impedir o acesso não autorizado da conta ao tópico do SNS. Para obter mais informações, consulte Política de tópicos do Amazon SNS para o CloudTrail.
Implementar o acesso com privilégio mínimo a buckets do Amazon S3 em que os arquivos de log são armazenados
O CloudTrail monitora eventos de log em um bucket do Amazon S3 que você especifica. Esses arquivos de log contêm um log de auditoria de ações executadas por identidades do IAM e serviços da AWS. A integridade e a integridade desses arquivos de log de auditoria são essenciais para fins forenses. Para ajudar a garantir essa integridade, você deve aderir ao princípio do privilégio mínimo ao criar ou modificar o acesso a qualquer bucket do Amazon S3 usado para o armazenamento de arquivos de log do CloudTrail.
Siga as seguintes etapas:
-
Revise a política de bucket do Amazon S3 para qualquer bucket em que você armazena arquivos de log e ajuste-o, se necessário, para remover o acesso desnecessário. Essa política de bucket será gerada se você criar uma trilha usando o console do CloudTrail, mas também pode ser criada e gerenciada manualmente.
-
Como uma prática recomendada de segurança, certifique-se de adicionar manualmente uma
aws:SourceArnchave de condição para a política de bucket. Para obter mais informações, consulte Política de bucket do Amazon S3 para o CloudTrail. -
Se você estiver usando o mesmo bucket do Amazon S3 para armazenar os arquivos de log de várias contas da AWS, siga as orientações para receber arquivos de log de várias contas.
-
Se você estiver usando uma trilha de organização, siga a orientação para trilhas de organização e revise a política de exemplo para um bucket do Amazon S3 para uma trilha de organização em Criar uma trilha para uma organização com a AWS CLI.
-
Revise a documentação de segurança do Amazon S3 e a demonstração de exemplo para proteger um bucket.
Habilitar a exclusão de MFA no bucket do Amazon S3 em que os arquivos de log são armazenados
Quando a autenticação multifator (MFA) está configurada, quaisquer tentativas de alterar o estado de versionamento do bucket ou excluir permanentemente uma versão de objeto de um bucket exige autenticação adicional. Assim, mesmo que um usuário obtenha a senha de um usuário do IAM com permissões para excluir permanentemente objetos do Amazon S3, você ainda poderá prevenir operações que poderiam comprometer seus arquivos de log.
Você pode seguir algumas das etapas abaixo:
-
Consulte as diretrizes de exclusão de MFA no Guia do usuário do Amazon Simple Storage Service.
-
Adicione uma política de bucket do Amazon S3 para exigir MFA.
nota
Não é possível usar a exclusão de MFA com configurações de ciclo de vida. Para obter mais informações sobre as configurações de ciclo de vida e como elas interagem com outras configurações, consulte as Configurações de ciclo de vida e outras configurações de bucket no Guia do usuário do Amazon Simple Storage Service.
Configurar o gerenciamento de ciclo de vida de objetos no bucket do Amazon S3 em que os arquivos de log são armazenados
O padrão de trilha do CloudTrail é armazenar os arquivos de log indefinidamente no bucket do Amazon S3 configurado para a trilha. Você pode usar as regras de gerenciamento de ciclo de vida de objetos do Amazon S3 para definir sua própria política de retenção para melhor atender às suas necessidades de negócios e auditoria. Por exemplo, você pode arquivar arquivos de log que têm mais de um ano no Amazon Glacier ou excluir os arquivos de log depois de um determinado período.
nota
A configuração do ciclo de vida em buckets habilitados para autenticação multifator (MFA) não é suportada.
Limitar o acesso à política AWSCloudTrail_FullAccess
Os usuários com a política AWSCloudTrail_FullAccess têm a capacidade de desabilitar ou reconfigurar as funções de auditoria mais sensíveis e importantes nas contas da AWS. Essa política não deve ser compartilhada ou aplicada de forma ampla para identidades do IAM em sua conta da AWS. Limite a aplicação dessa política ao menor número de indivíduos possível, aqueles que você espera que atuem como administradores de conta da AWS.