Una de las mejores prácticas en la Administración de Sistemas, es pensar en la seguridad. Como comentaba anteriormente, al recibir un equipo nuevo, le instalo y configuro algunas herramientas de administración. En esta ocasión haremos un poco más segura nuestra conexión con OpenSSH.
Primeramente, y en cualquier caso al realizar una nueva configuración, respaldamos el archivo de configuración de SSH:
[root@ragnarok etc]# cp -p sshd_config sshd_config.orig.bkp
Editamos el archivo, comenzando la configuración:
- Cambiamos el puerto por default.
OpenSSH utiliza por defecto el puerto 22, por lo que se recomienda utilizar otro que no sea tan común y sin relación, por ejemplo:
#Port 22
Port 18696
Para conectarnos usariamos:
ssh -p18696 user@server
- Cambiamos la dirección de escucha
Si solamente nos conectamos desde una IP fija, podemos establecer una sola dirección de escucha a OpenSSH, con esto, solamente permitirá conexiones desde esa dirección:
#ListenAddress 0.0.0.0
ListenAddress 10.1.181.220
También podríamos establecer un rango de direcciones:
ListenAddress 192.168.122.1/24
Aunque también esto lo podríamos registrar mejor con TCP-Wrappers, lo cual es la mejor opción para un reporte detallado de conexiones.
- Seteamos el tiempo de espera de login
Configuramos un tiempo de 30 segundos para que el usuario pueda introducir sus datos de acceso, si se tarda más, la conexión se cierra
#LoginGraceTime 2m
LoginGraceTime 30
- Inhabilitamos el login directo a root
Una de las mejores prácticas es saber utilizar sabiamente a root, ocupándolo lo menos posible, para eso, utilizamos sudo para convertirnos en él en caso de ser necesario; por lo mismo, lo mejor es no permitir su acceso directo al sistema
#PermitRootLogin yes
PermitRootLogin no
- No permitir el re-direccionamiento de gráficos
Si nos estamos conectando a un servidor *nix, no es necesario utilizar los gráficos
X11Forwarding no
- Restringir el máximo de intentos de login
Después de 3 intentos fallidos de acceso, se terminará la conexión
#MaxStartups 10
MaxStartups 3
- Uso de banner de monitoreo de actividades
Para presentar un aviso, cuando se ingresa al sistema, que avisa sobre la confidencialidad del sistema, así como de las consecuencias en las actividades realizadas
#Banner none
Banner /etc/issue
Un ejemplo de banner sería:
Este sistema es para el uso exclusivo de usuarios autorizados, por lo que las personas que lo utilicen estarán sujetos al monitoreo de todas sus actividades en el mismo. Cualquier persona que utilice este sistema permite expresamente tal monitoreo y debe estar consciente de que si este revelara una posible actividad criminal, el personal de sistemas proporcionara la evidencia del monitoreo al personal de seguridad informática, con el fin de emprender las acciones civiles y/o legales que correspondan.
Para que tengan efecto estos cambios es necesario reiniciar el servicio de OpenSSH.
Con esto, si estuviéramos en la Matrix, Trinity no hubiera podido Hackearnos (…o al menos no como lo hizo en Matrix Reloaded).
Imagen obtenida de http://nmap.org/images/matrix/
Espero les sea de utilidad.