Instalación de OpenVAS en openSUSE

OpenVAS es una herramienta basada en Nessus que permite identificar vulnerabilidades conocidas en servidores, computadoras de escritorio, etc.

Este artículo ha sido migrado directamente del blog La Bitácora de Gabriel y se encuentra desactualizado con respecto a las versiones actuales de OpenVAS, ya que ha sido redactado originalmente en base a las versiones 2 y 3. Los pasos de instalación y configuración para las versiones más recientes de ésta herramienta serán tratados en un artículo posterior.

Como ya dije anteriormente, esta herramienta permite conocer cuales son las posibles vulnerabilidades a las que puede estar expuesto el equipo analizado, la gravedad de esas vulnerabilidades y cuales podrían ser las posibles soluciones. Funciona principalmente con dos módulos bien definidos, por un lado el módulo servidor que es el encargado de realizar los análisis de vulnerabilidades y por el otro el módulo cliente, que permite al operador gestionar el módulo servidor y visualizar los resultados de los análisis. El módulo cliente puede estar instalado en el mismo equipo en donde se encuentra el módulo servidor, pero también es posible tenerlo instalado en otros equipos y establecer la conexión con el módulo servidor de forma remota.

El módulo servidor de OpenVAS fue desarrollado por la comunidad de software libre a partir de un fork de la versión 2.2 de Nessus, luego de que la empresa detrás de Nessus decidiera liberar su nueva versión 3.0 con una licencia propietaria y restrictiva. Del mismo modo que el módulo servidor, el módulo cliente de OpenVAS también es un fork de la versión 1.x del NessusClient, versión anterior al cambio de licencia.


Instalación

Los pasos se detallan a continuación:
  1. Hay dos formas para obtener e instalar los paquetes de OpenVAS en openSUSE:
    - Mediante el método 1-Click Install.
    - Agregando el repositorio de Internet que contenga los paquetes necesarios (repositorios como OSS, Security, etc.) para luego instalarlos mediante zypper o yast.

  2. Indistintamente de los dos métodos expuestos en el punto uno, se tienen que instalar los siguientes paquetes:
    - Para la versión 2.x: libopenvasnasl1, openvas-plugins, openvas-libraries, openvas-client, openvas-server
    - Para la versión 3.x: openvas-scanner, openvas-client

  3. Para ejecutar y acceder al servicio de OpenVAS se necesita agregar un usuario para la herramienta:
    testsrv:~ # openvas-adduser
    Using /var/tmp as a temporary file holder.
    Add a new openvasd user
    ---------------------------------
    Login : gabriel
    Authentication (pass/cert) [pass] :
    Login password :
    Login password (again) :
    User rules
    ---------------
    openvasd has a rules system which allows you to restrict the hosts that gabriel has the right to test.
    For instance, you may want him to be able to scan his own host only.
    Please see the openvas-adduser(8) man page for the rules syntax.
    Enter the rules for this user, and hit ctrl-D once you are done:
    (the user can have an empty rules set)
    Login : gabriel
    Password : ***********
    Rules :
    Is that ok? (y/n) [y] y
    user added.
    testsrv:~ #
  4. Generamos un nuevo certificado para el servicio de OpenVAS, esto es importante si lo utilizamos desde un equipo remoto:
    testsrv:~ # openvas-mkcert
    /var/lib/openvas/private/CA created
    /var/lib/openvas/CA created
    -------------------------------------------------------------------------------
    Creation of the OpenVAS SSL Certificate
    -------------------------------------------------------------------------------
    This script will now ask you the relevant information to create the SSL certificate of OpenVAS.
    Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your OpenVAS daemon will be able to retrieve this information.
    CA certificate life time in days [1460]:
    Server certificate life time in days [365]:
    Your country (two letter code) [FR]: PY
    Your state or province name [none]: IT
    Your location (e.g. town) [Paris]: BV
    Your organization [OpenVAS Users United]: GK
    -------------------------------------------------------------------------------
    Creation of the OpenVAS SSL Certificate
    -------------------------------------------------------------------------------
    Congratulations. Your server certificate was properly created.
    /etc/openvas/openvasd.conf updated
    The following files were created:
    . Certification authority:
    Certificate = /var/lib/openvas/CA/cacert.pem
    Private key = /var/lib/openvas/private/CA/cakey.pem
    . OpenVAS Server :
    Certificate = /var/lib/openvas/CA/servercert.pem
    Private key = /var/lib/openvas/private/CA/serverkey.pem
    Press [ENTER] to exit
    testsrv:~ #
  5. Como la versión 3.x de OpenVAS ya no dispone de un paquete plugins que se pueda instalar para actualizar la base de datos de vulnerabilidades (NVT's), las actualizaciones se realizan directamente a través de Internet mediante la ejecución del script openvas-nvt-sync, pero antes de seguir con eso tendremos que realizar la siguiente corrección:

    • Debemos tener instalado el paquete rsync, y si no lo tenemos lo instalamos de la siguiente manera:
      testsrv:~ # zypper install rsync
    • Necesitamos editar la linea Nº 63 del script openvas-nvt-sync ubicado en el directorio /usr/sbin:
      testsrv:~ # vi +63 /usr/sbin/openvas-nvt-sync
      Y luego agregarle una secuencia de X mayúsculas requeridas por el comando mktemp, que se requiere para crear un directorio temporal en el cual albergar la descarga de los plugins, la línea debe quedar como sigue:
      SYNC_TMP_DIR=`mktemp -d openvas-nvt-syncXXXX` || { echo "ERROR: Cannot create temporary  directory for file download" >&2; exit 1 ; }
    • Guardados los cambios, lo único que resta es ejecutar el script openvas-nvt-sync desde la línea de comandos como se muestra a continuación:
      testsrv:~ # openvas-nvt-sync
      [i] This script synchronizes an NVT collection with the 'OpenVAS NVT Feed'.
      [i] The 'OpenVAS NVT Feed' is provided by 'The OpenVAS Project'.
      [i] Online information about this feed: 'http://www.openvas.org/openvas-nvt-feed.html'.
      [i] NVT dir: /usr/lib/openvas/plugins
      [i] Will use rsync
      [i] Using rsync: /usr/bin/rsync
      [i] Configured NVT rsync feed: rsync://rsync.openvas.org:/nvt-feed
      rsync server - Intevation GmbH, Germany
      All transactions are logged. Mail problems to admin@intevation.de.
      Please look at /ftp/mirrors.txt for a list of download mirrors.
      receiving file list ...
      35177 files to consider
      .
      .
      zyxel_pwd.nasl.asc
      197 100% 0.97kB/s 0:00:00 (xfer#35173, to-check=0/35177)
      sent 562840 bytes received 75650225 bytes 12385.32 bytes/sec
      total size is 73666387 speedup is 0.97
      [i] Checking dir: ok
      [i] Checking MD5 checksum: ok
      testsrv:~ #
    • Al concluir con el proceso tendremos instalado los últimos tests de vulnerabilidades disponibles para OpenVAS.

  6. Se agrega a los niveles de ejecución el servicio OpenVAS:
    testsrv:~ # chkconfig --add openvas-scanner
    OBS: En la versión 2.x el servicio se denomina openvas-server.
  7. Arrancamos el servicio de OpenVAS por primera vez:
    testsrv:~ # service openvas-scanner start
    Starting openvasd smb_nt.inc: No such file or directory
    done
    testsrv:~ #
    OBS: El servicio puede tardar en arrancar si se tiene gran cantidad de plugins instalados.
  8. Luego del paso número siete ya podemos acceder al servicio, para ello abrimos el cliente recién instalado ejecutando la aplicación openvas-client, accedemos al menú Archivo -> Conectar y en la ventana de conexión le introducimos los siguientes datos:

    - Sistema: 127.0.0.1 (Cuando el cliente está instalado en la misma máquina que el módulo servidor)
    - Puerto: 9390
    - Usuario: gabriel (Login introducido en el paso tres)
    - Contraseña: ******* (Contraseña especificada en el paso tres)

  9. Si hemos instalado un cliente que necesita acceder remotamente al servicio de OpenVAS no debemos olvidarnos de habilitar el puerto 9390 en el firewall de openSUSE.
Y bueno, estos han sido los pasos necesarios para instalar la herramienta, queda a cargo de los interesados aprender a utilizarla y sacarle todo el provecho. a continuación les dejo unas capturas de pantalla.


Capturas de pantalla




Enlaces relacionados



Entorno de instalación y prueba

  • SO: Linux 2.6.31.5-0.1-default i686
  • Sistema: openSUSE 11.2 i586

Comentarios