Tengo un servidor Ubuntu Linux con acceso web. Debido a esto, recibo una buena cantidad de intentos SSH de fuerza bruta (quién no). Me gustaría mostrar los últimos N intentos fallidos de inicio de sesión en mi mensaje de inicio de sesión. He elaborado el guión simple:
grep "Failed" /var/log/auth.log | tail -5
pero lo que necesito saber es ¿dónde pongo esta línea de script? ¿Hay algún lugar para colocarlo que sea independiente del shell?
Respuesta1
Hay un par de paquetes que puedes utilizar para ayudarte con los ataques de fuerza bruta.
- Denegar hosts
- falla2ban
Para recopilar registros y enviarle un informe, puede utilizar logwatch. También puede enviar un resumen de inicios de sesión fallidos.
Para responder a su pregunta original, puede colocar su script en "/etc/profile.d/yourscript.sh" y debe ejecutarse al iniciar sesión.
También podría considerar configurar el paquete arno-iptables-firewall.
Respuesta2
Realmente depende de Shell. Para bash
, debes ponerlo en .bash_login
un archivo.
Con respecto a la prevención de ataques de fuerza bruta, aparte de lo que ya se ha sugerido para incluir la IP del atacante en la lista negra, normalmente le digo a sshd que escuche en un puerto no estándar y desactive la autenticación de contraseña. Por supuesto, esto puede no ser siempre posible, pero seguro que es eficaz.
Respuesta3
Pon todo en /etc/profile.
Ejecutará todo en /etc/profile antes de ir al archivo de inicio de su shell.
Respuesta4
Hay unsecuencia de comandos perl,Bloque SSHque se puede utilizar contra SSH de fuerza bruta.
Sigue un intento frecuente desde una dirección IP y ralentiza sus intentos.