10 de setembro de 2021 • 2 min de leitura
Forçar a configuração de MFA para login no console da AWS
Todos nós sabemos que a configuração de uma camada extra de segurança é sempre bem-vinda, sabendo disso vamos aprender uma forma de forçar com que os usuários com acesso ao console só possam realizar essas ações se possuirem o MFA habilitado.
Você pode permitir que seus usuários gerenciem os próprios dispositivos e credenciais de autenticação multifator (MFA) porem como garantiremos que eles realizem a configuração para poder começar a utilizar o console de gerenciamento ?
Em alguns ambientes nao podemos perder tempo para ficar indo pessoa por pessoa e solicitando que encarecidamente o individuo realize a configuração do MFA na sua conta, dessa forma vamos aprender como forçar com que qualquer ação dentro do console só seja possível se o usuário possuir o MFA configurado em sua conta.
1: Criar uma política para impor a utilização do MFA
- Faça login no Console de Gerenciamento da AWS como um usuário com credenciais de administrador.
- Abra o console do IAM.
- No painel de navegação, escolha Políticas e, em seguida, Criar política.
- Selecione a opção JSON e insira o conteúdo abaixo.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowViewAccountInfo",
"Effect": "Allow",
"Action": [
"iam:GetAccountPasswordPolicy",
"iam:ListVirtualMFADevices"
],
"Resource": "*"
},
{
"Sid": "AllowManageOwnPasswords",
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:GetUser"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "AllowManageOwnAccessKeys",
"Effect": "Allow",
"Action": [
"iam:CreateAccessKey",
"iam:DeleteAccessKey",
"iam:ListAccessKeys",
"iam:UpdateAccessKey"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "AllowManageOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice"
],
"Resource": "arn:aws:iam::*:mfa/${aws:username}"
},
{
"Sid": "AllowManageOwnUserMFA",
"Effect": "Allow",
"Action": [
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "DenyAllExceptListedIfNoMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:GetUser",
"iam:ChangePassword",
"iam:ListMFADevices",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice",
"sts:GetSessionToken"
],
"Resource": "*",
"Condition": {
"Bool": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
O que essa política faz?
A instrução AllowViewAccountInfo
permite que o usuário visualize informações no nível da conta como visualizar os requisitos de senha e visualizar os dispositivos MFA.
A instrução AllowManageOwnAccessKeys
permite que o usuário crie, atualize e exclua as próprias chaves de acesso.
A instrução AllowManageOwnVirtualMFADevice
permite que o usuário crie e atualize o próprio dispositivo MFA virtual.
A instrução DenyAllExceptListedIfNoMFA
nega acesso a todas as ações em todos os serviços da AWS, exceto algumas ações listadas, mas somente se o usuário não estiver conectado com MFA.
2: anexar políticas ao grupo
Anexe a política nos grupos da sua conta no qual os usuarios que acessam o console estao inserido.
3: Testar o acesso do usuário
Crie um usuário novo sem nenhuma configuração de MFA, apenas para teste, inserindo no grupo utilizado na Etapa 2. Feito isso basta realizar login e observar que o mesmo não tera permissão para nada além da alteração de MFA, observe:
Pronto, basta inserir os seus usuários no grupo de acesso, ou criar um grupo padrão cujo os usuários devem ser adicionados sempre que for utilizar o console da Amazon. Dessa forma não precisamos nos preocupar pois através do console não será possível realizar nenhuma intervenção sem que exista uma configuração de MFA.
Espero que tenham gostado!