Lista de Verificación de Endurecimiento de Servidores Linux en Producción: SSH, UFW, Fail2ban y Guías CIS

Implementar un VPS de Linux público sin un endurecimiento defensivo lo deja vulnerable al relleno de credenciales automatizado, análisis de fuerza bruta y exploits de escalada de privilegios a los pocos minutos de conectarse. En esta lista de verificación, aplicamos una arquitectura de seguridad Defensa en Profundidad que cumple con las directrices de Nivel 1 del Center for Internet Security (CIS).

Enterprise Linux Server Hardening & Defense-in-Depth Architecture
Fig 1: Defensa en Profundidad de 4 Capas: SSH Criptográfico, UFW de Entrada, Cárceles de Fail2ban & Auditoría de Kernel CIS.

1. Paso 1: Aplicación de Claves SSH Criptográficas

Desactive toda la autenticación SSH basada en contraseñas y fuerce el uso de claves modernas de curva elíptica en /etc/ssh/sshd_config:

# /etc/ssh/sshd_config Hardening
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

Genere claves usando ssh-keygen -t ed25519 -a 100 en su estación de trabajo local y verifique la conexión antes de reiniciar el demonio SSH mediante sudo systemctl reload sshd.

2. Paso 2: Aislamiento de Entrada con Firewall No Complicado (UFW)

Aplique una política de denegación predeterminada estricta para el tráfico entrante y exponga únicamente los servicios web públicos necesarios:

# Reset and enforce default deny
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Allow HTTP and HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Restrict SSH to custom management subnet if applicable
sudo ufw allow 22/tcp

# Enable and inspect
sudo ufw enable
sudo ufw status verbose

3. Paso 3: Limitación de Tasa Automatizada con Fail2ban

Configure Fail2ban para supervisar los registros de autenticación y los flujos de errores HTTP de Nginx, descartando automáticamente las direcciones IP infractoras a través de iptables:

# /etc/fail2ban/jail.local
[DEFAULT]
bantime = 86400
findtime = 600
maxretry = 3
banaction = ufw

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log

[nginx-botsearch]
enabled = true
port = http,https
filter = nginx-botsearch
logpath = /var/log/nginx/*error.log
maxretry = 2

4. Paso 4: Auditoría CIS & Actualizaciones de Seguridad Automáticas

Habilite la aplicación automática de parches de seguridad desatendidos y realice auditorías periódicas de cumplimiento:

# Enable automated security updates
sudo apt install unattended-upgrades update-notifier-common
sudo dpkg-reconfigure --priority=low unattended-upgrades

# Verify /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::MinimalSteps "true";
Unattended-Upgrade::Automatic-Reboot "false";

5. Paso 5: Endurecimiento de Montaje del Sistema de Archivos de Memoria & Compartida

Los atacantes que obtienen acceso restringido a la terminal frecuentemente ejecutan binarios maliciosos desde directorios accesibles para todos con permisos de escritura como /tmp y /dev/shm. Proteja estos puntos de montaje agregando indicadores defensivos a /etc/fstab:

# /etc/fstab Hardening
tmpfs /tmp tmpfs defaults,nosuid,nodev,noexec,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,nosuid,nodev,noexec,mode=1777 0 0
tmpfs /dev/shm tmpfs defaults,nosuid,nodev,noexec 0 0

El indicador noexec previene la ejecución de cualquier binario o script directamente desde el directorio, neutralizando la inserción común de shells en aplicaciones web.

6. Paso 6: Autoprotección del Kernel & Seguridad de Red a través de Sysctl

Endurezca la pila de red de Linux contra la suplantación de identidad IP (IP spoofing), ataques de inundación SYN y manipulación de redirección ICMP configurando /etc/sysctl.d/50-security.conf:

# Reverse Path Filtering (Mitigate IP Spoofing)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Ignore ICMP Broadcast Requests & Smurf Attacks
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Disable ICMP Redirect Acceptance (Mitigate Man-in-the-Middle)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

# Prevent Rogue Source-Routed Packets
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Protect Hardlinks and Symlinks against TOCTOU Race Conditions
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

# Maximize Address Space Layout Randomization (ASLR)
kernel.randomize_va_space = 2

7. Paso 7: Auditoría Automatizada de Cumplimiento con Lynis

Audite regularmente el cumplimiento del sistema frente a los estándares CIS utilizando Lynis, una herramienta de auditoría de seguridad de código abierto:

# Install and run Lynis security audit
sudo apt install lynis
sudo lynis audit system --quick

# Review Lynis hardening index and generated warnings
grep "Hardening index" /var/log/lynis.log
grep "WARNING" /var/log/lynis.log

Apunte a una puntuación en el Índice de Endurecimiento de Lynis de 80 o superior en entornos de alojamiento web de producción.

Preguntas Frecuentes

¿Es suficiente cambiar el puerto SSH predeterminado (22) para proteger el servidor?

Cambiar el puerto SSH a un puerto no estándar (por ejemplo, 2222) reduce los análisis de bots automatizados en los registros de acceso, pero es meramente seguridad por oscuridad. Un simple escaneo de puertos con Nmap descubrirá inmediatamente el servicio SSH a la escucha. La aplicación de claves criptográficas, la desactivación del inicio de sesión de root con contraseña y la limitación de tasa con Fail2ban proporcionan seguridad genuina.

¿Cómo desbloqueo la dirección IP de un administrador bloqueada accidentalmente por Fail2ban?

Si un administrador ingresa credenciales incorrectas y activa el bloqueo de una cárcel, conéctese desde una IP secundaria en la lista blanca o desde la consola fuera de banda del proveedor de alojamiento, luego ejecute:

sudo fail2ban-client set sshd unbanip 203.0.113.50

También puede incluir permanentemente en la lista blanca las subredes IP de la oficina administrativa agregándolas a la directiva ignoreip en /etc/fail2ban/jail.local.

¿Cuál es la diferencia entre el Nivel 1 y el Nivel 2 de las Guías CIS?

El Nivel 1 de CIS proporciona controles de seguridad defensivos que se pueden aplicar con un riesgo mínimo de interrumpir el software operativo normal. El Nivel 2 aplica medidas de defensa en profundidad (como políticas estrictas de control de acceso obligatorio, módulos de kernel restringidos y un aislamiento agresivo del sistema de archivos) que requieren un ajuste personalizado de las aplicaciones para evitar conflictos operativos.

¿Por qué es crucial la Aleatorización de la Disposición del Espacio de Direcciones (ASLR = 2)?

Configurar kernel.randomize_va_space = 2 aleatoriza las direcciones de memoria de la pila, la página VDSO, las bibliotecas de memoria compartida y el segmento de datos. Esto evita que los exploits de corrupción de memoria (como desbordamientos de búfer y ataques de programación orientada a retornos) predigan los objetivos de memoria ejecutables.

Resumen & Línea Base de Seguridad en la Nube

Endurecer un servidor Linux requiere una postura defensiva en capas. Al implementar pares de claves SSH criptográficas, un aislamiento estricto del firewall de entrada, prevención de intrusiones con Fail2ban, montajes de memoria compartida protegidos y auditorías de los estándares CIS, los administradores de sistemas garantizan que las instancias de producción permanezcan resilientes frente a la explotación automatizada.

Implementar VPS en la Nube Pre-endurecido

Implemente instancias de Linux endurecidas con filtrado DDoS integrado, almacenamiento NVMe y redes virtuales aisladas en WinWinHost.

Explorar VPS en la Nube Endurecido →

WinWinHost News & Tutorials

Unlimited Website Edits via Autonomous AI

WinWinHost launches Unlimited Website Edits powered by autonomous AI engineering. Get continuous content revisions, mobile UI polish, technical SEO, and Core Web Vitals optimization with zero hourly fees and zero downtime.

New Product: Autonomous AI Web Developer Agent for $10/mo

WinWinHost introduces autonomous AI Web Developer Agents for just $10/month per domain. Each dedicated agent continuously monitors site health, resolves layout regressions, optimizes PageSpeed scores, and executes code updates with zero developer hourly fees.

Link Directory Plugin Released

Link Directory Plugin was released and we hope that this can help you to make a link directory website from your wordpress installation in just a few minutes.Right now the plugin has a lot of features but we are working to make even more options available to you.

Monetize Your Website

If you want to monetize your website via a payday loan affiliate network then you should know that are some nice networks out there like WinWinHost Network that can be a profitable way for your business.

Payday Loan Affiliate Plugin Released

Now you can earn money by generating leads with your wordpress website. We have created an wordpress plugin that adds a Payday Loan form to your website that you can customize in many ways.

What you can do with a domain name

Getting your own domain is really a huge step for anyone who wants to have an online presence. It changes the whole way a person work. Many people get domain names for individual reasons

The Shift to Edge Computing and Its Impact on Web Hosting

Explore how edge computing and distributed content delivery networks are redefining the speed, security, and scalability of modern web hosting.

WordPress Stats and Global Use

WordPress powers over 43% of the web. Learn more about the latest CMS market share growth metrics and global usage stats.

Google+ - The New Social Network

Google said it would begin the project of building a social networking platform that can compete against the more known Facebook and makes online communication a reality today.

Microsoft Office 365

Microsoft announced the launch of a cloud service called Office 365 which will bring together Microsoft Office, Microsoft Lync Online, Microsoft Exchange Online, and Microsoft SharePoint Online.

How to maintain your web hosting reseller account

One of the most efficient business on the Internet at this moment is selling web space known as web hosting reseller. It is the perfect solution for those who want to sell web space with a small investment.

Advantages of reselling Windows server space

Generally when you want to become a web hosting reseller you should consider everything carefully before starting to provide such services. It is better to decide if it is in your advantage to provide space on a Windows server.

About SEO

All the companies/individuals who have contact with the online environment and manage to make profit from its activities on the Internet, always want to improve the performance of his websites and this can be best done by using SEO.

ICANN approves new suffixes

ICANN (Internet Corporation for Assigned Names and Numbers) approved the measure after which anyone can register domains with custom suffixes.

Need Help?

Have questions about our hosting plans or custom software development? Reach out to our experts anytime.