Diretrizes de auditoria de segurança da AWS - AWS Identity and Access Management

Diretrizes de auditoria de segurança da AWS

Audite sua configuração de segurança periodicamente para garantir que ela atenda às suas necessidades de negócios atuais. Uma auditoria oferece a você a oportunidade de remover usuários, perfis, grupos e políticas do IAM desnecessários e de garantir que seus usuários e o software não tenham permissões excessivas.

Veja a seguir diretrizes para analisar e monitorar sistematicamente seus recursos da AWS quanto às melhores práticas de segurança.

dica

É possível monitorar seu uso do IAM em relação às práticas recomendadas de segurança com o AWS Security Hub. O Security Hub usa controles de segurança 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 IAM, consulte Controles do AWS Identity and Access Management no Guia do usuário do AWS Security Hub.

Quando realizar uma auditoria de segurança

Audite sua configuração de segurança nas seguintes situações:

  • Periodicamente. Como melhor prática de segurança, execute as etapas descritas neste documento em intervalos regulares.

  • Se houver alterações na sua organização, como demissões.

  • Se você parou de usar um ou mais serviços da AWS individuais para verificar se removeu permissões das quais os usuários da sua conta não precisam mais.

  • Se você tiver adicionado ou removido software de suas contas, como aplicações em instâncias do Amazon EC2, pilhas do AWS OpsWorks, modelos do AWS CloudFormation etc.

  • Se você suspeitar de que uma pessoa não autorizada possa ter acesso à sua conta.

Diretrizes para a auditoria

À medida que você examina a configuração de segurança da sua conta, siga estas diretrizes:

  • Seja minucioso. Examine todos os aspectos da configuração de segurança, incluindo aqueles raramente usados.

  • Não suponha nada. Se você não estiver familiarizado com alguns aspectos da sua configuração de segurança (por exemplo, o raciocínio referente a uma política específica ou a existência de uma função), investigue a necessidade da empresa até entender o risco potencial.

  • Simplifique as coisas. Para facilitar a auditoria (e o gerenciamento), use grupos do IAM, perfis do IAM, esquemas de nomenclatura consistentes e políticas claras.

Analisar as credenciais da sua conta da AWS

Ao auditar suas credenciais da conta da AWS, execute estas etapas:

  1. Caso tenha chaves de acesso do seu usuário raiz que não estão sendo usadas, você poderá removê-las. É altamente recomendável não usar chaves de acesso raiz para o trabalho cotidiano com a AWS. Em vez disso, utilize usuários com credenciais temporárias, como usuários no Centro de Identidade do AWS IAM.

  2. Caso precise de chaves de acesso para sua conta, certifique-se de atualizá-las quando necessário.

Revisar seus usuários do IAM

Ao auditar seus usuários do IAM, execute estas etapas:

  1. Liste os usuários e exclua os usuários desnecessários.

  2. Remova usuários de grupos aos quais eles não precisam de acesso.

  3. Analise as políticas associadas aos grupos nos quais o usuário está. Consulte Dicas para revisar políticas do IAM.

  4. Exclua credenciais de segurança que o usuário não precisa ou que podem ter sido expostas. Por exemplo, um usuário do IAM usado para uma aplicação não precisa de senha (que é necessária apenas para fazer login em sites da AWS). Da mesma forma, se um usuário não utiliza chaves de acesso, não há motivo para que ele tenha uma. Para obter mais informações, consulte Gerenciamento de senhas de usuários do IAM e Gerenciamento de chaves de acesso de usuários do IAM.

    Você pode gerar e baixar um relatório de credenciais que lista todos os usuários do IAM em sua conta e o status de diversas credenciais deles, incluindo senhas, chaves de acesso e dispositivos com MFA. Em caso de senhas e chaves de acesso, o relatório de credenciais mostra a data e a hora em que a senha ou chave de acesso foi usada pela última vez. Considere remover da sua conta credenciais que não foram usadas recentemente. (Não remova o usuário de acesso de emergência.) Para obter mais informações, consulte Obter relatórios de credenciais da sua conta da AWS.

  5. Atualize senhas e chaves de acesso quando necessário para casos de uso que exijam credenciais de longo prazo. Para obter mais informações, consulte Gerenciamento de senhas de usuários do IAM e Gerenciamento de chaves de acesso de usuários do IAM.

  6. Como prática recomendada, exija que os usuários humanos usem a federação com um provedor de identidades para acessar a AWS usando credenciais temporárias. Se possível, faça a transição de usuários do IAM para usuários federados, como usuários no IAM Identity Center. Mantenha o número mínimo de usuários do IAM necessário para suas aplicações.

Revisar seus grupos do IAM

Ao auditar seus grupos do IAM, execute estas etapas:

  1. Liste seus grupos e exclua os grupos que não está usando.

  2. Analise os usuários em cada grupo e remova os usuários que não fizerem parte deles.

  3. Analise as políticas associadas ao grupo. Consulte Dicas para revisar políticas do IAM.

Revisar seus perfis do IAM

Ao auditar seus perfis do IAM, execute estas etapas:

  1. Liste seus perfis e exclua os perfis que não está usando.

  2. Analise a política de confiança da função. Certifique-se de que você sabe quem é o “principal” e que você entende por que essa conta ou usuário precisa ser capaz de assumir a função.

  3. Analise a política de acesso da função para garantir que ela concede permissões adequadas para quem assumir a função – consulte Dicas para revisar políticas do IAM.

Revisar seus provedores do IAM para SAML e OpenID Connect (OIDC)

Se você tiver criado uma entidade do IAM para estabelecer confiança com um provedor de identidade (IdP) SAML ou OIDC, faça o seguinte:

  1. Exclua provedores não utilizados.

  2. Faça o download e analise os documentos de metadados da AWS de cada IdP SAML e certifique-se de que os documentos espelhem suas necessidades de negócios atuais.

  3. Obtenha os documentos de metadados mais recentes dos IdPs SAML e atualize o provedor no IAM.

Analisar os aplicativos móveis

Se você tiver criado um aplicativo para dispositivos móveis que faça solicitações para a AWS, execute estas etapas:

  1. Certifique-se de que a aplicação para dispositivos móveis não contenham chaves de acesso incorporadas, mesmo se elas estiverem em armazenamento criptografado.

  2. Obtenha credenciais temporárias para o aplicativo usando APIs desenvolvidas para essa finalidade.

nota

Recomendamos usar o Amazon Cognito para gerenciar a identidade de usuários em sua aplicação. Esse serviço permite autenticar os usuários usando login com o Amazon, Facebook, Google ou qualquer provedor de identidade compatível com o OpenID Connect (OIDC). Para obter mais informações, consulte Grupos de identidade do Amazon Cognito no Guia do desenvolvedor do Amazon Cognito.

Dicas para revisar políticas do IAM

As políticas são poderosas e sutis. Por isso, é importante analisar e compreender as permissões concedidas por elas. Ao analisar políticas, use as diretrizes a seguir:

  • Anexe políticas a grupos ou perfis, e não a usuários individuais. Se um usuário específico tiver uma política, certifique-se de que você entende por que esse usuário precisa da política.

  • Certifique-se de que os usuários, grupos e funções do IAM tenham somente as permissões necessárias e nenhuma permissão adicional.

  • Use o simulador de políticas do IAM para testar políticas anexadas a usuários ou grupos.

  • Lembre-se de que as permissões de um usuário são o resultado de todas as políticas aplicáveis: políticas baseadas em identidade (para usuários, grupos ou perfis) e políticas baseadas em recursos (em recursos como buckets do Amazon S3, filas do Amazon SQS, tópicos do Amazon SNS e chaves do AWS KMS). É importante examinar todas as políticas que se aplicam a um usuário e compreender o conjunto completo de permissões concedidas a um usuário específico.

  • Lembre-se de que, ao permitir que um usuário crie um usuário, grupo, perfil ou política do IAM e associe uma política à entidade principal, estão sendo concedidas efetivamente a esse usuário todas as permissões para todos os recursos em sua conta. Os usuários que têm permissão para criar políticas e associá-las a um usuário, grupo ou perfil podem conceder quaisquer permissões por eles mesmos. Em geral, não conceda permissões do IAM com acesso total aos recursos de sua conta a usuários ou perfis em quem não confia. Ao realizar sua auditoria de segurança, verifique se as seguintes permissões do IAM foram concedidas a identidades confiáveis:

    • iam:PutGroupPolicy

    • iam:PutRolePolicy

    • iam:PutUserPolicy

    • iam:CreatePolicy

    • iam:CreatePolicyVersion

    • iam:AttachGroupPolicy

    • iam:AttachRolePolicy

    • iam:AttachUserPolicy

  • Certifique-se de que as políticas não concedem permissões para serviços que você não utiliza. Por exemplo, se você usar políticas gerenciadas da AWS, certifique-se de que as políticas gerenciadas da AWS que estão sendo usadas em sua conta são para serviços que você usa realmente. Para saber quais políticas gerenciadas da AWS são usadas em sua conta, use o comando de API GetAccountAuthorizationDetails do IAM (comando da AWS CLI: aws iam get-account-authorization-details).

  • Se a política conceder permissão a um usuário para iniciar uma instância do Amazon EC2, ela também poderá permitir a ação iam:PassRole, mas, nesse caso, deverá listar explicitamente os perfis que o usuário poderá passar para a instância do Amazon EC2.

  • Examine atentamente todos os valores do elemento Action ou Resource que inclui *. Quando possível, conceda acesso Allow às ações e recursos individuais de que os usuários precisam. No entanto, as razões pelas quais pode ser adequado usar * em uma política são:

    • A política foi desenvolvida para conceder permissões de nível administrativo.

    • O caractere curinga é usado para um conjunto de ações semelhantes (por exemplo, Describe*) como uma facilidade e você está familiarizado com a lista completa de ações que são referenciadas dessa forma.

    • O caractere curinga é usado para indicar uma classe de recursos ou um caminho de recursos (por exemplo, arn:aws:iam::account-id:users/division_abc/*) e você se sente à vontade para conceder acesso a todos os recursos na classe ou caminho.

    • Uma ação de serviço não oferece suporte a permissões em nível de recursos, e a única opção para um recurso é *.

  • Examine os nomes de políticas para garantir que eles espelham a função da política. Por exemplo, embora uma política possa ter um nome que inclui "somente leitura", a política pode, na verdade, conceder permissões de escrita ou de alteração.

Para obter mais informações sobre o planejamento de sua auditoria de segurança, consulte Práticas recomendadas de segurança, identidade e conformidade na Central de arquitetura da AWS.