La seguridad, la privacidad y la integridad de los datos son propiedades importantes de las aplicaciones y los protocolos de Internet de hoy en día. La seguridad y confidencialidad de millones de transacciones por Internet por día dependen del protocolo Secure Socket Layer (SSL) / Transport Layer Security (TLS).
En los últimos años, el protocolo SSL ha estado sujeto a una serie de ataques exitosos por parte de investigadores de seguridad, algunos explotando fallas en los sistemas desplegados, mientras que otros utilizaron la ingeniería social y otras formas de engaño.
A medida que Internet se utiliza para muchas actividades comerciales, como compras, banca en línea o comercio electrónico, el valor de los datos ha aumentado. Por lo tanto, se espera que los protocolos y aplicaciones de red protejan los datos críticos al proporcionar cifrado, integridad de los datos y, lo más importante, la autenticación de la entidad.
Como estos objetivos de seguridad son difíciles de alcanzar, los desarrolladores de aplicaciones y los diseñadores de protocolos a menudo confían en capas de seguridad bien establecidas por debajo de sus propios protocolos. Muchas aplicaciones y protocolos utilizan los conjuntos de protocolos SSL y TLS para proporcionar un cierto nivel de seguridad, ya que se basan en algoritmos criptográficos bien entendidos y analizados exhaustivamente.
1. Introducción a SSL
Siempre ten en cuenta que, aunque HTTP es el protocolo, se hace un gran uso de SSL para asegurar la comunicación. SSL es un protocolo independiente de la capa de aplicación. Así que puedes usar eso con cualquier protocolo de capa de aplicación.
Básicamente SSL tiene tres niveles de seguridad, es decir:
- Autenticación: Asegura que el mensaje recibido proviene de una fuente fiable.
- Confidencialidad: Protege un mensaje de la lectura de destinatarios no autorizados a lo largo del flujo.
- Integridad: Asegura que el mensaje original no cambia en el camino.
ARTÍCULOS DE AYUDA:
2. Herramientas Open Source de verificación SSL
Aquí he enumerado los 3 principales escáneres SSL de código abierto a través de los cuales puedes probar fácilmente la seguridad de tu servidor SSL/TLS.
2.1. SSLYZE
SSLyze es una de las herramientas de línea de comandos de escaneo de servidores SSL/TLS más poderosas que analiza la configuración SSL de un servidor mediante la cual puede identificar fácilmente todas las vulnerabilidades, configuraciones erróneas, etc. contra tu servidor SSL.
SSLyze ya se ha probado en varias plataformas como Debian 7, macOS High Sierra y Windows 10.
sslyze (este enlace se abre en una nueva ventana) por nabla-c0d3 (este enlace se abre en una nueva ventana)
Fast and powerful SSL/TLS scanning library.
La instalación se puede hacer fácilmente directamente a través de la herramienta pip
de la siguiente manera:
pip install --upgrade setuptools
pip install --upgrade sslyze
O puedes clonar directamente el repositorio ejecutando el siguiente comando:
git clone https://github.com/nabla-c0d3/sslyze
cd sslyze
pipenv install --dev
pipenv shell
2.2. SSLSCAN
SSLScan está diseñado para ser fácil y rápido. La salida incluye cifrados preferidos del servicio SSL/TLS, y se admiten los formatos de salida de texto y XML. Es compatible con TLS SNI cuando se usa con una versión compatible de OpenSSL.
E incluso puede automatizar todo el proceso de realización de escaneo SSL a través de Auto-sslscan, que analiza un archivo de salida nmap.xml, extrae todos los servicios SSL y realiza automáticamente un sslscan
.
sslscan (este enlace se abre en una nueva ventana) por rbsec (este enlace se abre en una nueva ventana)
sslscan tests SSL/TLS enabled services to discover supported cipher suites
Puedes instalar esta herramienta directamente ejecutando el siguiente comando:
apt install sslscan
2.3. TESTSSL
Es una herramienta de línea de comandos gratuita que comprueba casi todas las vulnerabilidades principales como Heartbleed, CRIME, BREACH, Poodle, Beast, etc. El script Testssl.sh
es prácticamente portátil y compatible con todos los sistemas Linux, Mac OS X y FreeBSD.
testssl.sh (este enlace se abre en una nueva ventana) por drwetter (este enlace se abre en una nueva ventana)
Testing TLS/SSL encryption anywhere on any port
Instalación: para instalar esta herramienta, ejecuta el siguiente comando en tu terminal:
git clone --depth 1 https://github.com/drwetter/testssl.sh.git
Para probar todas las vulnerabilidades, el comando es:
./testssl.sh -U <https://sitioweb.com>
En caso de que, si deseas probar una vulnerabilidad en particular, veamos por ejemplo Heartbleed, entonces el comando sería:
./testssl.sh -B <https://sitioweb.com>
Para obtener más información sobre esta herramienta, puede consultar el sitio web oficial https://testssl.sh/.
3. Otros scripts y herramientas útiles para probar el SSL
- TLS-Scan (Github)
- SSLLabs-Scan (Github)
- A2sv (Github)
- SSL Inspector (Github)
- PySSLScan (Github)
4. 10 mejores escáneres SSL en línea gratuitos
- SSL Server Test by Qualys
- SSL Checker by SSL Shopper
- SSL Scanner by SSL Tools
- SSL Certificate Checker by Digicert
- SSL Check by JitBit
- SSL Checker by SSL Store
- SSL Tester by Wormly
- SSL Security Test by ImmuniWeb
- SSL Certificate Checker
- SSLv3 Poodle Vulnerability Scanner
- Clickssl SSL Checker Tool
¿Te ha gustado este artículo? Sígue este blog en su fanpage de Facebook, Twitter, Instagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!