La seguridad de los datos transmitidos siempre debe ser una de las premisas que como administradores o usuarios avanzados debemos tener en cuenta a la hora de usar y transferir datos.
Existen millones de amenazas en la red y contamos con miles de herramientas para estar un paso más allá de dichas amenazas y una de las opciones en las cuales podemos centrar nuestra atención es en el cifrado TLS/SSL de los puertos ya que por allí se puede generar una brecha de seguridad que ponga en riesgo la integridad de la información.
Para cubrir este aspecto contamos con la utilidad testssl.sh y hoy en Solvetic haremos un completo análisis sobre cómo usarla de forma eficaz.
Testssl.ssh es compatible con cada distribución Linux, Mac OS X, FreeBSD, o MSYS2 / Cygwin.
- Salida clara: Nos permite definir de forma simple si algo es o no aceptable.
- Instalación simple: Compatible para Linux, Darwin, FreeBSD y MSYS2 / Cygwin, no es necesario instalar o configurar más valores, ni demonios, CPAN, pip o similares.
- Flexible: Esta en la capacidad de probar cualquier servicio SSL / TLS y STARTTLS, no solo servidores web que usan el puerto 443.
- Diversas herramientas: Cuenta con varias opciones de línea de comando que nos ayudan a ejecutar pruebas de entrada y salida.
- Fiable: cada una de las características se prueban a fondo para ofrecer algo integro.
- Verbosidad: si no se puede realizar una verificación en particular debido a una falta de capacidad del lado del cliente, recibiremos una advertencia.
- Privacidad: Solo los administradores tendrán acceso al resultado, no un tercero.
- Libre: Esta herramienta es 100% código libre.
- Soporta formatos JSON + CSV
- Compatible con verificación de ID de inicio de sesión
1. Instalar y usar Testssl.sh en Linux
Es posible instalar esta utilidad clonando el siguiente repositorio git:
git clone --depth 1 https://github.com/drwetter/testssl.sh.git
Posteriormente accedemos al directorio creado:
cd testssl.sh
Después de realizar la clonación de testssl.sh, su uso general consiste en la ejecución de la siguiente línea para realizar una prueba en un sitio web específico:
./testssl.sh https://www.solvetic.com/
Podemos ver que allí inicia el análisis de cada puerto de dicho sitio web. Continuará analizando cada aspecto del servidor:
Dentro del análisis tenemos una sección de vulnerabilidades:
Finalmente veremos una sección de simuladores de clientes:
Sera posible realizar una verificación para verificar los protocolos activados por STARTTLS como: ftp, smtp, pop3, imap, xmpp, telnet, ldap, postgres, mysql, para ello debemos usar la opción -t:
./testssl.sh -t smtp https://www.solvetic.com/
De forma predeterminada, todas las pruebas masivas se ejecutarán en modo serie, podremos habilitar las pruebas paralelas usando el parámetro –parallel:
./testssl.sh --parallel https://www.solvetic.com/
En caso de no desear hacer uso del programa predeterminado del sistema openssl, usaremos el indicador -openssl para indicar una alternativa:
./testssl.sh --parallel --sneaky --openssl /ruta https://www.solvetic.com/
testssl.sh cuenta con la opción --log la cual almacena el archivo de registro en el directorio actual o --logfile la cual especifica la ubicación del archivo de registro, esto en caso de desear guardar los registros para un análisis posterior.
./testssl.sh --parallel --sneaky --logging https://www.solvetic.com/
Si deseamos aumentar la velocidad de búsqueda, podemos deshabilitar el DNS con el parámetro -n:
./testssl.sh -n --parallel --sneaky --logging https://www.solvetic.com/
2. Búsquedas simples con testssl.sh en Linux
Al hacer uso de esta utilidad, será posible realizar comprobaciones únicas de protocolos, valores predeterminados del servidor, preferencias, encabezados, vulnerabilidades y muchas otras pruebas del servidor de forma simple.
Podremos hacer uso del parámetro -e para analizar la conexión remota y usar el parámetro --fast para omitir algunas comprobaciones acelerando su proceso:
./testssl.sh -e --fast --parallel https://www.solvetic.com/
El parámetro -p nos permite validar protocolos TLS/SSL (incluido SPDY / HTTP2):
./testssl.sh -p --parallel --sneaky https://www.solvetic.com/
Sera posible ver las selecciones y el certificado predeterminados del servidor usando el opción -S:
./testssl.sh -S https://www.solvetic.com/
Sera posible ver el protocolo más el cifrado preferido del servidor, con el indicador -P:
./testssl.sh -P https://www.solvetic.com/
Con el parámetro -U podremos tener acceso a todas las vulnerabilidades si las hubiera en el servidor:
./testssl.sh -U --sneaky https://www.solvetic.com/
Finalmente, para ver todas las opciones disponibles podremos usar el siguiente comando:
./testssl.sh –helpCon esta valiosa utilidad será posible tener un nivel más de seguridad a la hora de hacer uso de las conexiones de red en nuestras organizaciones.