Inicio Tutorial: Securiza tu servidor
Artículo
Cancelar

Tutorial: Securiza tu servidor

Introducción

Esto es una guía de como asegurar que todos mis servidores son seguros.

Actualizar sistema

1
2
3
4
sudo apt update
sudo apt update -y
sudo apt install unattended-upgrades apt-listchanges -y
sudo dpkg-reconfigure unattended-upgrades

Comprobar estado:

1
sudo systemctl status unattended-upgrades

Configurar acceso por clave SSH

Crear usuario administrador

Es recomendable crear un usuario con un nombre que no sea el típico.

1
2
sudo adduser admin_mruizg
sudo usermod -aG sudo admin_mruizg

Equipo local

En el equipo local necesitamos generar una clave publica privada:

1
ssh-keygen -t ed25519

Estas claves se guardan en ~/.ssh/.

RECUERDA que ~ es lel diretorio de tu usuario.

Y la enviamos al servidor:

1
ssh-copy-id admin_mruizg@IP_DEL_SERVIDOR

Equipo remoto o servidor

Si no tienes acceso directo por ssh al servidor a través de contraseña, puedes copiar la clave pública (la que no tiene extensión) al final del fichero ~/.ssh/authorized_keys.

Configurar acceso por clave SSH

¡CUIDADO! Si quitas la autenticación por contraseña más vale que tengas tu clave privada a buen recaudo.

Editar configuración:

1
sudo nano /etc/ssh/sshd_config

Asegurar que contiene:

1
2
3
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Reiniciar servicio:

1
sudo systemctl restart ssh

Configurar firewall

¡CUIDADO! Si bloqueas todos los puertos asegurate de tener abiertos los puertos que usas en el servicio SSH y el acceso a la interfaz web principal.

1
sudo apt install ufw -y
1
2
sudo ufw default deny incoming
sudo ufw default allow outgoing
1
2
sudo ufw allow 22987/tcp
sudo ufw allow 9999/tcp

Fail2Ban

Instalar Fail2Ban:

1
sudo apt install fail2ban -y

Comprobar estado:

1
sudo fail2ban-client status

Instalar herramientas básicas de auditoría

1
sudo apt install lynis rkhunter chkrootkit logwatch -y
1
sudo lynis audit system

Backup con rsync

AppArmor

Comprobar estado de AppArmor:

1
sudo aa-status

Si no está activo:

1
2
sudo systemctl enable apparmor
sudo systemctl start apparmor

Monitorizar accesos SSH

1
sudo journalctl -u ssh

Intentos fallidos:

1
sudo grep "Failed password" /var/log/auth.log
1
1
1
1

##

##

##

Bibliografía

Este artículo está licenciado bajo CC BY 4.0 por el autor.

Tutorial: Monta tu propio Google Drive con NextCloud

Tutorial: Vue