Seguridad y privacidad

Nueva herramienta autoalojada tlswatch audita certificados TLS y soporte de protocolos heredados

tlswatch es un nuevo binario de código abierto que monitoriza la caducidad de los certificados TLS, la validez de las cadenas de certificación y la aceptación de protocolos heredados en cualquier puerto o dirección.

Ilustración de un panel de monitorización mostrando el estado del servidor y candados de seguridad
Ilustración creada para este artículo

Traducido automáticamente del original en inglés.

Ha surgido una nueva utilidad autoalojada llamada tlswatch para ayudar a los equipos de infraestructura a monitorizar el estado y la seguridad de sus configuraciones de Seguridad de la Capa de Transporte (TLS). Lanzada por el desarrollador Sjoerd305, esta herramienta va más allá de las simples alertas de caducidad al auditar las cadenas de certificados, la fortaleza de las firmas y la presencia de protocolos obsoletos como TLS 1.0. Funciona como un único binario Go con un backend SQLite, diseñado para facilitar su despliegue en entornos donde los equipos gestionan sus propios stacks de software.

Qué ha ocurrido

tlswatch sondea activamente nombres de host y direcciones IP para inspeccionar los certificados TLS que se están sirviendo actualmente. A diferencia de los monitores de disponibilidad estándar que quizás solo comprueban si un puerto HTTPS está abierto, esta herramienta examina cada dirección detrás de un nombre de dominio. Esta capacidad es crítica para detectar nodos obsoletos ocultos detrás de balanceadores de carga que podrían seguir sirviendo certificados caducados o mal configurados. El sistema admite comprobaciones en cualquier puerto, manejando tanto TLS implícito como los protocolos STARTTLS utilizados por servicios como SMTP, IMAP, POP3, FTP y PostgreSQL.

La herramienta también realiza auditorías profundas de configuración. Ejecuta pruebas diarias para identificar servidores que aún aceptan conexiones inseguras mediante SSL 3.0, TLS 1.0 o TLS 1.1. Evalúa los conjuntos de cifrado (cipher suites) en busca de debilidades, incluyendo opciones de grado exportable, NULL, anónimas, DES, RC4 y 3DES. Basándose en estos hallazgos, tlswatch asigna una calificación de configuración de la A a la F para cada objetivo, proporcionando razones claras para cualquier penalización. También detecta casos límite, como certificados RSA servidos junto con ECDSA, o certificados predeterminados servidos sin Indicador de Nombre de Servidor (SNI), lo cual puede romper clientes específicos.

Detalles clave

  • Despliegue de un único binario: La aplicación se ejecuta como un único binario Go con una interfaz web y una base de datos SQLite, sin requerir servicios adicionales.
  • Soporte integral de protocolos: Comprueba cualquier puerto para TLS implícito o STARTTLS, cubriendo servicios de correo electrónico, bases de datos y transferencia de archivos.
  • Detección de protocolos heredados: Identifica servidores que aceptan TLS 1.0, 1.1 o SSL 3.0 y califica la seguridad de la configuración de la A a la F.
  • Sondeo distribuido: Utiliza "nodos" para sondear redes internas a las que el servidor principal no puede acceder, actualizándose automáticamente.
  • Correspondencia con Transparencia de Certificados: Compara los certificados emitidos públicamente con los realmente servidos para detectar certificados no utilizados o fraudulentos.
  • Alertas flexibles: Envía notificaciones vía email, Telegram, Slack, Discord, ntfy o webhooks, con soporte para confirmaciones masivas.

Contexto

La Seguridad de la Capa de Transporte (TLS) es el protocolo estándar para cifrar datos transmitidos por internet. Aunque la mayoría de los administradores monitorizan las fechas de caducidad de los certificados para evitar cortes de servicio, la seguridad de una implementación TLS depende de algo más que los periodos de validez. Los servidores también deben aplicar estándares criptográficos fuertes y rechazar protocolos obsoletos vulnerables a ataques. Protocolos heredados como TLS 1.0 y 1.1 tienen debilidades conocidas y están obsoletos según los principales organismos de la industria, pero a menudo permanecen habilitados en los servidores por defecto o debido a requisitos de aplicaciones antiguas.

La Transparencia de Certificados (CT) es un sistema de registro público que registra todos los certificados TLS emitidos. Monitorizar los registros CT ayuda a las organizaciones a detectar la emisión no autorizada de certificados. Sin embargo, que un certificado aparezca en el registro no garantiza que esté correctamente desplegado en los servidores previstos. Las herramientas que solo monitorizan los registros CT pueden pasar por alto errores de configuración, mientras que las que solo comprueban servidores activos pueden pasar por alto emisiones no autorizadas. tlswatch cierra esta brecha cruzando referencias entre los datos públicos de emisión y los sondeos a servidores activos.

Por qué importa

Para los equipos que ejecutan software autoalojado, mantener una postura TLS segura es complejo. La infraestructura suele incluir una mezcla de servidores web públicos y servicios internos como bases de datos o servidores de correo que utilizan STARTTLS. Los monitores de disponibilidad estándar suelen tratar TLS como una caja negra, verificando únicamente que se pueda establecer una conexión. Rara vez inspeccionan la cadena de certificados, comprueban cifrados débiles o validan que todas las direcciones IP detrás de un balanceador de carga utilicen el certificado correcto. Este punto ciego puede derivar en vulnerabilidades de seguridad o fallos intermitentes difíciles de diagnosticar.

tlswatch aborda estas lagunas ofreciendo una visión unificada del estado de los certificados y la seguridad de la configuración. Al asignar una calificación a cada objetivo, ofrece a los operadores una forma rápida de priorizar los esfuerzos de remediación. La capacidad de sondear redes internas mediante nodos distribuidos significa que incluso los servicios aislados de internet público pueden ser monitorizados para verificar el cumplimiento de las políticas de seguridad. Esto es particularmente valioso para organizaciones que necesitan aplicar estándares criptográficos estrictos en toda su infraestructura, no solo en sus sitios web públicos.

Qué puedes hacer

  • Desplegar una instancia de prueba: Usa el archivo Docker Compose proporcionado para ejecutar tlswatch localmente y explorar su interfaz sin comprometerte con una configuración de producción.
  • Auditar servicios internos: Configura nodos para sondear puertos internos como el 587 para SMTP o el 5432 para PostgreSQL para asegurar que STARTTLS esté correctamente implementado.
  • Revisar calificaciones de configuración: Consulta la calificación de la A a la F de tus endpoints públicos para identificar y deshabilitar protocolos heredados como TLS 1.0 o conjuntos de cifrado débiles.
  • Monitorizar la Transparencia de Certificados: Activa la vigilancia de CT para recibir alertas si se emiten certificados para tus dominios pero no son servidos por tu infraestructura conocida.
  • Exportar datos de inventario: Usa la función de exportación CSV para mantener un registro externo de todos los certificados, sus fechas de caducidad y dónde se sirven.
  • Integrar con alertas existentes: Conecta tlswatch a tus canales de notificación actuales, como Slack o Telegram, para asegurar que las advertencias sobre certificados lleguen a los miembros correctos del equipo.

Más noticias

Todas las noticias