Las 10 mejores prácticas de seguridad en Linux que todo administrador debe conocer

La seguridad en Linux no es algo que puedas dejar para después. Aunque este sistema es conocido por ser más robusto que otros, un descuido o una mala configuración pueden convertir tu servidor en un blanco fácil para ataques. ¿Sabías que muchas brechas de seguridad ocurren por errores humanos y no por fallos del sistema? En este artículo, vas a descubrir las 10 mejores prácticas de seguridad en Linux que todo administrador debería aplicar. Si quieres mantener tus servidores protegidos y dormir tranquilo, quédate, porque esto te interesa.
Linux es conocido por ser uno de los sistemas operativos más seguros, pero eso no significa que esté libre de amenazas. Una configuración incorrecta o la falta de medidas adecuadas pueden abrir la puerta a accesos no autorizados y ataques maliciosos. Si gestionas servidores o trabajas con Linux, aplicar buenas prácticas de seguridad no es opcional: es una necesidad. A continuación, te muestro 10 medidas clave para reforzar la seguridad de tu sistema.
Mantén el sistema y los paquetes actualizados
Uno de los errores más comunes es dejar el sistema desactualizado. Las actualizaciones corrigen vulnerabilidades y protegen contra ataques recientes.
Consejos:
Activa las actualizaciones automáticas con «unattended-upgrades». Ejecuta regularmente las siguientes órdenes para mantener todo actualizado:
Para Debian y Ubuntu:
sudo apt update && sudo apt upgrade -y
Para Fedora:
sudo dnf update -y
Para Red Hat o CentOS
sudo yum update -y
Usa livepatch o kexec para actualizar el kernel sin reiniciar.
Configura usuarios y permisos correctamente
No todos los usuarios deben tener acceso a todo. Restringir permisos reduce el riesgo de intrusiones.
Consejos:
- Bloquea el acceso directo de root, eso sí, asegúrate que tu usuario principal está en el grupo sudoers o tiene permisos de administración para ejecutar sudo, sino te quedarás sin permisos de administrador en el sistema.
sudo passwd -l root
- Usa sudo en lugar de su para privilegios administrativos.
- Aplica el principio de mínimos privilegios en archivos sensibles.
Refuerza la seguridad de SSH
El acceso remoto vía SSH es un objetivo frecuente de ataques.
Consejos:
- Cambia el puerto por defecto (22) editando /etc/ssh/sshd_config:
Port 2222
- Desactiva el acceso root:
PermitRootLogin no
- Habilita autenticación con clave pública, ya sea con claves RSA o EC, para que así tengamos la mayor seguridad posible.
- Instala Fail2Ban para bloquear intentos de acceso sospechosos, y poder bloquearlos a través del firewall.
sudo apt install fail2ban -y
Implementa un firewall
Un firewall bien configurado ayuda a filtrar tráfico no deseado y protege los servicios expuestos, de forma predeterminada tenemos iptables en la mayoría de sistemas basados en Linux, pero es posible que sea complicado de configurar si eres nuevo. En estos casos, usar ufw es una muy buena opción.
Consejos:
- Usa UFW en Ubuntu/Debian:
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
- Usa Firewalld en Fedora/RHEL:
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Monitorea los registros del sistema
Revisar los logs permite detectar intentos de acceso no autorizados y actividad sospechosa.
Consejos:
- Usa journalctl para ver registros en tiempo real:
sudo journalctl -xe
- Revisa accesos fallidos:
sudo cat /var/log/auth.log | grep "Failed password"
- Instala Logwatch para reportes automatizados:
- sudo apt install logwatch -y
sudo logwatch --detail high --mailto admin@tudominio.com
Habilita autenticación en dos factores (2FA)
Añadir 2FA refuerza la seguridad ante accesos no autorizados.
Consejos:
- Instala Google Authenticator:
sudo apt install libpam-google-authenticator google-authenticator
Ahora tendrás que configurar /etc/pam.d/sshd y /etc/ssh/sshd_config para forzar 2FA.
Usa SELinux o AppArmor
Estas herramientas limitan lo que los procesos pueden hacer en el sistema.
Consejos:
- En Fedora/RHEL, habilita SELinux:
sudo setenforce 1
- En Ubuntu/Debian, usa AppArmor:
sudo aa-enforce /etc/apparmor.d/*
Cifra datos sensibles y discos
El cifrado protege información crítica en caso de robo o acceso no autorizado.
Consejos:
- Usa LUKS para cifrar discos:
sudo cryptsetup luksFormat /dev/sdX
sudo cryptsetup luksOpen /dev/sdX mi_volumen
- Cifra archivos con GnuPG:
gpg -c archivo_secreto.txt
Elimina servicios y puertos innecesarios
Cada servicio en ejecución es un posible vector de ataque.
Consejos:
- Lista servicios en ejecución:
sudo systemctl list-units --type=service
- Desactiva los que no uses:
sudo systemctl disable nombre_servicio
sudo systemctl stop nombre_servicio
- Revisa puertos abiertos:
sudo netstat -tulpn
sudo ss -tulnp
Realiza copias de seguridad automatizadas
Los backups son clave para recuperar datos tras un incidente.
Consejos:
- Usa rsync para copias incrementales:
rsync -av --delete /directorio/origen /directorio/destino
- Configura cron jobs para automatizar backups.
- Considera herramientas como BorgBackup o Timeshift.
Como ves, no hay sistema infalible, pero aplicar estas 10 prácticas de seguridad reduce significativamente los riesgos y fortalece la protección de tu servidor Linux. Mantenerlo actualizado, controlar accesos y permisos, cifrar datos y realizar backups te ayudará a evitar problemas graves en el futuro.