

# AWSDiretrizes de auditoria de segurança da
<a name="security-audit-guide"></a>

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 CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html). O CSPM do Security Hub usa controles de segurança para avaliar configurações de recursos e padrões de segurança que ajudam você a atender a vários frameworks de conformidade. Para obter mais informações sobre como usar o Security Hub CSPM para avaliar os recursos do IAM, consulte [Controles do AWS Identity and Access Management](https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html) no Guia do usuário do AWS Security Hub CSPM.

**Topics**
+ [Quando realizar uma auditoria de segurança](#security-audit-guide-when-to-audit)
+ [Diretrizes para a auditoria](#security-audit-general-guidelines)
+ [Analisar as credenciais da sua conta da AWS](#security-audit-review-account)
+ [Revisar seus usuários do IAM](#security-audit-review-users)
+ [Revisar seus grupos do IAM](#security-audit-groups)
+ [Revisar seus perfis do IAM](#security-audit-review-roles)
+ [Revisar seus provedores do IAM para SAML e OpenID Connect (OIDC)](#security-audit-review-saml-providers)
+ [Analisar os aplicativos móveis](#security-audit-review-mobile-apps)
+ [Dicas para revisar políticas do IAM](#security-audit-review-policy-tips)

## Quando realizar uma auditoria de segurança
<a name="security-audit-guide-when-to-audit"></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 OpsWorks, modelos do CloudFormation etc.
+ Se você suspeitar de que uma pessoa não autorizada possa ter acesso à sua conta.

## Diretrizes para a auditoria
<a name="security-audit-general-guidelines"></a>

À 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
<a name="security-audit-review-account"></a>

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](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html#root-password) 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.

1. Caso precise de chaves de acesso para sua conta, certifique-se de [atualizá-las quando necessário](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html#id-credentials-access-keys-update).

## Revisar seus usuários do IAM
<a name="security-audit-review-users"></a>

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

1. [Liste os usuários](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_manage_list) e [exclua os usuários](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeletingUserFromAccount.html) desnecessários.

1.  [Remova usuários de grupos](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_AddOrRemoveUsersFromGroup.html) aos quais eles não precisam de acesso.

1. Analise as políticas associadas aos grupos nos quais o usuário está. Consulte [Dicas para revisar políticas do IAM](#security-audit-review-policy-tips).

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/credentials-add-pwd-for-user.html) e [Gerenciamento de chaves de acesso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html).

   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](https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html).

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/credentials-add-pwd-for-user.html) e [Gerenciamento de chaves de acesso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html).

1. 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 entidades principais federadas, por exemplo, usuários no Centro de Identidade do IAM. Mantenha o número mínimo de usuários do IAM necessário para suas aplicações.

## Revisar seus grupos do IAM
<a name="security-audit-groups"></a>

Ao auditar seus grupos do IAM, execute estas etapas:

1. [Liste seus grupos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_list.html) e [exclua os grupos](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_DeleteGroup.html) que não está usando.

1. [Analise os usuários](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_manage_list) em cada grupo e [remova os usuários](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_AddOrRemoveUsersFromGroup.html) que não fizerem parte deles.

1. Analise as políticas associadas ao grupo. Consulte [Dicas para revisar políticas do IAM](#security-audit-review-policy-tips). 

## Revisar seus perfis do IAM
<a name="security-audit-review-roles"></a>

Ao auditar seus perfis do IAM, execute estas etapas:

1. [Liste seus perfis](https://docs.aws.amazon.com/cli/latest/reference/iam/list-roles.html) e [exclua os perfis](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-deleting.html) que não está usando.

1. [Analise](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing.html) 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. 

1. [Analise](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing.html) 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](#security-audit-review-policy-tips). 

## Revisar seus provedores do IAM para SAML e OpenID Connect (OIDC)
<a name="security-audit-review-saml-providers"></a>

Se você tiver criado uma entidade do IAM para estabelecer confiança com um [provedor de identidade (IdP) SAML ou OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers.html), faça o seguinte:

1. Exclua provedores não utilizados. 

1. 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. 

1. Obtenha os documentos de metadados mais recentes dos IdPs SAML e [atualize o provedor no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-saml.html). 

## Analisar os aplicativos móveis
<a name="security-audit-review-mobile-apps"></a>

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. 

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

**nota**  
Recomendamos usar o [Amazon Cognito](https://aws.amazon.com/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](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html) no *Guia do desenvolvedor do Amazon Cognito*.

## Dicas para revisar políticas do IAM
<a name="security-audit-review-policy-tips"></a>

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](https://docs.aws.amazon.com/IAM/latest/UsingPolicySimulatorGuide/) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html#aws-managed-policies), 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 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountAuthorizationDetails.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountAuthorizationDetails.html) do IAM (comando da AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/get-account-authorization-details.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-account-authorization-details.html)).
+ 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-ec2instance.html#roles-usingrole-ec2instance-passrole) 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](https://aws.amazon.com/architecture/security-identity-compliance/) na *Central de arquitetura da AWS*.