✅ Mejores Prácticas para Asegurar un Servidor Linux en Producción

Comparte

¿Estás a punto de lanzar tu servidor Linux a producción? Asegurarlo correctamente es esencial para evitar vulnerabilidades y ataques. En esta guía te compartimos las mejores prácticas para mantener tu servidor seguro, eficiente y protegido contra amenazas externas.


🔒 1. Mantén el Sistema Actualizado

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

Las actualizaciones corrigen vulnerabilidades y aseguran el rendimiento óptimo del sistema.


👤 2. Desactiva el Usuario Root para Acceso SSH

Edita el archivo /etc/ssh/sshd_config:

PermitRootLogin no

Luego reinicia el servicio:

sudo systemctl restart ssh

Esto obliga a los usuarios a autenticarse con cuentas específicas, dificultando el acceso no autorizado.


🔑 3. Usa Autenticación por Clave Pública

Genera un par de claves en tu máquina local:

ssh-keygen -t rsa -b 4096

Copia la clave pública al servidor:

ssh-copy-id usuario@ip-del-servidor

Desactiva las contraseñas en /etc/ssh/sshd_config:

PasswordAuthentication no

🧱 4. Instala y Configura un Firewall

Instala UFW y habilita sólo los puertos necesarios:

sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

🕵️ 5. Usa Fail2Ban para Bloquear Fuerza Bruta

sudo apt install fail2ban
sudo systemctl enable fail2ban

Fail2Ban analiza los logs y bloquea IPs maliciosas automáticamente.


🔍 6. Monitoriza y Audita tu Servidor

Instala herramientas como:

  • logwatch para informes de logs.
  • auditd para auditorías de seguridad.
  • htop y glances para monitoreo de recursos.

🗂️ 7. Minimiza los Servicios y Paquetes

Elimina servicios innecesarios:

sudo systemctl list-unit-files --type=service
sudo systemctl disable nombre-servicio

Y desinstala paquetes que no uses.


🔐 8. Configura SELinux o AppArmor

Estos sistemas de control de acceso restringen procesos y evitan daños mayores en caso de intrusión.


🧪 9. Haz Backups Automáticos

Programa respaldos con rsync, tar, o herramientas como Duplicity o BorgBackup.

Ejemplo:

rsync -a /home/usuario/ /mnt/backup/servidor/

🧰 10. Usa HTTPS en Todos los Servicios Web

Instala Let’s Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

Automatiza la renovación con cron.


📌 Conclusión

Asegurar un servidor Linux no es una tarea que se hace una vez y se olvida. Es un proceso continuo que debe adaptarse a las nuevas amenazas y necesidades. Sigue estas prácticas y realiza auditorías periódicas para mantener tu infraestructura protegida.





codigo fuente gratis