SSH lento depois de configurar TCP Wrappers

1

Temos SSH aberto em um dos nossos servidores de produção, deixando-o propenso a vários ataques de força bruta para invadir. Reduzi as tentativas alterando a porta padrão de 22.

Quero reforçar ainda mais a segurança, permitindo o login do ssh de um determinado domínio de país .in apenas. Para isso, posso configurar /etc/hosts.deny ou /etc/hosts.allow .

Para hosts.allow , adicionei a seguinte entrada

sshd: in

Se eu usar hosts.deny , minha entrada será assim

sshd: !in

Depois de configurar qualquer uma das opções acima, estou percebendo que leva mais tempo para se conectar ao servidor ssh .

Com verbose ele está mostrando pendurado aqui por algum tempo antes de fornecer a tentativa de login

ssh -vv  103.8.X.X
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 103.8.X.X [103.8.X.X] port 565.
debug1: Connection established.
debug1: identity file /home/amin/.ssh/id_rsa type -1
debug1: identity file /home/amin/.ssh/id_rsa-cert type -1
debug1: identity file /home/amin/.ssh/id_dsa type -1
debug1: identity file /home/amin/.ssh/id_dsa-cert type -1
debug1: identity file /home/amin/.ssh/id_ecdsa type -1
debug1: identity file /home/amin/.ssh/id_ecdsa-cert type -1  (<-- hangs here for arnd 30 secs) 

Demora mais tempo com putty, depois de definir regras para os wrappers tcp.

    
por Zama Ques 04.07.2014 / 11:07

1 resposta

5

Colocar nomes de host em hosts.allow ou hosts.deny significa que o servidor deve fazer uma resolução de DNS reversa para obter o nome de domínio do endereço IP. Isso afetará os tempos de login se o seu sistema de resolução de nomes estiver lento ou se algum servidor de nomes intermediário estiver lento para responder. É mais rápido colocar os endereços IPs suas sub-redes no arquivo, como explicado por man hosts.allow :

   The examples use host and domain names. They can be improved by includ‐
   ing address and/or network/netmask information, to reduce the impact of
   temporary name server lookup failures.

Outra maneira de evitar ataques de login da bruteforce é instalar um programa chamado fail2ban . O programa acompanhará as tentativas de login com falha e bloqueará temporariamente o endereço IP depois que ele falhar muitas vezes. Dessa forma, você não precisa mais bloquear logins com base no país. Permitir apenas três ou quatro tentativas de login malsucedidas por hora tornará impossível um ataque de força bruta mesmo para botnets grandes.

    
por 04.07.2014 / 11:33