Seguridad

Muchas veces se ha hablado sobre SSL/TLS en este blog. Es que la dureza de la implementación de SSL/TLS es primordial para garantizar la confidencialidad, (privacidad), integridad y autenticidad en las comunicaciones a través de Internet. No sólo cuando se utiliza por encima el protocolo HTTP, sino también otros como por ejemplo correo y redes privadas virtuales (OpenVPN).

Anteriormente demostré cómo verificar conexiones SSL/TLS desde línea de comandos con OpenSSL utilizando s_client, cómo analizar servidores SSL/TLS con cipherscan, y diagnosticar errores en conexiones SSL/TLS con SSL Checker.

Además, en el artículo Hardening de SSL/TLS en servidores HTTPS demostré cómo analizar clientes y servidores HTTPS utilizando las herramientas provistas por Qualys SSL Labs.

Este artículo demuestra cómo analizar el nivel de seguridad de una implementación de SSL/TLS utilizando la herramienta testssl.sh. Además de realizar un test exhaustivo sobre las suites de cifrado soportadas por un servidor SSL/TLS, esta herramienta permite comprobar las vulnerabilidades críticas más importantes como Heartbleed, CCS, CRIME, BREACH, POODLE, DROWN, BEAST, Secure Renegotiation, Secure Client-Initiated Renegotiation y más.

Anteriormente demostré cómo forzar el uso de HTTPS (HTTP sobre SSL/TLS) en Apache. Esta vez voy a demostrar cómo implementarlo en un servidor Web Nginx.

Al intentar acceder a la wiki de un proyecto alojado en un servidor Trac, me encontré con el siguiente mensaje de error:

WIKI_VIEW privileges are required to perform this operation on WikiStart. You don't have the required permissions.

Básicamente significa que el usuario actual no tiene permisos para acceder a la Wiki. Este artículo demuestra cómo gestionar permisos de acceso (autorización) a un sistema Trac desde línea de comandos.

Este artículo explica cómo generar un certificado SSL con certbot versión 0.10.02 (Debian 9.4) instalado de paquete. certbot es la herramienta provista por la EFF (Electronic Frontier Foundation) para generar certificados SSL gratuitos de Let's Encrypt.

Supongamos que hemos montado un servidor OpenVPN accesible libremente desde Internet (desde cualquier dirección IP). Este, por ejemplo, es el caso en el que deseamos que clientes conectados desde cualquier ubicación (usuarios remotos y con movilidad) puedan acceder a nuestra red local corporativa.

El problema es que tener un acceso público a nuestra VPN nos vuelve blanco de todo tipo de ataques, con lo cual deseamos mejorar la seguridad de su instalación (hardening). Afortunadamente es posible recurrir al mecanismo de autenticación TLS para crear un firewall HMAC (hash-based message authentication code). Esto permite bloquear ataques de tipo DoS (Denial of Service) y flooding de puertos UDP antes de que se establezca efectivamente la conexión con el servidor OpenVPN.