¿Negar automáticamente intentos de hackeo en CentOS?

¿Negar automáticamente intentos de hackeo en CentOS?

Mi servidor está bajo ataque. Estoy registrando este tipo de intentos:

Sep 22 06:39:11 s1574**** sshd[16453]: Failed password for invalid user amber from        64.215.17.4 port 35182 ssh2
Sep 22 04:39:11 s1574**** sshd[16454]: Received disconnect from 64.215.17.4: 11: Bye Bye
Sep 22 06:39:11 s1574**** sshd[16457]: Invalid user amber from 64.215.17.4
Sep 22 04:39:11 s1574**** sshd[16458]: input_userauth_request: invalid user amber
Sep 22 06:39:11 s1574**** sshd[16457]: pam_unix(sshd:auth): check pass; user unknown
Sep 22 06:39:11 s1574**** sshd[16457]: pam_unix(sshd:auth): authentication failure;     logname= uid=0 euid=0 tty=ssh ruser= rhost=dns2.rsd.com 
Sep 22 06:39:11 s1574**** sshd[16457]: pam_succeed_if(sshd:auth): error retrieving     information about user amber
Sep 22 06:39:14 s1574**** sshd[16457]: Failed password for invalid user amber from 64.215.17.4 port 35842 ssh2
Sep 22 04:39:14 s1574**** sshd[16458]: Received disconnect from 64.215.17.4: 11: Bye Bye

¿Qué puedo hacer para bloquear este tipo de intentos de acceso, algo así como bloquear la ip cuando hay más de 3 denegaciones?

Respuesta1

  1. Puede limitar el número de intentos de inicio de sesión por minuto con iptables. Dichas reglas bloquearán la IP durante un minuto después de tres intentos de inicio de sesión (tomado deDiario de un geek: mitigación de ataques de fuerza bruta SSH utilizando Netfilter y el recentmódulo):

    iptables -A ENTRADA -p tcp --dport 22 -m estado --estado NUEVO -m reciente --set --name SSH
    iptables -A ENTRADA -p tcp --dport 22 -m estado --estado NUEVO -j SSH_WHITELIST
    iptables -A ENTRADA -p tcp --dport 22 -m estado --estado NUEVO -m reciente --actualización --segundos 60 --hitcount 4 --rttl --name SSH -j ULOG --ulog-prefix SSH_brute_force
    iptables -A ENTRADA -p tcp --dport 22 -m estado --estado NUEVO -m reciente --actualización --segundos 60 --hitcount 4 --rttl --nombre SSH -j DROP
    
  2. Si quieres un sikytion más configurable, puedes usarfalla2banoDenegar hostspara analizar registros SSHd y bloquear direcciones IP sospechosas.

Respuesta2

La mejor forma práctica es bloquear todos los puertos innecesarios con iptables y configurar su ssh para usar una clave privada para iniciar sesión. Sé que Putty y MobaXterm (ambos clientes ssh gratuitos) admiten el inicio de sesión con clave privada. luego dentro de su /etc/ssh/sshd_config elimine el

PermitRootLogin yes

y añadir:

PermitRootLogin without-password

esto hará que incluso si conoce la contraseña de root no le permitirá iniciar sesión con ella.

Puedes usar las reglas de iptables para acelerarlos y que no atasquen tu servidor también.

Respuesta3

Instale el software Denyhosts. Automáticamente enumerará dichas IP de piratas informáticos en hosts.deny. El paquete está disponible en el repositorio de epel.

información relacionada