Restringindo o login SSH por endereço IP no Debian

6

Eu quero permitir logins SSH apenas de 3 endereços IP: 111.111.111.111 e 222.222.222.222 e 333.333.333.333. Eu sei, eu tenho que editar os arquivos /etc/hosts.allow e /etc/hosts.deny.

Minha pergunta é sobre o conteúdo desses arquivos. Eu vi diferentes variantes:

# /etc/hosts.allow

Variante 1:

sshd: 111.111.111
sshd: 222.222.222
sshd: 333.333.333

Variante 2:

sshd: 111.111.111, 222.222.222, 333.333.333

Variante 3: (sem vírgulas):

sshd: 111.111.111 222.222.222 333.333.333

Variante 4 (com sshdfwd-X11):

sshd,sshdfwd-X11: 111.111.111 222.222.222 333.333.333

/etc/hosts.deny

Variante 1:

sshd: ALL

Variante2:

sshd,sshdfwd-X11:ALL

Qual é o correto? Eu tenho medo de me trancar. Obrigado.

    
por user1406271 22.05.2012 / 14:02

2 respostas

7

Eu faria isso pessoalmente no sshd_config usando AllowUsers .

AllowUsers = *@111.111.111.111, *@222.222.222.222, *@333.333.333.333

Para mim, isso mantém toda a configuração no local associado ao aplicativo que você está controlando. Há sempre mais do que uma maneira de eliminar um gato com o UNIX, mas se a ferramenta oferece um mecanismo de controle específico, eu prefiro isso mais do que qualquer outra coisa (é geralmente mais portátil).

Ao fazer alterações em qualquer coisa em relação ao acesso remoto,

  1. sempre tem várias sessões no servidor já
  2. faça as alterações a partir de uma tela ou sessão tmux para reconectar-se a você se perder a conexão
  3. tente e faça as alterações a partir de um console não-ssh, se possível

Acho que, desde que você tenha algumas sessões remotas, você estará bem. Alterar /etc/ssh/sshd_config e reciclagem O SSH não desconecta nenhuma sessão existente.

Embora eu aprecie isso, não responde à sua pergunta específica. Acredito que a resposta de Jeff (em que todas essas variantes são válidas se você usar /etc/hosts.deny ou /etc/hosts.allow ).

    
por 22.05.2012 / 14:38
2

Geralmente, é minha preferência implementar regras como essa usando iptables .

No que diz respeito à variante correta, todas elas devem funcionar. A página man relevante (obrigado por pegar este Oliver) diz que usar espaços em branco ou vírgulas é aceitável. Ele também discute que qualquer correspondência de daemon: client contará e que vários clientes poderão ser listados em uma linha, e várias entradas para um daemon serão avaliadas.

    
por 22.05.2012 / 14:10

Tags