Constructor de Configuracion TLS

Genera fragmentos de configuracion TLS para nginx/Apache

Web Server

Security Profile

Options

Certificate Paths

Configuration Snippet

# TLS Configuration
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/private/server.key;

# Protocols
ssl_protocols TLSv1.2 TLSv1.3;

# Cipher suites
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
ssl_prefer_server_ciphers on;

# Session resumption
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;

# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;
resolver_timeout 5s;

# HSTS
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains; preload' always;

Configuration Notes

  • Based on Mozilla SSL Configuration Generator recommendations
  • Modern profile requires clients with TLS 1.3 support
  • Intermediate profile is recommended for most deployments
  • Test your configuration with SSL Labs after deployment

El TLS Config Snippet Builder genera snippets de configuración SSL/TLS listos para producción para nginx, Apache y otros servidores web, con cipher suites correctos, versiones de protocolo, headers HSTS y configuraciones de OCSP stapling alineados a los perfiles de seguridad recomendados por Mozilla. Selecciona un servidor y un perfil de seguridad, y obtén un bloque de configuración completo que puedes desplegar con confianza.

Entendiendo la configuración TLS

Lograr una configuración TLS correcta es una de las partes más complicadas de la administración de servidores web. El protocolo ha evolucionado dramáticamente en la última década: TLS 1.0 y 1.1 están ahora deprecados, docenas de cipher suites han sido retirados debido a vulnerabilidades, y nuevas características como OCSP stapling y HTTP Strict Transport Security se han vuelto esenciales. Una configuración que obtenía A+ en SSL Labs hace cinco años podría obtener una C hoy si aún permite TLS 1.0 o incluye ciphers débiles como RC4 o 3DES.

El desafío es que equivocarse en cualquier directiva individual puede romper la compatibilidad para usuarios legítimos o dejar tu servidor vulnerable. Habilitar solo TLS 1.3 y bloqueas a usuarios en dispositivos Android antiguos. Incluir un cipher en modo CBC para compatibilidad y podrías estar expuesto a ataques de padding oracle si tu implementación no es cuidadosa. Olvidar configurar ssl_prefer_server_ciphers y los clientes podrían negociar un cipher más débil de lo necesario. Las permutaciones son lo suficientemente complejas como para que incluso administradores de sistemas experimentados copien configuraciones de publicaciones de blog, algunas de las cuales tienen años de antigüedad.

Este builder elimina esa incertidumbre. Genera configuraciones basadas en las recomendaciones del SSL Configuration Generator de Mozilla, que son mantenidas por ingenieros de seguridad y actualizadas a medida que el panorama de amenazas evoluciona. Eliges un perfil de seguridad -- Modern para máxima seguridad, Intermediate para amplia compatibilidad, o Legacy para sistemas que deben soportar clientes muy antiguos -- y el builder produce un bloque de configuración completo y comentado para tu software de servidor objetivo. Cada directiva está explicada para que entiendas qué hace, no solo cómo pegarla.

Cómo generar un snippet de configuración TLS

  1. Selecciona tu servidor web objetivo (nginx, Apache, HAProxy, etc.)
  2. Elige un perfil de seguridad: Modern, Intermediate o Legacy
  3. Opcionalmente configura las rutas de tu certificado y archivo de clave
  4. Copia el bloque de configuración generado en la configuración de tu servidor

Comparación de perfiles de seguridad

PerfilProtocolosCliente compatible más antiguoCaso de uso
ModernSolo TLS 1.3Chrome 70, Firefox 63, Safari 12.1Nuevos despliegues sin necesidades de clientes legacy
IntermediateTLS 1.2 + TLS 1.3Chrome 30, Firefox 27, IE 11 (Win 7+), Android 5.0La mayoría de sitios web en producción
LegacyTLS 1.0 + TLS 1.1 + TLS 1.2 + TLS 1.3IE 8 (Win XP), Android 2.3Sistemas legacy, migración gradual

Ejemplos de configuraciones generadas

nginx -- Perfil Intermediate

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate     /etc/ssl/certs/example.com-chain.pem;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    # Protocols
    ssl_protocols TLSv1.2 TLSv1.3;

    # Cipher suites (intermediate compatibility)
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # HSTS (1 year, including subdomains)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 1.1.1.1 8.8.8.8 valid=300s;
    resolver_timeout 5s;

    # Session settings
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
}

Apache -- Perfil Modern (solo TLS 1.3)

<VirtualHost *:443>
    ServerName example.com

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key
    SSLCertificateChainFile /etc/ssl/certs/chain.pem

    # TLS 1.3 only
    SSLProtocol -all +TLSv1.3
    SSLOpenSSLConfCmd Curves X25519:secp256r1:secp384r1

    # HSTS
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

    # OCSP Stapling
    SSLUseStapling On
    SSLStaplingCache shmcb:/var/run/ocsp(128000)
</VirtualHost>

Cuándo usar esta herramienta

  • Configuración de nuevo servidor HTTPS -- genera una configuración base segura en lugar de copiar snippets desactualizados de publicaciones de blog
  • Hardening de TLS -- actualiza una configuración existente de cipher suites débiles y versiones de protocolo antiguas a las mejores prácticas actuales
  • Preparación para auditoría de seguridad -- genera configuraciones que pasarán las pruebas de Qualys SSL Labs con calificación A+
  • Requisitos de cumplimiento -- produce configuraciones que cumplen con los requisitos de PCI DSS, HIPAA o SOC 2 para cifrado en tránsito
  • Aprendizaje de mejores prácticas TLS -- cada directiva incluye comentarios explicando su propósito, haciendo que la configuración generada sea educativa
  • Migración de servidores -- genera configuraciones equivalentes al migrar de Apache a nginx o viceversa

Directivas clave de configuración TLS explicadas

Selección de cipher suites

Los cipher suites definen los algoritmos usados durante el handshake TLS y el cifrado de datos:

ComponenteElección modernaPropósito
Key exchangeECDHEForward secrecy mediante claves efímeras
AuthenticationRSA o ECDSAVerificación de identidad del servidor
Bulk cipherAES-128-GCM, AES-256-GCM, CHACHA20-POLY1305Cifrado de datos
MACAEAD (integrado en GCM/POLY1305)Integridad de datos

HSTS (HTTP Strict Transport Security)

El header Strict-Transport-Security indica a los navegadores que siempre usen HTTPS:

  • max-age=31536000 -- recordar durante 1 año (31,536,000 segundos)
  • includeSubDomains -- aplicar a todos los subdominios
  • preload -- optar por las listas de HSTS preload de navegadores (enviar por separado en hstspreload.org)

OCSP Stapling

Sin stapling, los navegadores deben contactar al OCSP responder de la CA para verificar la revocación del certificado, agregando latencia. Con stapling habilitado, el servidor obtiene la respuesta OCSP y la incluye en el handshake TLS, mejorando el rendimiento y la privacidad.

Gestión de sesiones

ssl_session_timeout 1d;       # Sessions valid for 1 day
ssl_session_cache shared:SSL:10m;  # 10 MB shared cache (~40,000 sessions)
ssl_session_tickets off;      # Disable tickets (they break forward secrecy)

Los session tickets están deshabilitados en las configuraciones recomendadas porque usan una sola clave que, si se compromete, permite descifrar todas las sesiones que la usaron. La caché de sesiones compartida proporciona reanudación sin este riesgo.

Configuración TLS en la práctica

El consejo más importante para la configuración TLS es comenzar con el perfil Intermediate y solo desviarte si tienes una razón específica. El perfil Intermediate soporta TLS 1.2 y 1.3 con cipher suites AEAD fuertes, lo que cubre cada navegador y sistema operativo activamente mantenido. Es la elección correcta para la gran mayoría de sitios web de cara al público. El perfil Modern (solo TLS 1.3) es apropiado para APIs internas y servicios donde controlas los clientes, pero bloqueará a usuarios en dispositivos Android antiguos o entornos corporativos con servidores proxy desactualizados.

Después de desplegar tu configuración, pruébala con Qualys SSL Labs (ssllabs.com/ssltest) para verificar que tu servidor está correctamente configurado. Una calificación A+ requiere HSTS con un max-age de al menos 6 meses y una configuración TLS limpia sin protocolos débiles ni ciphers débiles. Si obtienes una calificación menor, el informe te dirá exactamente qué corregir -- típicamente un TLS 1.0 residual o un cipher suite débil que quedó en la configuración de una versión anterior.

Un detalle frecuentemente pasado por alto es la configuración de OCSP stapling. Sin ella, los navegadores necesitan hacer una solicitud separada al servidor OCSP de la CA para verificar si tu certificado ha sido revocado, agregando 100-300ms de latencia a la primera conexión. Con stapling, tu servidor obtiene la respuesta OCSP él mismo y la incluye en el handshake TLS, eliminando este retraso. La configuración es sencilla pero requiere un resolver DNS funcional en tu servidor -- si el resolver está mal configurado, el stapling falla silenciosamente y las conexiones recurren a la ruta más lenta sin stapling.

Preguntas frecuentes

¿Debería usar el perfil Modern o Intermediate? Usa Intermediate para la mayoría de sitios web en producción. Soporta TLS 1.2 y 1.3, cubriendo virtualmente todos los navegadores y sistemas operativos activamente mantenidos. Usa Modern (solo TLS 1.3) para servicios internos, APIs o nuevos despliegues donde puedes confirmar que todos los clientes soportan TLS 1.3. Evita el perfil Legacy a menos que debas soportar clientes más antiguos que Windows 7 o Android 5.0.

¿Por qué debería deshabilitar TLS 1.0 y 1.1? TLS 1.0 y 1.1 tienen vulnerabilidades conocidas (BEAST, POODLE) y fueron formalmente deprecados por RFC 8996 en marzo de 2021. Los principales navegadores eliminaron el soporte de TLS 1.0/1.1 en 2020. PCI DSS 3.2+ requiere deshabilitar TLS 1.0 para cumplimiento. Rara vez hay una razón legítima para mantener estos protocolos habilitados.

¿Qué significa ssl_prefer_server_ciphers off? Con TLS 1.3, la preferencia de cipher siempre es determinada por el servidor independientemente de esta configuración. Para TLS 1.2 con el perfil Intermediate, configurar esto en off permite al cliente elegir su cipher preferido, lo cual funciona bien porque todos los ciphers en la lista recomendada son igualmente seguros. El perfil Modern omite esta directiva completamente.

¿Cómo habilito HSTS preloading? HSTS preloading significa que tu dominio está codificado directamente en las listas HSTS de los navegadores, por lo que el navegador siempre usa HTTPS incluso en la primera visita. Agrega preload a tu header HSTS: max-age=31536000; includeSubDomains; preload. Luego envía tu dominio en hstspreload.org. Ten cuidado: el preloading es difícil de deshacer, y aplica a todos los subdominios, así que asegúrate de que cada subdominio soporte HTTPS primero.

¿Por qué los session tickets están deshabilitados en la configuración recomendada? Los TLS session tickets usan una clave simétrica almacenada en el servidor. Si esta clave se compromete o nunca se rota, un atacante puede descifrar cualquier sesión grabada que fue reanudada con un ticket. Deshabilitar los tickets y usar la caché de sesiones del lado del servidor en su lugar preserva el forward secrecy. Si necesitas tickets (por ejemplo, para servidores distribuidos sin caché compartida), rota la clave del ticket al menos diariamente.

¿Cómo pruebo mi configuración TLS después del despliegue? Usa Qualys SSL Labs en ssllabs.com/ssltest para un análisis completo. Para verificaciones rápidas desde la línea de comandos, usa openssl s_client -connect yourserver.com:443 para verificar la versión del protocolo y el cipher negociado. El comando nmap --script ssl-enum-ciphers -p 443 yourserver.com lista todos los ciphers y protocolos soportados.

Herramientas relacionadas

IPparse•Herramientas gratuitas de cálculo de redes y subredes

© 2026 IPparse. All tools run locally in your browser.

100% Privacy-First • No Data Collected