Autenticação de dois fatores no EC2

7

Eu preciso hospedar coisas para uma instituição financeira no EC2. O banco quer a autenticação completa de dois fatores, por exemplo, como ter SSH com uma chave com senha. Algo como SecureID ou similar seria ótimo. Como posso efetivamente criar autenticação de dois fatores através do SSH para o meu ambiente EC2?

Eu também poderia considerar o OpenVPN como parte da criptografia Two Factor?

    
por Stewart Robinson 17.01.2011 / 08:24

5 respostas

5

Com duo_unix , você pode adicionar autenticação de dois fatores para qualquer método de login SSH e com o < a integração do Duo OpenVPN , você pode adicionar autenticação de dois fatores ao OpenVPN.

Isenção de responsabilidade, trabalho para o Duo.

    
por 31.07.2012 / 01:38
2

Atualizar

A AWS anunciou recentemente Permissões em nível de recurso para o Amazon EC2 e o Amazon RDS para solucionar essa lacuna de longa data do suporte do IAM dentro EC2 e RDS mencionados na minha resposta original abaixo:

Today we are making IAM even more powerful with the introduction of resource-level permissions for Amazon EC2 and Amazon RDS. [...]

On the EC2 side, you can now construct and use IAM policies to control access to EC2 instances, EBS volumes, images, and Elastic IP addresses. [...]

Here are just a few of things that you can do:

  • Allow users to act on a limited set of resources within a larger, multi-user EC2 environment.
  • Set different permissions for "development" and "test" resources.
  • Control which users can terminate which instances.
  • Require additional security measures, such as MFA authentication, when acting on certain resources. [emphasis mine]

Conforme enfatizado, agora é possível usar MFA ao atuar em determinados recursos para instâncias do EC2, portanto, você pode, por exemplo, limitar a interrupção e o término de uma instância do EC2 para um usuário autenticado pelo nome de usuário / senha e um código de autenticação de um dispositivo MFA.

Resposta inicial

Autenticação de dois fatores semelhante ao SecurID está prontamente disponível por meio do Gerenciamento de identidade e acesso (IAM) da AWS por meio do < Autenticação de vários fatores da AWS . Se isso realmente se aplica à sua pergunta, depende do seu caso de uso específico, ou seja, quais cenários você precisa proteger com autenticação de dois fatores (por exemplo, o acesso SSH mencionado e o acesso ao AWS Management Console versus acesso a sites hospedados no EC2 em troca etc.).

Especificamente, o IAM abrange o acesso ao AWS Management Console, mas obviamente não o SSH, além disso, o EC2 é um dos produtos da AWS, onde o IAM não se aplica no nível do recurso, apenas no nível de serviço, consulte < href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/Using_SpecificProducts.html"> Integração com outros produtos da AWS e Usando o AWS Identity and Access Management com o EC2 , especialmente o seguinte aviso:

Important

Amazon EC2 uses SSH keys, Windows passwords, and security groups to control who has access to specific Amazon EC2 instances. You can't use the IAM system to allow or deny access to a specific instance.

Observe que o uso do IAM é altamente recomendado para qualquer coisa da AWS, independentemente da autenticação de vários fatores.

Por fim, gostaria de destacar duas adições mais recentes ao IAM potencialmente úteis também no seu caso de uso:

por 19.01.2012 / 09:52
1

Você precisará proteger o acesso ao console do EC2 com dois fatores. Lá você está à mercê da Amazônia. Para acesso SSH, você pode fazer várias opções. Você pode fazer chaves SSH e exigir que as chaves tenham uma senha. No entanto, observe que não há nada que impeça alguém de escrever um cliente SSH sobre o certificado ter uma senha. O SSH é ótimo a partir de um PoV de segurança, mas nem sempre é compatível com os requisitos regulamentares. Por exemplo, as chaves podem precisar ser geradas periodicamente. O SSH não suporta isso.

O PAM radius é seu amigo se você decidir usar um sistema de autenticação de dois fatores: link

hth,

    
por 19.01.2012 / 00:02
1

O EC2 agora possui autenticação de fator 2 em seus serviços, o que é um primeiro passo importante.

No entanto, qualquer coisa hospedada em um serviço de nuvem que você não possui deve ser considerada insegura, na melhor das hipóteses.

O motivo é que você tem uma máquina virtual, com memória compartilhada e recursos compartilhados. Com o EC2, você não sabe onde os dados residem ou como são efetivamente armazenados. Você pode descobrir que seu VPS é compartilhado com outros VPSs de outras organizações.

Então, se você for armazenar dados financeiros no EC2 em uma unidade EBS, você deve criptografá-los.

Mas enquanto você pensa que isso é seguro, você é tão seguro quanto seu elo mais fraco.

Para citar outra fonte porque ele diz bem.

... but VM instances often share physical hardware with other instances, and since EC2 is a public service, those co-resident VMs may not be entirely friendly. The major threat here is, of course, software vulnerabilities -- things that can let an attacker break out of one VM and into another. But even if you perfect the software, there's another more insidious threat: namely, that the attacker VM instance could be able to run a side-channel attack on the co-resident VM.

O que tornaria a autenticação de 2 fatores inútil contra esse tipo de ataque.

Agora, se você pode viver com isso, como você faz isso? Esta pergunta / resposta do stackoverflow fornece algumas respostas sobre o uso do google authenticator qual é um dos melhores.

Mas existem muitas opções de autenticação com dois fatores, algumas exigem keyfobs de hardware e outras, como o google authenticator, usam seu telefone celular. O banco ou instituição financeira pode, na verdade, determinar qual método de autenticação de fator 2 será permitido.

OpenID é uma ótima idéia, pois permite que você use seu openid para entrar em muitos serviços. Mas também é falho porque permite que um único login tenha acesso a muitas coisas. Um rápido Google e eu encontrei o link que usa OpenID e 2 fatores de autenticação. Eu hesitaria em usá-lo em seu caso particular.

A propósito, você aceitará pagamentos de cartões de crédito? Você pode achar que precisa estar em conformidade com PCI e não tenho certeza se será capaz de estar em conformidade em uma instância do EC2. Eles são bastante rigorosos, mas por boas razões. No entanto, existem maneiras de reduzir seus riscos não aceitando diretamente os pagamentos com cartão e não armazenando dados de cartão de crédito, mas passando por um serviço de provedor de pagamento de terceiros com o qual seu website pode interagir.

If you are a merchant that accepts payment cards, you are required to be compliant with the PCI Data Security Standard. You can find out your exact compliance requirements only from your payment brand or acquirer. However, before you take action, you may want to obtain background information and a general understanding of what you will need to do from the information and links here.

    
por 20.08.2013 / 23:49
-2

O EC2 permite que você configure suas máquinas com diferentes certificados SSH que você pode criar, a solução mais fácil para você seria criar uma que exija uma senha.

Esteja ciente das limitações de segurança do EC2, a segurança é periférica e você não sabe quais máquinas estão fazendo o que há dentro, então coloque segurança estrita para se comunicar entre as máquinas, alguma VPN de criptografia strong (OpenVPN ou stunnel) é altamente desejada por isso.

    
por 17.01.2011 / 09:34