Trucos y Consejos para Asegurar SSH en Linux
La gente de Linux.com nos deja unos excelentes consejos, cortitos y simples, para asegurar nuestro servidor SSH sin mucho esfuerzo.
SSH es un protocolo de comunicación seguro, de modo que podemos usarlo para conectarnos a una terminal Unix desde otra PC, e interactuar con nuestro sistema como si fuese uno local. Por otro lado, existe la posibilidad de montar una unidad SSH con SSHFS, de modo que tengamos un acceso como si fuera un FTP, bastante útil si queremos evitarnos el rollo de configurar NFS o Samba en Linux.
Los consejos que se dan a continuación han sido probados para evitar problemas de configuración y demás, aún así no podemos garantizar la completa seguridad de que los mismos evitarán concretamente un acceso al sistema protegido, ni menos aún asegurar que un sistema puede ser 100% seguro, que no lo es.
Cabe destacar que cada consejo que se dará, son con cambios de configuración, por lo cual necesitarán reiniciar el servicio una vez que hagan guardado la configuración, para que los cambios se tomen en cuenta. (/etc/init.d/ssh restart)
Por otro lado, la configuración del servidor SSH está localizada en /etc/ssh/sshd_conf
Vamos a los consejos:
- Cambiar el puerto de escucha de SSH: Por defecto, el servidor SSH se ubica en el puerto 22. Esto es una ventaja, pero a la vez un riesgo, ya que todo aquel que efectúe un escaneo de red, puede encontrar si ese puerto específico está o no abierto, y en el caso de estarlo, intentar atacarlo. Por esto desde el archivo de configuración (mencionado antes), nos localizamos en la línea que dice Port 22 y la cambiamos para el puerto que queramos. Luego, para conectarse al SSH, solo bastará con apuntar al nuevo puerto elegido.
- Solo Protocolo SSH 2: Existen 2 protocolos de SSH, el segundo es más seguro que el primero, por lo cual se recomienda usarlo. Para cambiarlo, simplemente busquen la línea que dice Protocol 2,1 y dejenlo con Protocol 2. Muchas distribuciones actuales, traen SSH y por defecto Protocolo 2 activado nomás.
- Desactivar acceso ROOT: El hecho de contar con un SSH y una cuenta Root posible de ser atacada, presenta una grave falencia en la seguridad del sistema. Por esto, si buscamos la línea que nos dice PermitRootLogin yes y la cambiamos a no, estaremos asegurándonos que en caso de ataque, el daño será menor.
- Permitir acceso puntual de usuario: Dicen que la mejor seguridad, es aquella que es denegación por defecto, es decir, que solo se establecen aquellos puntos de quienes solo pueden acceder, y no al revés quienes no deben acceder. Por lo cual, buscamos si existe o creamos una línea que contenga lo siguiente AllowUsers pepe manolo para permitir que solo los usuarios pepe y manolo puedan acceder por SSH.
- Bloqueando la conexión a un rango específico de IPs: Si estás en una Red, y quieres evitar que las conexiones de Internet puedan tomar juego en el asunto, lo recomendable es limitar la conexión a la red interna propia. Desde el archivo /etc/hosts.allow agregamos una línea que, por ejemplo, diga sshd: 192.168.1 200.131.255.14 de modo que solo permitiremos conexiones de IPs del rango 192.168.1.0/24 y una IP particular, 200.131.255.14. De este modo, si alguien desde otra red intenta acceder, recibirá una expulsión inmediata del servidor SSH.
En los consejos figuran más específicos y avanzados, que desestimo básicamente porque entran a jugar con reglas del cortafuegos y demás, por lo cual, es posible que alguno por tocar de más terminé con un sistema más inseguro, asi que solo dejo los trucos de los más sencillos. Aún asi, si desean, pueden acceder a la fuente y ver los demás. Fuente: Linux.com