Bloqueando o Login Remoto

2
Na noite passada, eu estava desligando meu servidor e vi uma mensagem perguntando se eu queria desligar uma sessão "pts / 0". Estranho, pensei. Então eu entrei de volta e fiz um finger e vi que havia alguém logado de um endereço IP remoto (um endereço italiano) e eles estavam emitindo muitos comandos scanssh . Eles também mudaram a senha para a conta na qual estavam logados (era a conta do meu filho e a senha era fácil de adivinhar - ele tem apenas 6!).

OK, então eu deixei algumas portas abertas - minha culpa por completo. Tive a sorte que a conta é limitada. Havia também um arquivo chamado W2ksp3.exe (ou algo semelhante) na pasta base da conta. Então, acho que alguém estava usando o meu servidor para procurar PCs comprometidos do Windows.

Então, minha rede é assim:

  

internet - eth0 - servidor - eth1 - LAN

e foi o servidor que foi comprometido. O servidor está usando dnsmasq para pesquisas de DNS e um servidor DHCP para a LAN.

Isso me leva a duas perguntas:

  1. Como faço para configurar o firewall ( iptables ?) para bloquear tudo em eth0 de http, ftp de saída, e-mail e qualquer outra coisa necessária para acessar a Internet?

  2. Como faço para interromper logins por meio de eth0 , mas permiti-los via eth1

por Skizz 20.12.2010 / 11:04

5 respostas

3

Para desativar o SSH em determinadas interfaces, basta seguir estas etapas:

Primeiro, encontre o endereço IP do servidor no eth1 using ifconfig ou algum outro método. Isso poderia, por exemplo, ser 192.168.0.12 .

Abra o arquivo /etc/ssh/sshd_config ( sudo nano /etc/ssh/sshd_config ) e adicione a seguinte linha:

#ListenAddress 0.0.0.0

(que significa "ouvir todas as interfaces") para isso:

ListenAddress 192.168.0.12

(que significa "apenas ouvir conexões da interface a que este IP pertence").

Em seguida, reinicie o servidor SSH:

sudo /etc/init.d/ssh restart

Agora, só deve aceitar conexões dessa interface.

    
por Frxstrem 20.12.2010 / 16:17
3

Boas respostas até agora, mas eu também gostaria de acrescentar que jogar um roteador entre seu servidor e o resto da internet provavelmente não é uma má idéia, a menos que você tenha uma razão convincente para não fazê-lo. Se nada mais é como a porta da sua casa / apartamento / domicílio / local de habitação - isso desencoraja as pessoas de entrar e olhar ao redor, mesmo que não haja nada para elas verem.

    
por jwernerny 20.12.2010 / 15:12
2

Basta fechar a porta exposta ao público. Geralmente é controlável pelo roteador que você está usando. No caso do ssh, é a porta 22.

    
por Gödel 20.12.2010 / 11:46
2

Para sua primeira pergunta, você precisará configurar um firewall. Se o seu servidor estiver totalmente exposto à Internet, isso é altamente recomendado. Você pode querer olhar para o Ubuntu Wiki . Se você tem um roteador, pode fazer isso por você.

Para a segunda parte, você pode querer configurar o sshd para ouvir apenas os endereços locais. Isso é claro, supondo que sua eth1 tenha um ip estático. No seu /etc/ssh/sshd_config , modifique a linha ListenAddress . Ele deve parecer como ListenAddress 10.10.0.1:22 onde você substitui o eth1 ip estático.

E por que seu filho de 6 anos precisa de acesso ao seu servidor?

    
por Carsten Thiel 20.12.2010 / 11:46
0

Eu recomendo as recomendações de colocar um roteador entre seu servidor e a Internet. É uma maneira fácil de ter uma primeira linha de defesa.

Caso você queira ativar o ssh de fora, é uma boa ideia desabilitar a autenticação de senha e manter somente a autenticação de chave pública. Dessa forma, você fica imune a ataques de adivinhação de senhas: o ssh só pode ser usado em uma conta na qual você criou deliberadamente um arquivo authorized_keys e somente se o invasor obteve sua chave privada de alguma forma. (Você ainda está vulnerável a vulnerabilidades remotas no OpenSSH, mas elas são extremamente raras e geralmente corrigidas rapidamente.)

Verifique se você tem as seguintes configurações em /etc/ssh/sshd_config :

PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
    
por Gilles 20.12.2010 / 22:06