Você pode exigir o MFA para contas do AWS IAM?

23

É possível exigir que a autenticação multifatorial (MFA) esteja habilitada para contas específicas / todas as IAM no Amazon Web Services?

Existem opções para requisitos de senha e está claro como é possível optar por adicioná-lo à sua conta, mas não está claro se existe uma opção para forçar os usuários a ter o MFA.

Joe
fonte
Política do IAM que requer MFA para a maioria das ações: docs.aws.amazon.com/IAM/latest/UserGuide/…
Simon Woodside

Respostas:

13

A resposta é sim, existe. Usando uma condição. Por exemplo, para contas de administrador:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

Ele aplicará o MFA para autenticação de senha e autenticação baseada em token usando a API.

smad
fonte
6
Fazer dessa maneira exigiria o acesso ao console e à API; seria possível exigi-lo apenas para acesso ao console?
21414 jeffbyrnes
Nenhuma idéia. Eu sei que é irritante para a API (CLI), pois o MFA não é bem suportado. Aliás, eu realmente não vejo o ponto de configurar uma segurança mais forte se for uma maneira de contorná-la usando outro método de acesso.
SMAD
3
@smad Acho que o argumento seria que as credenciais do token fossem geradas automaticamente e armazenadas no disco rígido do usuário, de modo que o único vetor de ataque é obtido do computador do usuário, seja por malware, roubando o computador etc. A senha em por outro lado, pode ser fraco ou reutilizado em outros sites; portanto, há um vetor de ataque adicional de forçar brutalmente ou obtê-lo de um despejo de senha de um site invadido. Uma política de senha pode ajudar, mas é difícil evitar pessoas, por exemplo, usando uma palavra do dicionário com apenas o i substituído por 1 ou!
Danny
@jeffbyrnes Quando você habilita um usuário para o MFA, isso é habilitado por padrão apenas para o acesso ao console. Você precisa usar a política do IAM como esta para definir quais ações da API / CLI requerem MFA, se houver.
SeanFromIT
1
Não tenho certeza se isso está funcionando mais - pelo menos, a menos que eu não o apliquei corretamente! (como uma nova política, atribuída ao grupo Administradores). Os administradores novos e existentes na minha conta podem fazer login sem ter configurado o MFA.
Tim Malone #
8

Depois de olhar um pouco, parece que a resposta é "meio que". No IAM, um administrador pode configurar um MFA para outro usuário do IAM. Embora isso possa ser um pouco complicado se você estiver configurando um MFA virtual, é possível. Em seguida, se o usuário não tiver recebido permissões para atualizar / remover seu MFA, ele será efetivamente necessário.

Embora ainda não tenha determinado a lista completa de ações que devem ser negadas (ou simplesmente não concedidas), esta postagem parece ter as informações e atualizarei essa resposta assim que a tiver testado.

[Atualizar]

Consegui configurar usuários como usuários avançados (não concedendo a eles acesso a funções do IAM, embora eu tenha certeza de que você poderia ser mais granular) e implementar o MFA com eles. Usando essa metodologia, eles não poderão desativá-la.

Joe
fonte
1
você sabe se é possível permitir que os usuários do IAM configurem eles mesmos o MFA?
cavalcade
Se for, não encontrei o caminho.
Joe
2
@MattTagg sim, é possível, consulte docs.aws.amazon.com/IAM/latest/UserGuide/…
dasil003
1

Sim, você pode exigir contas MFA para IAM no console da web e na awsclilinha de comando. De fato, não é possível exigir MFA de maneira confiável para o console da Web, nem para a awsclilinha de comando, porque ambos atingem as mesmas APIs. Digo 'confiavelmente' porque, com a política complexa do IAM, é possível permitir algumas awsclioperações sem o MFA enquanto impõe o MFA para o console da web. No entanto, os resultados são um tanto imprevisíveis e, além disso, as chaves do IAM são igualmente desprotegidas, senão mais perigosas. Minha recomendação é exigir isso para ambos e, talvez, criar chaves não protegidas para usos especiais, onde o MFA é absolutamente contra-indicado. Para processos automatizados, as funções seriam uma escolha melhor em geral.

Para facilitar as operações do MFA na linha de comando, eu criei um conjunto de scripts bash e um exemplo de política de imposição do MFA cuidadosamente criado que facilita a conexão / desanexação do vMFAd e o início e o gerenciamento de sessões do MFA. Eles funcionam nas variantes do macOS e Linux, mas provavelmente não no Windows (não testado).

Ville
fonte
0

Aparentemente não. Parece que o MFA para contas IAM é opcional, embora você faça o melhor para postar nos Fóruns de suporte da AWS para obter uma resposta autorizada.

Tom O'Connor
fonte
Obrigado pelo link, mas ele responde a uma pergunta diferente sobre quando o MFA será necessário, uma vez ativado. Esta pergunta é sobre se a ativação pode ser imposta.
28413 Joe
0

Documentamos algumas considerações para o multifator de API da AWS em geral (onde adicionar as condições, quais são as implicações etc.) na documentação de algumas ferramentas personalizadas ( https://github.com/kreuzwerker/awsu ) que desenvolvemos para usar Yubikeys como fonte para os tokens TOTP. Isso facilita bastante o trabalho com funções e credenciais de longo prazo + tokens de sessão.

bocejar
fonte