Restringindo o acesso SSH à instância do Amazon EC2

3

Estou me preparando para configurar uma instância do Amazon EC2. Será uma máquina de teste e desenvolvimento para permitir que eu coloque scripts PHP, Python, etc em um servidor sem estar amarrado a uma máquina local. Atualmente eu uso o NitrousIO, mas uma caixa EC2 é mais atraente por vários motivos.

No entanto, uma coisa está me incomodando. A maioria das documentações declara claramente restringir o acesso SSH apenas ao endereço IP de uma pessoa. Para a maioria das empresas, provavelmente não há problema (e, na verdade, meu empregador tem um intervalo de IP definido), mas meu endereço IP residencial é dinâmico. Existe alguma maneira de limitar o acesso SSH a uma instância EC2 por endereço IP em tal situação? Estou preocupado em ser bloqueado em um momento inoportuno.

    
por Mike P 28.04.2015 / 23:51

4 respostas

2

Isso não será um problema se você tiver acesso às configurações dos Grupos de segurança para o painel do EC2 no console do Amazon Web Services.

Sempre que estiver logado, você pode acessar o grupo de segurança vinculado à sua instância do EC2, configurar o acesso Entrada e adicionar ou alterar as regras SSH. Há também um menu suspenso conveniente que diz "Meu IP", para que ele preencha automaticamente o espaço com suas informações e bloqueie essa instância.

    
por 29.04.2015 / 02:19
1

Você deve criar um script que adicione / remova uma regra do grupo de segurança, concedendo acesso ao seu IP atual.

Use uma API da web para obter seu endereço IP atual. Algo como o link

Use o resultado para chamar o AWS CLI: link

Algo como isso deve funcionar:

aws ec2 authorize-security-group-ingress --group-name <SSH_ACCESS_GROUP_NAME> --protocol tcp --port 22 --cidr <MY_IP>

Não esqueça de excluir as regras também.

    
por 29.04.2015 / 09:29
0

Algumas opções vêm à mente.

1) Pergunte ao seu ISP local por uma lista de IPs estáticos que IP e use-o na máquina local.

2) permita SOMENTE do intervalo de IPs do seu roteador, pois é provável que você use apenas alguns da conexão do roteador. Por exemplo whitelist 123.456.78.90/21 para ssh.

3) Se a opção 1 ou 2 não for possível, você PODERIA usar a GUI do console para alterar manualmente o IP atual "conhecido" para aquela conexão antes de usar o ssh da máquina local.

4) também é possível a partir do roteador doméstico configurá-lo para usar apenas uma estática para essa máquina, de modo que, embora o ISP não possa fornecer um IP estático, você pode usar o IP estático que ainda pode ser roteado pela conexão doméstica.

    
por 29.04.2015 / 00:01
0

Mesmo com um IP dinâmico, deve ser possível selecionar um intervalo ao qual você cairá, verificando com o tempo o IP que você recebe ou perguntando ao seu ISP sobre o pool de IPs específico. Feito isso, você pode configurar uma negação padrão e permitir seu intervalo de IPs desta maneira:

iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT

... é claro que substitui os valores de IP por quaisquer que sejam as suas descobertas. O /16 significa que os últimos 16 bits do IP podem ser o que quer que esteja alinhado com a parte .0.0 do IP.

Aviso: tenha 100% de certeza de que você o configurou antes de aplicar a regra de negação padrão, ou você se bloqueará. Se você puder, eu recomendo pegar um shell em algum lugar com um IP estático e adicionar isso também, para que você tenha uma rota alternativa, apenas no caso.

    
por 29.04.2015 / 00:01