🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Guía paso a paso para proteger tu servidor Linux con medidas básicas de seguridad

Actualizado el 22 de diciembre de 2025

Sabemos que la seguridad de tu servidor puede sonar a algo complejo, pero no te preocupes: con esta guía paso a paso vas a poder aplicar las medidas más importantes sin ser un experto. Aquí te explicamos, de forma clara y sencilla, cómo proteger tu máquina Linux desde el primer momento.

¿Por qué es importante la seguridad en tu servidor Linux?

Un servidor sin protección es como una puerta abierta: cualquier persona malintencionada podría entrar, robar datos, instalar malware o usar tu servidor para atacar a otros. La seguridad no es un lujo, es una necesidad básica para cualquier proyecto, ya sea una web pequeña, un blog o una aplicación crítica.

Con unos pocos pasos, puedes reducir drásticamente los riesgos. Esta guía cubre las medidas esenciales que todo SysAdmin debería aplicar desde el día uno. No necesitas ser un gurú, solo seguir el orden que te proponemos.

Paso 1: Actualiza el sistema operativo y los paquetes

Este es el primer paso y el más fácil. Las actualizaciones corrigen vulnerabilidades conocidas. Si no actualizas, dejas agujeros de seguridad abiertos.

Cómo actualizar en distribuciones basadas en Debian/Ubuntu

Abre la terminal y ejecuta:

sudo apt update && sudo apt upgrade -y

Este comando actualiza la lista de paquetes disponibles y luego los actualiza todos. El -y acepta automáticamente las confirmaciones.

Cómo actualizar en distribuciones basadas en RHEL/CentOS/Fedora

sudo yum update -y

O si usas dnf (Fedora moderno):

sudo dnf upgrade --refresh

[TIP] Programa actualizaciones automáticas con herramientas como unattended-upgrades (Debian/Ubuntu) o yum-cron (CentOS). Así no tendrás que acordarte cada semana.

Paso 2: Configura un firewall para controlar el tráfico

Un firewall es tu primera línea de defensa. Permite o bloquea conexiones según reglas. Para seguridad servidor Linux, es imprescindible.

El firewall más común: UFW (Uncomplicated Firewall)

UFW es ideal para principiantes. Se maneja con comandos muy simples.

  1. Instálalo (si no lo tienes):

    sudo apt install ufw
    
  2. Configura las reglas básicas:
    Primero, permite el acceso SSH (para no quedarte fuera):

    sudo ufw allow ssh
    

    Luego, permite los puertos de servicios web (HTTP y HTTPS):

    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
  3. Activa el firewall:

    sudo ufw enable
    
  4. Verifica el estado:

    sudo ufw status verbose
    

    Verás una lista de reglas activas. Si todo está bien, solo los puertos que permitiste estarán abiertos.

[WARNING] Nunca actives UFW sin haber permitido SSH primero. Si lo haces, perderás el acceso remoto a tu servidor.

Firewall más avanzado: iptables o nftables

Si necesitas más control, puedes usar iptables (o su sucesor nftables). Pero para un inicio, UFW es más que suficiente.

Paso 3: Reforzar el acceso SSH

SSH es la puerta principal para administrar tu servidor. Es el objetivo favorito de los atacantes. Aquí te damos las claves para proteger Linux básico en este punto.

3.1 Cambia el puerto SSH por defecto

El puerto 22 es el estándar. Los bots lo escanean constantemente. Cámbialo a un puerto no estándar (entre 1024 y 65535).

  1. Edita el archivo de configuración:

    sudo nano /etc/ssh/sshd_config
    
  2. Busca la línea #Port 22 y cámbiala por algo como:

    Port 2222
    
  3. Guarda y cierra (Ctrl+O, Enter, Ctrl+X).

  4. Reinicia el servicio SSH:

    sudo systemctl restart sshd
    
  5. Importante: Ahora, para conectarte por SSH, deberás especificar el nuevo puerto:

    ssh usuario@tu-servidor -p 2222
    

3.2 Desactiva el acceso root por SSH

Es muy peligroso permitir que el usuario root se conecte directamente. Crea un usuario normal y usa sudo para tareas administrativas.

  1. En el mismo archivo /etc/ssh/sshd_config, busca PermitRootLogin y cámbialo a:

    PermitRootLogin no
    
  2. Guarda y reinicia SSH.

3.3 Usa autenticación por clave SSH (en lugar de contraseña)

Las contraseñas son más fáciles de vulnerar. Las claves SSH son mucho más seguras.

  1. Genera un par de claves en tu máquina local (tu PC):

    ssh-keygen -t rsa -b 4096
    

    Acepta la ubicación por defecto y pon una contraseña (passphrase) para proteger la clave privada.

  2. Copia la clave pública al servidor:

    ssh-copy-id usuario@tu-servidor -p 2222
    

    Te pedirá la contraseña de tu usuario en el servidor. Después de esto, podrás iniciar sesión sin contraseña.

  3. Desactiva el inicio de sesión con contraseña:
    En /etc/ssh/sshd_config, busca PasswordAuthentication y cámbialo a:

    PasswordAuthentication no
    
  4. Guarda y reinicia SSH.

[INFO] Si pierdes tu clave privada, no podrás acceder al servidor. Guárdala en un lugar seguro y considera tener una copia de respaldo.

Paso 4: Implementa un sistema de detección de intrusiones (IDS)

Un IDS te alerta cuando alguien intenta acceder de forma maliciosa. Fail2ban es la herramienta más popular y fácil de configurar.

Instalación y configuración básica de Fail2ban

  1. Instálalo:

    sudo apt install fail2ban
    
  2. Copia el archivo de configuración predeterminado:

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
  3. Edita el archivo jail.local:
    Busca la sección [sshd] y actívala (cambia enabled = false a enabled = true). Ajusta los parámetros:

    [sshd]
    enabled = true
    port = 2222   (si cambiaste el puerto SSH)
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 3600
    
    • maxretry: Número de intentos fallidos antes de bloquear.
    • bantime: Tiempo de bloqueo en segundos (3600 = 1 hora).
  4. Reinicia Fail2ban:

    sudo systemctl restart fail2ban
    
  5. Verifica el estado:

    sudo fail2ban-client status sshd
    

Fail2ban monitorea los logs de SSH y bloquea temporalmente las IPs que intenten acceder repetidamente.

Paso 5: Protege los servicios web y de aplicaciones

Si tu servidor aloja sitios web, necesitas protegerlos también.

5.1 Usa HTTPS con Let's Encrypt

HTTPS cifra la comunicación entre el navegador y tu servidor. Es obligatorio hoy en día.

  1. Instala Certbot:

    sudo apt install certbot python3-certbot-apache   (para Apache)
    sudo apt install certbot python3-certbot-nginx    (para Nginx)
    
  2. Obtén un certificado:

    sudo certbot --apache -d tudominio.com -d www.tudominio.com
    

    Sigue las instrucciones. Certbot configurará automáticamente tu servidor web.

  3. Renovación automática:

    sudo certbot renew --dry-run
    

    Certbot suele incluir un temporizador para renovar automáticamente.

5.2 Configura un panel de administración seguro (Syspanel)

Si usas un panel como Syspanel (anteriormente HestiaCP), recuerda que su acceso es a través del puerto 2106. Asegúrate de que solo tú puedas acceder.

  1. Cambia el puerto por defecto (si es posible) o limita el acceso por IP.
  2. Usa contraseñas fuertes y cambia las predeterminadas.
  3. Habilita la autenticación de dos factores (2FA) si el panel lo permite.

[INFO] Syspanel es una herramienta excelente para gestionar servidores, pero como cualquier panel, es un objetivo. Mantenlo actualizado y restringe el acceso.

Paso 6: Monitoreo y registros (logs)

No puedes proteger lo que no ves. Los logs te cuentan todo lo que pasa en tu servidor.

6.1 Revisa los logs regularmente

Los logs principales están en /var/log/. Los más importantes:

  • /var/log/auth.log (intentos de inicio de sesión)
  • /var/log/syslog (eventos del sistema)
  • /var/log/apache2/access.log (peticiones web)

Puedes revisarlos con tail o less:

sudo tail -f /var/log/auth.log

6.2 Instala herramientas de monitoreo

  • htop: Muestra procesos en tiempo real.
  • nethogs: Muestra el tráfico de red por proceso.
  • logwatch: Envía resúmenes de logs por correo.
sudo apt install htop nethogs logwatch

Paso 7: Copias de seguridad periódicas

La seguridad no solo es prevenir ataques, también es poder recuperarte de ellos. Las copias de seguridad son tu salvavidas.

Estrategia básica de backups

  1. Elige un destino: Puede ser otro servidor, un servicio en la nube (AWS S3, Google Drive) o un disco externo.
  2. Automatiza con rsync y cron:
    rsync -avz /ruta/de/tu/sitio usuario@servidor-backup:/ruta/de/backup
    
  3. Programa una tarea cron:
    crontab -e
    
    Añade una línea como:
    0 3 * * * rsync -avz /var/www /backup
    
    Esto hará una copia cada día a las 3 AM.

Preguntas frecuentes (FAQ) sobre seguridad servidor Linux

¿Qué es un firewall y por qué lo necesito?

Un firewall es un sistema que controla qué tráfico de red puede entrar o salir de tu servidor. Sin él, cualquier puerto está expuesto. Es la base de la seguridad servidor Linux.

¿Es suficiente con tener contraseñas seguras?

No. Las contraseñas pueden ser robadas o descifradas. La autenticación por clave SSH y el uso de firewalls son mucho más efectivos.

¿Cada cuánto debo actualizar mi servidor?

Idealmente, cada semana. Las vulnerabilidades críticas se parchean rápido. Programa actualizaciones automáticas para no olvidarlas.

¿Qué hago si sospecho que mi servidor ha sido hackeado?

  1. Desconéctalo de internet inmediatamente.
  2. Revisa los logs (/var/log/auth.log, /var/log/syslog).
  3. Cambia todas las contraseñas.
  4. Restaura desde una copia de seguridad limpia.
  5. Si no tienes copia, considera reinstalar el sistema.

[WARNING] Nunca ignores signos de intrusión. Actuar rápido puede salvar tus datos.

Conclusión: la seguridad es un proceso continuo

Proteger tu servidor Linux no es una tarea de una sola vez. Es un proceso que requiere atención constante. Pero con estos pasos básicos, ya has cerrado las puertas más vulnerables.

Recuerda: empieza con lo esencial (actualizaciones, firewall, SSH seguro) y luego ve añadiendo capas (Fail2ban, HTTPS, backups). Con el tiempo, se convertirá en un hábito.

Si tienes dudas, busca en foros, documentación oficial o pregunta a tu proveedor de hosting. La comunidad SysAdmin es muy activa y siempre dispuesta a ayudar.

¡Manos a la obra y a proteger ese servidor!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel