Como posso bloquear o acesso ao IP do servidor público para o OpenSSH no Debian?

3

Eu tenho um servidor Debian com um IP público e privado em um DMZ. Eu preciso ser capaz de se conectar a ele através do SSH em nosso lado privado e, em seguida, bloquear todo o acesso ao endereço público. Ambos /etc/hosts.deny e sshd_config parecem permitir apenas bloquear um endereço IP de entrada. O que eu realmente quero é desabilitar as conexões SSH para o IP público. Eu tenho tentado iptables, mas eu não tive sorte com isso.

Qualquer ajuda é apreciada.

- EDIT Então, para reunir uma lista das minhas tentativas até agora:

  • SSH
  • iptables iptables -I INPUT -d $public_ip -p tcp --dport 22 -j REJECT
  • /etc/hosts.deny - sshd: ALL except 192.168.2.12 $DHCPaddressrange : deny inserido.
  • Netstat - Resultado de netstat -tunlp | grep 22

/etc/init.d/ssh e /etc/init.d/network foram reiniciados até agora.

Conexões de rede interna e externa foram usadas ao tentar se conectar ao servidor. Ambos podem acessar via endereço público.

- EDITAR

ESTÁ VIVO! Aparentemente, nossa rede de convidados tem acesso, o que não é muito bom, mas eu tentei me conectar via SSH a partir do telefone de nossa rede de convidados e sem. Aparentemente, eu não posso chegar lá a menos que eu esteja em uma de nossas redes. Algum problema de firewall que eu vejo lá.

Obrigado pela sua resposta pessoal.

    
por VanDerSpar 11.10.2012 / 09:46

3 respostas

2

Você pode fazer isso com iptables -I INPUT -d $public_ip -p tcp --dport 22 -j REJECT ou pode vincular seu sshd a apenas ouvir em seu IP privado com ListenAddress $private_ip em /etc/ssh/sshd_config .

    
por 11.10.2012 / 09:54
0

Você pode fazer isso configurando o sshd para não escutar no endereço público. Por padrão, o sshd escuta em todos os endereços locais e você pode mudar isso com a diretiva ListenAddress em /etc/ssh/sshd_config

ListenAddress private.ip.add.ress

reinicie o sshd e você deve estar pronto, mas teste antes de sair da sessão que está usando para fazer as alterações.

Se você tiver vários endereços privados nos quais deseja ouvir, poderá especificar cada um em sua própria diretiva ListenAddress.

    
por 11.10.2012 / 09:54
0

Se você usa 2 Interfaces, você pode configurar seu ssh para escutar apenas uma das interfaces! Em seu sshd_conf você encontrará uma linha

ListenAddress 0.0.0.0

que ligará cada interface para ouvir ssh!

agora mude para o ip do dispositivo interno como:

ListenAddress 192.168.0.1

reinicie o ssh e agora o ssh irá ouvir apenas a interface interna!

    
por 11.10.2012 / 12:29