Seguridad y configuración de sistemas Linux
Guía completa para configurar y proteger eficazmente sus sistemas Linux
InSkillCoach
Seguridad y configuración de sistemas Linux
La seguridad y la configuración adecuada de un sistema Linux son esenciales para garantizar su estabilidad, su rendimiento y su resistencia frente a las amenazas. Esta guía presenta las mejores prácticas para configurar y proteger eficazmente sus sistemas Linux.
Configuración del sistema
Gestión de usuarios y grupos
La gestión de usuarios es fundamental para la seguridad y la organización de un sistema Linux.
Creación y gestión de usuarios
# Crear un nuevo usuario
sudo useradd -m username
# Definir una contraseña
sudo passwd username
# Añadir un usuario a un grupo (p. ej.: sudo)
sudo usermod -aG sudo username
# Eliminar un usuario
sudo userdel -r username
Gestión de grupos
# Crear un nuevo grupo
sudo groupadd groupname
# Añadir un usuario a un grupo
sudo usermod -aG groupname username
# Eliminar un grupo
sudo groupdel groupname
Configuración de red
Una configuración de red adecuada es esencial para la conectividad y la seguridad.
Configuración de IP estática (Ubuntu/Debian con Netplan)
# Editar el archivo de configuración
sudo nano /etc/netplan/01-netcfg.yaml
Ejemplo de configuración:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Aplicar los cambios:
sudo netplan apply
Configuración de DNS
# Editar el archivo resolv.conf
sudo nano /etc/resolv.conf
Ejemplo de configuración:
nameserver 8.8.8.8
nameserver 8.8.4.4
Servicios del sistema
La gestión de servicios es crucial para controlar lo que se ejecuta en su sistema.
Gestión con systemd
# Comprobar el estado de un servicio
sudo systemctl status service-name
# Iniciar un servicio
sudo systemctl start service-name
# Detener un servicio
sudo systemctl stop service-name
# Activar un servicio en el arranque
sudo systemctl enable service-name
# Desactivar un servicio en el arranque
sudo systemctl disable service-name
# Reiniciar un servicio
sudo systemctl restart service-name
Comprobar los servicios activos
# Listar todos los servicios activos
systemctl list-units --type=service --state=active
Seguridad en Linux
Cortafuegos con UFW (Uncomplicated Firewall)
UFW es una interfaz simplificada para iptables que facilita la configuración del cortafuegos.
# Instalar UFW
sudo apt install ufw
# Comprobar el estado
sudo ufw status
# Activar UFW
sudo ufw enable
# Permitir SSH (puerto 22)
sudo ufw allow 22/tcp
# Permitir HTTP y HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Bloquear un puerto específico
sudo ufw deny 3306
# Bloquear una dirección IP
sudo ufw deny from 192.168.1.10
# Eliminar una regla
sudo ufw delete deny 3306
Protección de SSH
SSH suele ser la principal puerta de entrada a su servidor, por lo que es crucial protegerlo.
# Editar la configuración de SSH
sudo nano /etc/ssh/sshd_config
Modificaciones recomendadas:
# Desactivar el acceso de root
PermitRootLogin no
# Desactivar la autenticación por contraseña
PasswordAuthentication no
# Limitar los usuarios autorizados
AllowUsers user1 user2
# Cambiar el puerto predeterminado (opcional)
Port 2222
# Limitar los intentos de autenticación
MaxAuthTries 3
Reiniciar SSH para aplicar los cambios:
sudo systemctl restart sshd
Autenticación por clave SSH
La autenticación por clave es más segura que las contraseñas.
# En su máquina local, generar un par de claves
ssh-keygen -t ed25519 -C "votre_email@exemple.com"
# Copiar la clave pública en el servidor
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
Actualizaciones de seguridad
Mantener el sistema actualizado es una de las medidas de seguridad más importantes.
# Actualizar la lista de paquetes
sudo apt update
# Instalar las actualizaciones
sudo apt upgrade
# Actualizar el sistema completo
sudo apt dist-upgrade
# Eliminar los paquetes obsoletos
sudo apt autoremove
Para las actualizaciones automáticas (Ubuntu/Debian):
# Instalar unattended-upgrades
sudo apt install unattended-upgrades
# Configurar las actualizaciones automáticas
sudo dpkg-reconfigure unattended-upgrades
Fail2ban: protección contra ataques de fuerza bruta
Fail2ban supervisa los registros y bloquea temporalmente las direcciones IP que muestran signos de ataque.
# Instalar Fail2ban
sudo apt install fail2ban
# Crear un archivo de configuración local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Configuración recomendada para SSH:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
Reiniciar Fail2ban:
sudo systemctl restart fail2ban
Comprobar el estado:
sudo fail2ban-client status sshd
Supervisión y registro
Registros del sistema
Los registros son esenciales para diagnosticar problemas y supervisar la seguridad.
# Mostrar los registros recientes del sistema
journalctl -xe
# Seguir los registros en tiempo real
tail -f /var/log/syslog
# Buscar intentos de conexión fallidos
grep "Failed password" /var/log/auth.log
# Rotación de registros
sudo logrotate -f /etc/logrotate.conf
Herramientas de supervisión
# Supervisión de procesos y recursos
htop
# Supervisión de la E/S de disco
iotop
# Supervisión de la red
nethogs
# Supervisión completa del sistema
glances
Auditorías de seguridad con Lynis
Lynis es una herramienta de auditoría de seguridad para sistemas Unix/Linux.
# Instalar Lynis
sudo apt install lynis
# Ejecutar una auditoría completa
sudo lynis audit system
Copias de seguridad y recuperación
Copia de seguridad con rsync
# Hacer una copia de seguridad de un directorio localmente
rsync -av --delete /source/directory/ /destination/directory/
# Hacer una copia de seguridad en un servidor remoto
rsync -avz -e ssh /source/directory/ user@remote:/destination/directory/
Copia de seguridad con Duplicity
# Instalar Duplicity
sudo apt install duplicity
# Hacer una copia de seguridad en un servidor FTP
duplicity /home/user ftp://user:password@ftp.example.com/backup
Conclusión
La protección y la configuración adecuada de un sistema Linux son procesos continuos que exigen una vigilancia constante. Siguiendo las mejores prácticas descritas en esta guía, podrá mejorar considerablemente la seguridad y el rendimiento de sus sistemas Linux.
No olvide que la seguridad es un equilibrio entre funcionalidad y protección. Adapte siempre estas recomendaciones a sus necesidades específicas y a su entorno.
Manténgase informado sobre las últimas vulnerabilidades y actualizaciones de seguridad para mantener su sistema protegido frente a las nuevas amenazas.
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión