Como puedo hacer mas seguro SSH para evitar ataques a nuestro servidor



   AUTOR PREGUNTA

Publicado 27 junio 2014 - 10:45

¿Qué recomendaciones podéis hacernos para el tema de seguridad bajo SSH para mis servidores? ¿Qué debería tener en cuenta para protegerlo? Muchas gracias a todos.


¿Tienes la misma pregunta? Yo también

 

Publicado 27 junio 2014 - 14:55

[size=4]Los problemas más generales de poca seguridad en un servidor SSH serían:[/size]
  • [size=4]Permitir que el user root tuviera permiso para acceder a tu servidor SSH. Es fácil de detectar y de intentar atacarte por ejemplo (Fuerza Bruta por intentos).[/size]
  • [size=4]No activar que a partir de un número máximo de intentos erróneos de conexión sacara fuera al atacante. Estarías abierto a ataques por Fuerza Bruta (Intentos ilimitados de intrusión hasta adivinar tu contraseña)[/size]

   AUTOR PREGUNTA

Publicado 02 julio 2014 - 14:16

Muy buenas comprobaciones para el server SSH

 

Publicado 11 julio 2014 - 19:31

Lo mejor es hacer cambios en el archivo de configuración SSH

[size=4]/etc/ssh/sshd_config [/size]
  • Port 432 (o el que se quiera menor a 1024)
  • [size=4]Protocol 2[/size]
  • [size=4]LoginGraceTime 30[/size]
  • [size=4]PermitRootLogin no[/size]
  • [size=4]MaxAuthTries 2[/size]
  • [size=4]MaxStartups 3[/size]
  • [size=4]AllowUsers sergio [/size]

[size=4][size=5]Port [/size][/size]
[size=4]Por defecto ssh funciona en el puerto 22, donde existen scripts de ataques a este puerto 22, es interesante cambiarlo el puerto, pero no va a garantizar que no sea encontrado, ya que herramientas como nmap pueden ver que está abierto, aunque será protegido a ataques con determinados scripts que buscan el 22 por defecto.[/size]

[size=4][size=4][size=5]PermitRootLogin no[/size][/size][/size]
[size=4]Muy buena para mejorar la seguridad de nuestro servidor SSH. No debemos centrarnos EXCLUSIVAMENTE en la mejora de las contraseñas. La mayoría de intentos de intrusión por fuerza bruta con scripts y otras formas son evitados con esto ya que no usaríamos el usuario por defecto que es root y es el típico uso en scripts de ataque, que si lo juntamos a contraseñas débiles tendríamos las 2 partes más fáciles de atacar.[/size]

[size=4]Poniendo el 'no' en PermitRootLogin como en el título pues el usuario por defecto root no tendrá posibilidad de ser usado para el acceso. Muy útil y efectivo para mejorar la seguridad.[/size]

[size=4][size=5]Protocol 2[/size][/size]
[size=4]Existen dos versiones de ssh en cuanto a su protocolo de comunicación, la versión 1 y la versión 2. La 1 esta en desuso pero todavía se incluye por compatibilidad, tiene varias vulnerabilidades conocidas y su uso no es ya recomendable, así que con el protocolo 2.[/size]

[size=4][size=5]LoginGraceTime 30[/size][/size]
[size=4]El número muestra el número de segundos en que la pantalla de login sea mostrada, así el login se cierra, así evita que se quede escritas sin que alguien las haya usado, y evita un script que usa varias veces el intento de adivinar un usuario y contraseña.

[size=5]MaxAuthTries 3[/size][/size]
[size=4]Es la cantidad de veces que podemos fallar al intentar el login, cómo el título, pues después de 3 intentos de entrada erroneos, se cierra la conexión. Con esto evitamos ataques por fuerza bruta.

[size=5]AllowUsers[/size][/size]
[size=4]Para casos con varios usuarios, debemos mostrar quien y donde deben hacerlo, es decir que habilitar SSH a todos que tendrán acceso remoto no es lo más seguro, hay que habilitar sólo las personas importantes y que lo necesitan por si acaso o por uso, pero a todos no. Qué entren vía LAN o cerrando por MAC del equipo que pueden sería lo más regulado y seguro.[/size]

   AUTOR PREGUNTA

Publicado 11 julio 2014 - 22:36

Muchas gracias!!