- Cambiar la contraseña por defecto del usuario root
- Actualizar el sistema
- Crear usuario sin privilegios
- Deshabilitar el acceso root a ssh
- Cambiar el puerto ssh por defecto
- Configurar claves ssh como único acceso a ssh
- Instalar fail2ban
- Enlaces
La expresión Linux hardening significa “endurecimiento”, se refiere a las acciones que debemos tomar para securizar un sistema Linux. En este caso un servidor VPS.
Cambiar la contraseña por defecto del usuario root
Cambiando la contraseña por defecto que suministra el proveedor de servicios, evitamos los ataques de diccionario y terceros que traten de intentar conectarse de forma fraudulenta a nuestro servidor. Además es nuestra oportunidad de crear una contraseña fuerte.
passwd root
Actualizar el sistema
Actualizar el sistema de forma regular para tener las aplicaciones protegidas contra las últimas vulnerabilidades encontradas.
sudo dnf update
Crear usuario sin privilegios
Creamos un usuario con el que nos logueamos al sistema, sin permisos de modificación del sistema. Si tenemos que realizar operaciones con permisos de superusuario, entramos primero con un usuario normal y luego elevamos los provilegios.
Creamos un usuario en el sistema, con su propia carpeta home y establecemos su contraseña.
useradd -m andres
passwd andres
Deshabilitar el acceso root a ssh
El usuario root tiene acceso completo a los sistemas Linux. Es recomendable evitar el acceso remoto de este usuario.
nvim /etc/ssh/sshd_config
#Localizamos la frase PermitRootLogin y lo establecemos a false
PermitRootLogin no
#Reinicamos servicio para recargar la configuración
systemctl restart sshd
Cambiar el puerto ssh por defecto
En mi opinión esto es una medida de seguridad por ofuscación, sin embargo es cierto que “evitamos” los ataques dirigidos de forma automática al puerto 22.
nvim /etc/ssh/sshd_config
Port <número de puerto>
Configurar claves ssh como único acceso a ssh
En este paso deshabilitamos el acceso a nuestro VPS mediante contraseña y habilitamos exclusivamente el acceso mediante claves ssh.
Tener cuidado de tener a buen recaudo las claves ssh, si las perdemos no podremos entrar a nuestro VPS
nvim /etc/sshd/sshd_config
PasswordAuthentication no
PubKeyAuthentication yes
Instalar fail2ban
fail2ban monitoriza los intentos de acceso y banea las IP’s que tratan de conectarse actualizando las iptables.
Es recomendable crear nuestras reglas en un fichero llamado jail.local y dejar el que viene por defecto
sudo dnf install fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Configuración jaula ssh
[sshd]
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
bantime = 5m
findtime = 1d
enabled = true
Arrancar el servicio
systemctl enable fail2ban
systemctl restart fail2ban
Consultar los intentos de login
fail2ban-client status sshd