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.
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:- 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. - 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 - 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:~ # - 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:~ # - 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.
- Debemos tener instalado el paquete rsync, y si no lo tenemos lo instalamos de la siguiente manera:
- 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.
- 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.
- 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) - 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.
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
Publicar un comentario