martes, 1 de noviembre de 2022

Audita tus servidores SSH con SSH-Audit

Esta herramienta gratuita audita la configuración de un servidor o cliente SSH y destaca las áreas que necesitan mejoras.

Demasiados administradores pasan por alto la configuración de SSH al configurar nuevos sistemas. Desafortunadamente, los valores predeterminados para muchos sistemas operativos están optimizados para la compatibilidad, no para la seguridad.

En esta entrada me centraré en GNU/Linux, si tienen Windows solo tienen que ir al perfil en Github del proyecto y descargar el instalador.

 

Características:


  • Análisis de servidor de protocolo SSH1 y SSH2.
  • Análisis de la configuración del cliente SSH.
  • Reproducción del banner, reconocimiento de dispositivos, software y sistema operativo.
  • Detección del tipo de compresión.
  • Recopilación de algoritmos de códigos de autenticación de mensajes, de cifrado y de clave de host.
  • Información del algoritmo de salida (disponible desde, eliminado/deshabilitado, inseguro/débil/heredado, etc.).
  • Recomendaciones de algoritmos de salida (agregar o eliminar según la versión de software reconocida).
  • Información de seguridad de salida (problemas relacionados, lista de CVE asignada, etc.).
  • Análisis de la compatibilidad de la versión SSH en función de la información del algoritmo.
  • Información histórica de OpenSSH, Dropbear SSH y libssh.
  • Análisis de políticas para garantizar el cumplimiento de una configuración reforzada/estándar.
  • Disponible para Linux y Windows.
  • Admite Python 3.6 – 3.9.
  • En Linux no necesita dependencias.

 

Instalación de ssh-audit en Ubuntu Linux.

 

Para instalarlo podemos hacerlo con nuestro querido apt simplemente con:
 
~# sudo apt install ssh-audit 

O si queremos tener la últimisima versión podemos acudir al perfil de Github anteriormente linkado y descargar los archivos necesarios.  

Si tienen Snap habilitado en su sistema Linux, ejecuten el siguiente comando Snap:

~# sudo snap install ssh-audit


Si tienen FreeBSD pueden instalar ssh-audit muy fácilmente:

 

# Búscalo e instálalo usando el comando pkg:

$ pkg search ssh-audit


# anote el resultado del comando anterior y aplíquelo #

$ sudo pkg install py37-ssh-audit





También se puede instalar usando pip3

~# pip3 install ssh-audit



Para instalar desde Dockerhub:


docker pull positronsecurity/ssh-audit



Luego se ejecuta de la siguiente manera:


docker run -it -p 2222:2222 positronsecurity/ssh-audit {ssh-server-ip} docker run -it -p 2222:2222 positronsecurity/ssh-audit 192.168.2.17


Usando SSH-Audit

Usar SSH-Audit es sencillísimo. Para empezar vamos a consultar la ayuda en la terminal:
 
# ssh-audit --help

 


Aunque no son muchas, vamos a ver las opciones mas interesantes para no alargar el post.
 
-1, --ssh1   Solo versión SSH 1 
-2, --ssh2   Solo versión SSH 2
-6, --ipv6    Usar IPv6
-c, --client-audit  Inicia un servidor ssh en el puerto 2222 para auditar los clientes
-l,  --level=<level> Nivel de salida mínima. Los informes son largos y podemos acortarlos filtrando las líneas de info por  informativos (info) avisos (warn) o errores (fail)
-j   --json  salida en formato JSON
-p, --port=<port> cambiar el puerto
-t,  --timeout=<segundos> para cambiar el timeout
-T,  --tagets=<hosts.txt> podemos pasar un archivo con una lista de hosts con el formato HOST[:PORT]
 
Vamos a ver un ejemplo de uso, simplemente ingresamos en la terminal: ssh-audit IP-SSH-server, en mi caso la ip del servidor que use para la prueba:

$ ssh-audit 172.16.0.15
 



 
Igual es redundante pero podéis hacer clic en las fotos para ampliarlas

   

Como podéis ver los informes son muy completos y hacen especial hincapié en la calidad de los cifrados usados, en el server que he montado de ejemplo solo usé usuario y contraseña pero bueno para ver un poco por encima ssh-audit nos sirve. Al final del informe se nos facilita un enlace a un recurso muy interesante: un listado de guías para el "hardening" de servidores SSH en los OS mas comunes.

Si queremos tener los informes en .txt, en Linux tenemos estupendas redirecciones, por ejemplo:



$ ssh-audit -n 172.16.0.5 >> /ruta/hacia/el_informe.txt

OJO hay que usar la opción -n para que el informe no se genere en color, lo que da problemas en el .txt.


Y bueno ya para terminar, hay disponible una web para auditar servidores ssh que usa esta herramienta, aquí os dejo el enlace.


No hay comentarios:

Publicar un comentario