# IAM: Usuários sem MFA

> Esta regra identifica usuários IAM que não possuem autenticação multifator (MFA) habilitada.
>
> O objetivo é detectar contas com risco elevado de comprometimento, reforçando a segurança de acesso ao ambiente AWS.

***

**Contexto da regra e impacto no negócio**

Usuários IAM representam identidades humanas ou técnicas com acesso direto à conta AWS.

Quando um usuário não possui MFA habilitado:

* A autenticação depende apenas de senha.
* Credenciais comprometidas facilitam invasão.
* A superfície de ataque aumenta significativamente.
* Pode haver movimentação lateral dentro da conta.

Impactos potenciais:

* Acesso não autorizado a recursos críticos.
* Vazamento ou exclusão de dados.
* Criação indevida de recursos (impacto financeiro).
* Incidentes de segurança e compliance.
* Multas regulatórias.

MFA é uma das medidas mais básicas e críticas de segurança em ambientes cloud.

***

**Detalhamento técnico da regra**

A regra executa análise global da conta AWS (IAM é serviço global).

***

**Como a regra é executada**

1. Autentica na conta AWS.
2. Lista todos os usuários via `list_users`.
3. Aplica filtros de tag (inclusão/exclusão).
4. Para cada usuário:
   * Ignora usuários considerados “service users” (nomes terminando com `/`).
   * Consulta dispositivos MFA via `list_mfa_devices`.
   * Verifica se existe ao menos um dispositivo MFA associado.
5. Caso o usuário não possua MFA habilitado, ele é sinalizado.

***

**Lógica aplicada**

Um usuário será sinalizado quando:

```
Não for service user
E
Quantidade de MFADevices = 0
```

Usuários com pelo menos um dispositivo MFA associado não são considerados não conformes.

***

**Campos analisados**

IAM User:

* `UserName`
* `Arn`
* `CreateDate`
* `Tags`

MFA:

* `MFADevices`

***

**Parâmetros considerados na busca**

APIs utilizadas:

* `iam:ListUsers`
* `iam:ListMFADevices`

Condições técnicas:

* Ausência de dispositivos MFA associados.
* Exclusão de usuários identificados como service users (UserName terminando com `/`).

***

**Período Avaliado (Filtro Temporal)**

Período Avaliado (Filtro Temporal): Padrão 15 dias.

Padrão configurado e trazer usuarios com mais de 15 dias sem MFA.

> Esse parâmetro de avaliação pode ser ajustado nas configurações das regras.

***

**Intervalo de Análise**

Execução padrão: a cada 8 horas.

***

Aderência às melhores práticas

Esta regra é da categoria GOVERNANÇA / SEGURANÇA.

Não possui cálculo de savings direto.

Está alinhada com:

* AWS Security Best Practices
* AWS Well-Architected Framework – Pilar de Segurança
* CIS AWS Foundations Benchmark
* Princípio de Defesa em Profundidade

***

Riscos associados

* Comprometimento de credenciais.
* Ataques de força bruta.
* Phishing bem-sucedido.
* Acesso administrativo não autorizado.
* Escalada de privilégios.

***

**Exemplo prático**

Usuário:

```
UserName: admin-finance
MFADevices: []
```

Resultado:

* Usuário será sinalizado como não aderente.

***

**Dicas de uso e boas práticas para o usuário**

* Habilitar MFA obrigatório para todos os usuários humanos.
* Utilizar dispositivos virtuais (Authenticator App) ou físicos.
* Implementar políticas que exijam MFA para ações críticas.
* Avaliar migração para IAM Identity Center (SSO).
* Remover usuários IAM antigos não utilizados.
* Evitar uso de usuários IAM para aplicações; preferir Roles.

Possíveis exceções:

* Contas técnicas temporárias.
* Ambientes isolados de laboratório.

Recomenda-se fortemente habilitar MFA em qualquer usuário com acesso interativo.
