Linux es uno de los sistemas operativos más seguros, pero eso no significa que esté libre de vulnerabilidades. Una mala configuración puede dejar puertas abiertas a ataques, accesos no autorizados o pérdida de datos.
Si eres administrador de sistemas o gestionas servidores Linux, es fundamental aplicar buenas prácticas de seguridad para minimizar riesgos. A continuación, presentamos 10 prácticas esenciales para mantener un sistema Linux seguro y protegido.
1️⃣ Mantener el sistema y los paquetes actualizados
📌 Las actualizaciones corrigen vulnerabilidades críticas en el sistema y software.
🔹 Buenas prácticas:
✅ Habilitar actualizaciones automáticas con unattended-upgrades.
✅ Revisar y aplicar parches de seguridad con:
sudo apt update && sudo apt upgrade -y
# Debian/Ubuntu
sudo dnf update -y
# Fedora sudo yum update -y
# RHEL/CentOS
✅ Mantener actualizado el kernel de Linux con herramientas como livepatch o kexec.
2️⃣ Configurar usuarios y permisos de forma segura
📌 El uso de permisos inadecuados es una de las principales causas de accesos no autorizados.
🔹 Buenas prácticas:
✅ Deshabilitar el acceso directo de root:
sudo passwd -l root
✅ Crear usuarios con privilegios limitados.
✅ Usar sudo en lugar de su para ejecutar comandos administrativos.
✅ Aplicar el principio de mínimos privilegios en directorios y archivos sensibles.
3️⃣ Configurar y endurecer SSH
📌 El acceso remoto vía SSH es un punto crítico de seguridad en cualquier servidor Linux.
🔹 Buenas prácticas:
✅ Cambiar el puerto SSH por defecto (evitar el 22):
sudo nano /etc/ssh/sshd_config
Modificar:
Port 2222
✅ Deshabilitar el acceso root por SSH:
PermitRootLogin no
✅ Usar autenticación con clave en lugar de contraseñas:
ssh-keygen -t rsa -b 4096
✅ Implementar Fail2Ban para bloquear intentos de acceso sospechosos:
sudo apt install fail2ban -y
4️⃣ Implementar un firewall
📌 Un firewall bien configurado filtra tráfico no deseado y protege los servicios expuestos.
🔹 Buenas prácticas:
✅ Usar UFW (Uncomplicated Firewall) en Ubuntu/Debian:
sudo ufw enable
sudo ufw allow 22/tcp # (o el puerto SSH configurado)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw status
✅ Usar Firewalld en RHEL/Fedora:
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
✅ Aplicar reglas de restricción por IP para reducir la superficie de ataque.
5️⃣ Monitorear registros del sistema
📌 El monitoreo de logs permite detectar intentos de acceso no autorizado y actividad sospechosa.
🔹 Buenas prácticas:
✅ Usar journalctl para analizar registros del sistema:
sudo journalctl -xe
✅ Revisar accesos fallidos y actividad SSH:
sudo cat /var/log/auth.log | grep "Failed password"
✅ Configurar Logwatch para reportes automatizados:
sudo apt install logwatch -y
sudo logwatch --detail high --mailto Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
6️⃣ Implementar autenticación en dos factores (2FA)
📌 El 2FA añade una capa adicional de seguridad contra accesos no autorizados.
🔹 Buenas prácticas:
✅ Instalar Google Authenticator para SSH:
sudo apt install libpam-google-authenticator google-authenticator
✅ Configurar el archivo /etc/pam.d/sshd y /etc/ssh/sshd_config para forzar 2FA.
✅ Usar claves FIDO2/YubiKey para mayor seguridad.
7️⃣ Configurar SELinux o AppArmor
📌 Herramientas de control de acceso obligatorio (MAC) para restringir permisos de procesos y servicios.
🔹 Buenas prácticas:
✅ En Fedora/CentOS/RHEL, habilitar SELinux en modo enforcing:
sudo setenforce 1
✅ En Debian/Ubuntu, usar AppArmor para restringir aplicaciones:
sudo aa-enforce /etc/apparmor.d/*
✅ Revisar políticas con:
sudo sestatus # SELinux
sudo aa-status # AppArmor
8️⃣ Cifrar datos sensibles y discos
📌 El cifrado protege información crítica en caso de robo o acceso no autorizado.
🔹 Buenas prácticas:
✅ Usar LUKS para cifrar discos:
sudo cryptsetup luksFormat /dev/sdX
sudo cryptsetup luksOpen /dev/sdX mi_volumen
✅ Cifrar archivos con GnuPG:
gpg -c archivo_secreto.txt
✅ Configurar fscrypt para cifrar directorios específicos.
9️⃣ Eliminar servicios y puertos innecesarios
📌 Cada servicio en ejecución es una potencial vulnerabilidad.
🔹 Buenas prácticas:
✅ Verificar servicios en ejecución:
sudo systemctl list-units --type=service
✅ Desactivar servicios no utilizados:
sudo systemctl disable nombre_servicio
sudo systemctl stop nombre_servicio
✅ Revisar puertos abiertos:
sudo netstat -tulpn
sudo ss -tulnp
🔟 Habilitar copias de seguridad automatizadas
📌 Un buen plan de copias de seguridad previene pérdida de datos.
🔹 Buenas prácticas:
✅ Usar rsync para copias de seguridad incrementales:
rsync -av --delete /directorio/origen /directorio/destino
✅ Configurar cron jobs para automatizar backups.
✅ Usar herramientas como BorgBackup o Timeshift.
La Seguridad en Linux no es opcional
📌 Aplicar estas 10 mejores prácticas de seguridad en Linux permite a los administradores reducir riesgos y proteger la integridad del sistema.
✅ Actualiza regularmente
✅ Limita accesos y permisos
✅ Configura firewalls y monitorea logs
✅ Cifra datos y usa 2FA