Seguridad Linux Avanzada: Guía Completa para Proteger Su Sistema
Descubra las técnicas avanzadas de securización de Linux. Guía completa con ejemplos prácticos para proteger su infraestructura.
InSkillCoach
Seguridad Linux Avanzada: Guía Completa para Proteger Su Sistema
La seguridad es un aspecto crucial de la administración de Linux. En esta guía completa, vamos a explorar las técnicas avanzadas de securización para proteger su infraestructura Linux.
1. Configuración del cortafuegos
Configuración de UFW (Uncomplicated Firewall)
# Activación del cortafuegos
sudo ufw enable
# Configuración de las reglas básicas
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Permitir servicios específicos
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
# Verificación de las reglas
sudo ufw status verbose
Configuración de iptables
# Copia de seguridad de las reglas actuales
sudo iptables-save > /etc/iptables.rules
# Reglas básicas
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# Permitir el tráfico local
sudo iptables -A INPUT -i lo -j ACCEPT
# Permitir las conexiones establecidas
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
2. Securización de SSH
Configuración de sshd
# Edición del archivo de configuración
sudo nano /etc/ssh/sshd_config
# Configuración recomendada
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
MaxAuthTries 3
LoginGraceTime 60
AllowUsers utilisateur1 utilisateur2
Claves SSH
# Generación de la clave
ssh-keygen -t ed25519 -C "votre@email.com"
# Copia de la clave pública
ssh-copy-id utilisateur@serveur
# Configuración del cliente
nano ~/.ssh/config
# Contenido recomendado
Host serveur
HostName serveur.com
User utilisateur
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
3. Gestión de usuarios y permisos
Política de contraseñas
# Instalación de PAM
sudo apt install libpam-pwquality
# Configuración
sudo nano /etc/security/pwquality.conf
# Parámetros recomendados
minlen = 12
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1
Auditoría de permisos
# Búsqueda de archivos SUID
find / -type f -perm -4000 -ls
# Búsqueda de archivos SGID
find / -type f -perm -2000 -ls
# Verificación de los permisos
ls -la /etc/passwd /etc/shadow
4. Monitorización y detección de intrusiones
Instalación de Fail2ban
# Instalación
sudo apt install fail2ban
# Configuración
sudo nano /etc/fail2ban/jail.local
# Configuración recomendada
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
Configuración de Logwatch
# Instalación
sudo apt install logwatch
# Configuración
sudo nano /etc/logwatch/conf/logwatch.conf
# Parámetros recomendados
Output = mail
Format = html
MailTo = admin@example.com
5. Securización de los servicios
Configuración de SELinux
# Instalación
sudo apt install selinux-basics selinux-policy-default
# Activación
sudo selinux-activate
# Configuración del modo
sudo nano /etc/selinux/config
# Modo recomendado
SELINUX=enforcing
SELINUXTYPE=default
AppArmor
# Instalación
sudo apt install apparmor apparmor-utils
# Activación
sudo systemctl enable apparmor
sudo systemctl start apparmor
# Configuración de los perfiles
sudo aa-status
6. Securización del sistema de archivos
Montaje seguro
# Edición del archivo fstab
sudo nano /etc/fstab
# Opciones recomendadas
/dev/sda1 / ext4 defaults,noexec,nodev,nosuid 0 1
/dev/sda2 /home ext4 defaults,nodev,nosuid 0 2
Configuración de las cuotas
# Instalación
sudo apt install quota
# Configuración
sudo quotacheck -cugm /
sudo quotaon -v /
# Edición de las cuotas
sudo edquota -u utilisateur
7. Copia de seguridad y recuperación
Configuración de la copia de seguridad
# Script de copia de seguridad
#!/bin/bash
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz /etc /home /var/www
Planificación de las copias de seguridad
# Edición de crontab
sudo crontab -e
# Tarea diaria
0 2 * * * /usr/local/bin/backup.sh
8. Auditoría de seguridad
Herramientas de auditoría
# Instalación de Lynis
sudo apt install lynis
# Ejecución de la auditoría
sudo lynis audit system
# Instalación de rkhunter
sudo apt install rkhunter
# Configuración y análisis
sudo rkhunter --update
sudo rkhunter --check
Monitorización de los logs
# Instalación de logwatch
sudo apt install logwatch
# Configuración
sudo nano /etc/logwatch/conf/logwatch.conf
# Planificación de los informes
sudo crontab -e
0 7 * * * /usr/sbin/logwatch --mailto admin@example.com --output mail --format html
9. Securización de la red
Configuración de TCP Wrappers
# Edición de los archivos de configuración
sudo nano /etc/hosts.allow
sudo nano /etc/hosts.deny
# Reglas recomendadas
# /etc/hosts.deny
ALL: ALL
# /etc/hosts.allow
sshd: 192.168.1.0/24
Configuración de SSL/TLS
# Instalación de Certbot
sudo apt install certbot python3-certbot-nginx
# Obtención del certificado
sudo certbot --nginx -d example.com
Conclusión
La seguridad en Linux es un proceso continuo que requiere:
- Una vigilancia constante
- Actualizaciones periódicas
- Una configuración adecuada
- Una documentación detallada
No olvide que la seguridad es un enfoque por capas. Combine estas técnicas para crear una defensa robusta frente a las 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