0%
Seguridad Linux Avanzada: Guía Completa para Proteger Su Sistema

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.

I

InSkillCoach

· min

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.

InSkillCoach

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+
577
261

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!