Si usted es un desarrollador web, un administrador de sistemas, un profesional de seguridad o un usuario curioso, es posible que se haya preguntado cuán seguro es su sitio web o servidor cuando se trata de cifrado SSL/ TLS. SSL/TLS es el protocolo que permite una comunicación segura a través de Internet, protegiendo sus datos de escuchas, manipulaciones e imitaciones. Sin embargo, no todas las configuraciones SSL/TLS son iguales. Algunos son más seguros que otros, dependiendo de los protocolos, cifrados, certificados y opciones soportados.
Aquí es donde Cipherscan es útil. Cipherscan es una herramienta simple y potente que prueba el pedido y soporte de cifrado SSL/TLS en un objetivo dado, para todas las versiones principales de SSL y TLS. También extrae información de certificados, opciones de TLS, grapado OCSP y más. Cipherscan es un contenedor alrededor de la utilidad openssl s_client de línea de comandos, lo que significa que utiliza la biblioteca OpenSSL para realizar las pruebas.
Cipherscan puede ayudarle con varias tareas, como:
Cipherscan también puede ayudarlo a comparar su sitio web o servidor con otros objetivos, como competidores o estándares de la industria, para ver cómo se compara con ellos. También puede usar Cipherscan para probar otros servicios que usan cifrado SSL/TLS, como SMTP, IMAP, POP3, FTPS, XMPP, etc.
Cipherscan está diseñado para ejecutarse en todos los sabores de Unix, como Linux o MacOS. Sin embargo, también puede ejecutarlo en Windows con algunos pasos adicionales. Aquí está cómo descargar e instalar Cipherscan en Windows:
Para ejecutar Cipherscan en Windows, necesitará:
El primer paso es descargar la última versión de Cipherscan desde su repositorio GitHub. Puedes hacer esto usando el cliente Git o descargando el archivo ZIP directamente desde el sitio web.
Para usar el cliente Git, abra su herramienta de línea de comandos y vaya a la carpeta donde desea guardar Cipherscan. Luego ejecute el siguiente comando:
Esto creará una carpeta llamada cipherscan con todos los archivos y carpetas del proyecto.
El siguiente paso es instalar OpenSSL para Windows, que es requerido por Cipherscan para realizar las pruebas. Puede descargar la última versión de OpenSSL para Windows desde este sitio web: https://slproweb.com/products/Win32OpenSSL.html
Elija el instalador apropiado para su sistema, ya sea de 32 bits o de 64 bits, y ejecútelo como administrador. Siga las instrucciones en la pantalla y acepte las opciones predeterminadas. Asegúrese de instalar OpenSSL en la misma unidad que Cipherscan, por ejemplo C: OpenSSL-Win64.
Una vez completada la instalación, es necesario agregar OpenSSL a la ruta del sistema, para que Cipherscan pueda encontrarla. Para ello, abra la herramienta de línea de comandos y ejecute el siguiente comando:
setx path "%path%;C: OpenSSL-Win64 bin"Reemplazar C: OpenSSL-Win64 bin con la ruta real donde instaló OpenSSL. Es posible que necesite reiniciar la herramienta de línea de comandos para que los cambios surtan efecto.
Ahora está listo para ejecutar Cipherscan desde su herramienta de línea de comandos. Para hacer esto, vaya a la carpeta donde guardó Cipherscan, por ejemplo C: cipherscan. Luego ejecute el siguiente comando:
python cipherscan.pyEsto mostrará el uso y las opciones de Cipherscan. También puede ejecutar python cipherscan.py -h para obtener más ayuda.
Cipherscan es muy fácil de usar y tiene una sintaxis simple. El uso básico es:
python cipherscan.py [options] target[:port]El destino puede ser un nombre de host o una dirección IP del sitio web o servidor que desea probar. El puerto es opcional y por defecto es 443 para HTTPS. También puede especificar un prefijo de protocolo, como smtp, imap, pop3, ftps, xmpp, etc., para probar otros servicios que utilizan cifrado SSL/TLS.
También puede usar -h o --help para ver todas las opciones disponibles y sus descripciones.
Aquí hay algunos ejemplos de cómo usar Cipherscan para probar diferentes objetivos y protocolos:
# Prueba google.com con opciones predeterminadas python cipherscan.py google.com # Prueba gmail.com con protocolo SMTP en el puerto 25 python cipherscan.py smtp:gmail.com:25 # Prueba yahoo.com con protocolo IMAP en el puerto 993 python cipherscan.py imap:yahoo.com:993 # Prueba facebook.com con protocolo XMPP en el puerto 5222 python cipherscan.py xmpp:facebook.com:5222 # Prueba ftp.mozilla.org con protocolo FTPS en el puerto 990 python cipherscan.ftpy:ftp.mozilla.org:990 # Prueba tu propio sitio web o servidor con el protocolo HTTPS en el puerto 443 python cipherscan.py https://yourwebsite.com:443La salida de Cipherscan consta de varias secciones, cada una proporcionando información diferente sobre la configuración SSL/TLS del objetivo. Aquí hay un ejemplo de la salida de Cipherscan al probar google.com:
Target: google.com:443 protocolos prio ciphersuite pfs curvas 1 ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 ECDH, P-256,256bits prime256v como ECDH o DHE. Las curvas elípticas son las curvas matemáticas utilizadas para el intercambio de claves ECDH, como prime256v1 o secp384r1. La tercera sección muestra alguna información sobre la pista de vida del ticket TLS, que es una opción que permite al objetivo sugerir cuánto tiempo debe mantener el cliente un ticket de sesión para una reanudación más rápida de la comunicación cifrada. El valor es en segundos, y un valor más largo significa menos gastos generales para establecer nuevas sesiones.
La cuarta sección muestra alguna información sobre la grapadora OCSP, que es una opción que permite al objetivo proporcionar una prueba de validez de su certificado junto con el certificado en sí, reduciendo la necesidad de que el cliente se ponga en contacto con la CA para la verificación. Esto mejora el rendimiento y la seguridad del handshake SSL/TLS.
La quinta sección muestra si el destino utiliza el ordenamiento de cifrado del lado del servidor o no, lo que significa si el destino elige el cifrado para usar en función de su propia preferencia o de la preferencia del cliente. Generalmente se recomienda ordenar el cifrado del lado del servidor, ya que permite que el objetivo aplique cifrados más fuertes y evite los más débiles.
Cipherscan no es la única herramienta que puede probar y analizar configuraciones SSL/TLS. Hay muchas otras herramientas disponibles, tanto en línea como fuera de línea, que ofrecen características y funcionalidades similares o diferentes. Algunas de las alternativas más populares a Cipherscan son:
Cada herramienta tiene sus propios pros y contras, dependiendo de sus necesidades y preferencias. Aquí hay algunos factores a considerar al elegir la mejor herramienta para su situación:
| Herramienta |
|---|
| Pros |
|---|
| Contras |
|---|
| Cipherscan |
| - Simple y fácil de usar - Rápido y ligero - Flexible y personalizable - Soporta varios protocolos y servicios - Funciona sin conexión |
| - Requiere instalación de OpenSSL - No prueba vulnerabilidades - No proporciona calificaciones o recomendaciones - No soporta TLS 1.3 todavía |
| SSL Labs |
| - Análisis exhaustivo y detallado - Proporciona calificaciones y recomendaciones - Pruebas de vulnerabilidades y características - Soporta TLS 1.3 - Proporciona herramientas y recursos |
| - Requiere acceso a Internet - Lento y pesado - Limitado al protocolo HTTPS - Puede exponer información sensible |
| TestSSL |
| - Pruebas de vulnerabilidades y errores de configuración - Soporta varios protocolos y servicios - Funciona sin conexión - Proporciona calificaciones y recomendaciones - Soporta TLS 1.3 |
| - Complejo y difícil de usar - Requiere instalación de OpenSSL - Puede producir falsos positivos o negativos - Puede no soportar algunos cifrados u opciones |
| Nmap |
| - Exploraciones de información y servicios diversos - Soporta varios protocolos y servicios - Funciona sin conexión - Flexible y personalizable - Pruebas de vulnerabilidades y características | - Requiere instalación Nmap - No proporciona calificaciones o recomendaciones - Puede que no admita algunos cifrados u opciones - Puede desencadenar alertas de seguridad o firewalls |
La mejor herramienta para tus necesidades depende de varios factores, como:
En base a estos factores, puede elegir la mejor herramienta para sus necesidades. Aquí hay algunas pautas generales:
En este artículo, hemos aprendido qué es Cipherscan y por qué lo necesitamos. También hemos aprendido cómo descargar e instalar Cipherscan en Windows, cómo usar Cipherscan para probar la configuración SSL/TLS y cómo comparar Cipherscan con otras herramientas de escaneo SSL/TLS. Esperamos que este artículo le haya ayudado a entender y apreciar la importancia del cifrado SSL/TLS y cómo probarlo y mejorarlo con Cipherscan.
Si tiene alguna pregunta, comentario o comentario, por favor siéntase libre de dejarlos abajo. Nos encantaría saber de usted. Además, si te gustó este artículo, por favor compártelo con tus amigos y colegas que podrían encontrarlo útil. Gracias por leer!
Aquí hay algunas preguntas frecuentes sobre Cipherscan:
python cipherscan.py -u. Esto comprobará si hay actualizaciones y actualizará Cipherscan si es necesario. python cipherscan.py -f targets.txt.