Introducción Si gestionas servicios web Linux como SRE lo último que deseas es un ataque man in the middle que robe datos de usuarios. Nginx es un proxy frontal muy popular pero por defecto no aplica las opciones TLS más seguras. En este artículo repasamos siete pasos prácticos para endurecer Nginx con TLS 1.3, HTTP/2 y medidas complementarias de seguridad.

Paso 1 Obtener un certificado de confianza La forma más sencilla para un certificado gratuito y renovable es Certbot de Lets Encrypt. Ejemplo de comandos en Debian o Ubuntu: sudo apt-get update && sudo apt-get install -y certbot python3-certbot-nginx sudo certbot --nginx -d ejemplo.com -d www.ejemplo.com Durante el asistente interactivo elige redirigir todo el tráfico HTTP a HTTPS. Certbot además generará un snippet SSL básico.

Paso 2 Forzar TLS 1.3 y cifrados robustos Crea o edita el archivo /etc/nginx/snippets/ssl-params.conf y configura la pila TLS para deshabilitar protocolos legados, preferir TLS 1.3 y restringir cifrados a perfiles intermedios modernos. Ejemplo de directivas recomendadas ssl_protocols TLSv1.3 TLSv1.2 ssl_prefer_server_ciphers on ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 ssl_ecdh_curve X25519:secp384r1 Habilita OCSP stapling con ssl_stapling on ssl_stapling_verify on Usa servidores DNS fiables en resolver 8.8.8.8 8.8.4.4 valid=300s resolver_timeout 5s Incluye este snippet dentro del bloque server listen 443 ssl http2 include snippets/ssl-params.conf

Paso 3 Activar HTTP/2 Añade la bandera http2 en la directiva listen como se muestra arriba. HTTP/2 reduce latencia mediante multiplexado de streams sobre una sola conexión TLS. Verifica con curl utilizando: curl -I -s -o /dev/null -w %{http_version} https://ejemplo.com y comprueba que la versión es 2

Paso 4 Endurecer cabeceras HTTP Añade cabeceras de seguridad para mitigar XSS, clickjacking y sniffing de MIME types. Por ejemplo X-Content-Type-Options establecido en nosniff X-Frame-Options establecido en SAMEORIGIN X-XSS-Protection activado y en modo bloqueo Referrer-Policy establecido en strict-origin-when-cross-origin Content-Security-Policy restringiendo fuentes a self Coloca estas directivas dentro del mismo bloque server

Paso 5 HSTS HSTS fuerza el uso de HTTPS en el navegador. Comienza con un max-age corto en fase de pruebas y luego aumenta a valores largos. Ejemplo de cabecera Strict-Transport-Security con max-age 31536000 includeSubDomains preload Si vas a solicitar inclusion en la lista preload recuerda que todos los subdominios deben servir HTTPS

Paso 6 Desplegar Fail2Ban para protección contra fuerza bruta Fail2Ban puede vigilar logs de Nginx y banear IPs que generan muchos 4xx o 5xx. Instalación rápida sudo apt-get install -y fail2ban Crea un archivo de jail en /etc/fail2ban/jail.d/nginx-http-auth.conf con reglas básicas como enabled true filter nginx-http-auth logpath /var/log/nginx/error.log maxretry 5 bantime 3600 Reinicia el servicio sudo systemctl restart fail2ban

Paso 7 Cerra el firewall del host En Ubuntu o Debian UFW ofrece una interfaz sencilla. Configuración mínima sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow https sudo ufw allow http si necesitas redirecciones HTTP sudo ufw enable Si tu servidor está en la nube, aplica restricciones de entrada también en el nivel de security group del proveedor

Renovación automática y monitorización Certbot instala un timer de systemd que renueva certificados automáticamente. Verifica sudo systemctl list-timers | grep certbot Añade un endpoint de salud en Nginx y monitorízalo con Prometheus o un script cron para alertar de fallos de handshake TLS

Sobre Q2BSTUDIO En Q2BSTUDIO somos especialistas en desarrollo de software y aplicaciones a medida, inteligencia artificial aplicada a empresas y ciberseguridad. Ofrecemos servicios integrales desde desarrollo de aplicaciones hasta auditorías de seguridad y despliegue en la nube. Si buscas soluciones seguras y adaptadas a tu negocio consulta nuestras opciones de ciberseguridad y pentesting y nuestros servicios cloud AWS y Azure. Integramos inteligencia artificial, agentes IA y analítica con Power BI para proyectos de servicios inteligencia de negocio y automatización.

Palabras clave y cierre Este artículo cubre aspectos prácticos para asegurar Nginx en producción y está pensado para equipos que gestionan software a medida y aplicaciones a medida. También aborda mejores prácticas vinculadas a inteligencia artificial, ia para empresas, agentes IA, power bi, servicios cloud aws y azure y ciberseguridad. Siguiendo estos pasos reducirás significativamente la superficie de ataque de cualquier aplicación servida por Nginx y podrás versionar la configuración junto a tu infraestructura como código. En Q2BSTUDIO podemos ayudarte a implementar estas medidas en entornos productivos y escalar soluciones seguras y personalizadas.