Spiga

Nessus: detectando malas configuraciones

Hola!

Éste es el segundo post de la serie Top 10  de cosas que no conocías sobre Nessus que está publicando David Letterman, de Tenable Security, y que yo iré traduciendo (y resumiendo) por aquí. En el artículo anterior, hay más de una forma de hacer las cosas, estudiamos los beneficios de realizar un análisis con credenciales, y hoy vamos a ver cómo usar Nessus para descubrir malas configuraciones que puedan llevar a comprometer la seguridad de nuestros sistemas.

Nessus detecta malas configuraciones

Cuando yo trabajaba de administrador de sistemas [cuenta David Letterman], una de las tareas más difíciles era mantener las mismas configuraciones en todos los sistemas (o grupos de sistemas similares). Los sistemas cambiaban, se aplicaban actualizaciones, la gente hacía cambios a las 3:00 de la madrugada para corregir un problema de emergencia... todo ello contribuyendo a que las configuraciones se escaparan de las políticas en las que yo había trabajado tan duro para crearlas e implementarlas. Afortunadamente, Nessus permite auditar de forma consistente las configuraciones de tus equipos:
  • Ejecutar órdenes de shell Linux/Unix: dentro de la configuración de una política de auditoría, puedes especificar el comando a ejecutar, y comprobar los resultados deseados. Esto significa que puedes crear un script  para, por ejemplo, comprobar si las claves SSH tienen configuradas una contraseña.
  • Mirar dentro de los ficheros de configuración: Nessus permite buscar un fichero de configuración (o cualquier fichero en texto plano) de un equipo, localizar ciertos parámetros y realizar un test. Por ejemplo, si quieres estar seguro de que las configuraciones de tus servidores SSH no permiten que el usuario root haga un login, podríamos comprobarlo así:

system:"Linux"
type :FILE_CONTENT_CHECK
description:"2.3 Configure SSH - Checking if PermitRootLogin is set to no and not commented for server."
info:"ref. https://community.cisecurity.org/download/?redir=/linux/CIS_RHEL_5.0-5.1_Benchmark_v1.1.2.pdf Ch. 2, pp 24-25."
file:"/etc/ssh/sshd_config"
regex:"^[\\s\\t]*PermitRootLogin[\\s\\t]"
expect:"^[\\s\\t]*PermitRootLogin[\\s\\t]+no[\\s\\t]*$"


  • Inventario de software: se puede usar Nessus para identificar el software instalado. Por ejemplo, si queremos comprobar si nos hemos dejado instalado un compilador en nuestro servidor, podemos realizar lo siguiente:


type :RPM_CHECK
description:"SN.10 Remove All Compilers and Assemblers - gcc"
info :"ref. https://community.cisecurity.org/download/?redir=/linux/CIS_RHEL_5.0-5.1_Benchmark_v1.1.2.pdf App. A, page 119."
rpm :"gcc-0.0.0-0"
operator:"lt"


Y aquí tenéis el vídeo de la sesión:





Un saludo!

0 comentarios: