Qué hacer con los intentos de ruptura de ssh [duplicar]

1

Nuestro sistema solía ser bombardeado por robots que intentaban iniciar sesión en el cliente ssh en el puerto estándar. Después de cambiar a otro número de puerto, los intentos de inicio de sesión fallidos básicamente se detuvieron por completo. Recientemente, en la última semana ha habido algunos i.p. las direcciones que intentan iniciar sesión (en promedio unos 60 intentos por día) que parecen estar en algunas redes diferentes provenientes de la misma ISP en China.

No tengo experiencia en seguridad, aparte de la configuración básica de clientes y el cambio de contraseñas, etc.

Estamos utilizando logwatch para recopilar información sobre los intentos de inicio de sesión. ¿Cuál es la información clave que necesitaré sobre los intentos de analizar la situación y actuar?

¿Cuáles son los pasos básicos para asegurarnos de que aún no hemos sido violados?

¿Qué otras acciones debo tomar?

    
pregunta BryanK 30.08.2014 - 16:36
fuente

2 respuestas

6
  1. No permitir el inicio de sesión de SSH en la cuenta root . Inicie sesión con una cuenta de usuario con un nombre que sea más difícil de adivinar. Cuando necesite hacer algo como root , use su o sudo después de iniciar sesión.
  2. Asegúrate de que tus contraseñas sean lo suficientemente largas para evitar ser forzado. La velocidad que un atacante puede usar para forzar la fuerza bruta en la red está muy limitada, por lo que una contraseña de 8 caracteres de mayúsculas y minúsculas sin ninguna relación con una palabra del diccionario es más que suficiente.
  3. Aún mejor, use los archivos de claves para iniciar sesión en SSH . De esa manera, los inicios de sesión SSH solo son posibles con el archivo de claves correcto en el sistema cliente. Es muy improbable que la clave RSA forzada de manera bruta (cuando se genera correctamente) tenga éxito antes del fin del universo, por lo que nadie lo intentará.
  4. Instale fail2ban . Esta herramienta agrega automáticamente reglas de firewall que bloquean las direcciones IP que hacen un número inusualmente grande de intentos fallidos de inicio de sesión. Cuando siguió los pasos anteriores, esto no debería ser realmente necesario desde un punto de vista de seguridad y podría resultar en un bloqueo excesivo de usuarios legítimos que comparten una IP con un atacante (NAT de nivel de operador, direcciones IP dinámicas), pero reduce la carga de recursos. el servidor debido a no tener que responder a todos los intentos de inicio de sesión.
respondido por el Philipp 30.08.2014 - 16:52
fuente
2

Otra sugerencia, eso es realmente mejor que fail2ban, es apagar el firewall TODOS los ips EXCEPTO para unos pocos permitidos.

Por lo tanto, digamos que tiene un servidor SSH en casa al que puede acceder desde su casa de vacaciones (banda ancha móvil 3G) y su trabajo.

Su trabajo probablemente tenga una IP estática. Es fácil decirle al firewall que permita que pasen los paquetes para esta IP.

La banda ancha móvil 3G cambia cada conexión, pero puede buscar fácilmente en WHOIS, que es la serie asignada por los ISP. Por ejemplo: "123.123.0.0 a 123.123.255.255". Luego le dice a su firewall que deje pasar el 123.123.0.0/16 al puerto 22 en su servidor.

Incluso en este caso, ha permitido que todos los clientes de ese operador de telefonía móvil 3G se autentiquen contra su servidor SSH, pero TODAVÍA es una GRAN mejora en la seguridad, ya que en lugar de permitir que todo el mundo se autentique contra su servidor SSH, en cambio, tiene un límite esto solo para clientes que tienen una cuenta ISP específica en un país.

Los bloqueos de país también son una muy buena idea si tiene varios usuarios en su servidor SSH pero sabe que todos los usuarios están en un país específico. Por ejemplo, si les vendió alojamiento web a ellos, pero utilizando un método de pago que solo pueden usar los ciudadanos en un país específico. Entonces es más seguro simplemente bloquear todos los países, excepto los países de los que acepta clientes.

Otro paso que puede tomar es limitar la velocidad de inicio de sesión usando iptables como este:

iptables -A ENTRADA-p tcp --dport 22 -m conntrack --ctstate NUEVO -m límite - límite 3 / minuto --limit-burst 3 -j ACEPTAR

iptables -A ENTRADA -p tcp --dport 22 -m conntrack --ctstate ESTABLECIDO -j ACEPTAR

el uso de dos reglas de firewall arriba limitan cualquier intento de inicio de sesión a 3 veces por minuto. modifique de acuerdo a sus necesidades.

    
respondido por el sebastian nielsen 31.08.2014 - 03:20
fuente

Lea otras preguntas en las etiquetas