Regra de entrada do Amazon EC2 Security Group com um IP dinâmico

12

Estou procurando esclarecimentos sobre o que vejo como um problema em potencial nos Grupos de Segurança do EC2.

Estou configurando um grupo de segurança para conectar-se a instâncias linux. Eu criei regras "em qualquer lugar" para acesso HTTP e HTTPS.

Para minha regra de SSH, o tutorial da amazon diz que devo limitar o acesso de entrada ao meu endereço IP público .

  1. O que não entendo é como isso é seguro ou viável se o seu endereço IP público for dinâmico?

  2. Meu endereço IP é dinâmico, então o que acontece quando meu ISP altera meu IP público e não consigo mais ssh na minha instância?

Link para o guia de configuração que estou usando: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html (Etapa 7 de 'Criar um grupo de segurança 'é o que me parece problemático)

Will Byrne
fonte

Respostas:

6

O que não entendo é como isso é seguro ou viável se o seu endereço IP público for dinâmico?

Essa solução pode funcionar se você achar que seu IP não muda com frequência ou se você precisar de acesso apenas por um curto período de tempo. Ele adiciona uma camada extra de segurança, pois o SSH não é exposto ao tráfego fora do CIDR que você fornece.

Se um CIDR específico não funcionar, você pode tentar ou mais intervalos de CIDR da placa que seu ISP provavelmente usará, isso ainda limitará o acesso de uma grande porcentagem da Internet, e isso é uma vitória para a segurança.

o que acontece quando meu ISP altera meu IP público e não consigo mais ssh na minha instância?

Você pode fazer login no console da AWS ou usar a CLI para atualizar a regra do grupo de segurança em tempo real.

Você pode escrever um script que interaja diretamente com a CLI. Pode ser tão simples quanto algo que verifica o Port 22 ruleIP atual e o atualiza se for diferente. Obviamente, a execução desse script pode gerar mais questões de segurança :)

Um firewall IP é a melhor maneira de proteger o SSH?

Embora seja bom limitar o tráfego ssh apenas a fontes IP confiáveis, sempre que possível, o que torna o ssh seguro é o uso de chaves privadas e configuração sensível.

Itens-chave a serem considerados:

  • Adicione uma senha à sua chave privada SSH
  • Desativar autenticação de senha para SSH
  • Desativar login raiz no SSH
  • Auditar todas as contas de usuário para chaves públicas SSH

Você também pode fazer algumas coisas para se livrar do 'ruído' associado aos ataques de força bruta:

  • Execute ssh em uma porta superior
  • Use software como o fail2ban, que registrará dinamicamente inúmeras tentativas com falha e bloqueia os intervalos de IP por períodos de tempo especificados
Drew Khoury
fonte
4

Não há problema em restringir o acesso ao servidor SSH por endereço IP, mas o SSH não depende disso para sua segurança. Se você desativar os logins de senha ( PasswordAUthentication no) e usar apenas a autenticação de chave privada, ninguém poderá entrar sem a sua chave privada. É seguro.

Portanto, em outras palavras, você não precisa se preocupar com as regras de firewall, se não quiser.

Andrew Schulman
fonte
1
Você precisa se preocupar com um ataque direcionado no computador local para obter o arquivo-chave, mas se não estiver executando algo que lide com dados de assistência médica / cartão de crédito / governo, as chances de isso provavelmente são mínimas.
precisa
3

Você pode adicionar um intervalo CIDR ao grupo de segurança que representa o superconjunto de todos os IPs que seu ISP pode alocar para você.

Ou use a API da AWS para atualizar dinamicamente seu grupo de segurança.

dmourati
fonte
3

Existem algumas soluções mais recentes para essa pergunta mais antiga:

De dentro da AWS: como atualizar automaticamente seus grupos de segurança para Amazon CloudFront e AWS WAF usando o AWS Lambda

Atualização remota a partir da fonte dinâmica (script node.js): script do nó aws-ec2-ssh-secgroup-update

Atualização remota a partir da fonte dinâmica (script Python): adicione automaticamente o IP público atual ao Grupo de Segurança para permitir o tráfego em uma porta específica

Ville
fonte
0

Você pode usar o comando aws_ipadd para atualizar e gerenciar facilmente as regras do grupo de segurança da AWS e colocar na lista branca seu ip público com porta sempre que for alterado.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!
Piyush Sonigra
fonte