
Si buscas la manera de evaluar y prevenir vulnerabilidades que puedan poner en riesgo la seguridad
de tus sistemas o datos este tutorial es para ti, pues OpenVAS es una herramienta de código abierto, gratuita y
poderosa si se utiliza responsablemente.
Es muy común que si es tu primera vez utilizando kali o instalando
un programa como este, surjan errores o problemas en el proceso, por eso, si entre uno u otro paso
te encuentras con un error inesperado dirígete a la sección de resolución de problemas aquí, ademáste invitamos
a ver el video y compartirlo con quienes creas que les será de utilidad ¡comencemos!
- Paso 1:
- Paso 2:
- Paso 3:
- Paso 4
- Paso 5:
- Paso 6:
- Paso 7:
- Paso 8:
- Paso 9:
- Paso 10:
- Paso 11:
- Paso 12:
- Paso 13:
- Paso 14:
- ERROR: PostgreSQL:
Actualiza el sistema operativo, este paso es muy importante de realizar de forma periódica y siempre
antes de instalar programas o servicios para evitar errores de instalación.
Ten en cuenta si es la primera vez que realizas este procedimiento, puede tomar hasta horas, pero no te preocupes, es cuestión de ser pacientes
y esperar a que termine correctamente.
Ejecuta:
sudo apt update
sudo apt upgrade

Instala OpenVAS con el comando:
sudo apt install -y gvm

Este comando establecerá la base de datos que utilizará OpenVAS, a partir de este punto
pueden empezar a suceder los errores.
Ejecuta:
sudo gvm-setup

En este caso ninguna versión de postgresql está utilizando el puerto 5432 y la librería de greenbone necesita que así sea, para ver tu lista de servicios ejecuta:
pg_lsclusters

Podemos observar que sí está la versión 17 y está online, pero está utilizando el puerto 5433.
Ya que vimos que necesitas que el cluster main utilice el puerto 5432, necesitas apagar el servicio, cambiarlo de puerto y volver a encenderlo, ejecuta:
sudo pg_lsclusters 17 main stop
sudo sed -i 's/^port = .*/port = 5432/' /etc/postgresql/17/main/postgresql.conf
sudo pg_lsclusters 17 main start

Vuelve a ver tu lista de clusters para verificar que el cambio se realizó con éxito:
pg_lsclusters
En efecto el cluster main en su versión 17 está online y utilizando el puerto 5432, así que procede a reiniciar los servicios de postgresql y verifica que los cambios en el sistema del servicio se realizaron correctamente, ejecuta:
sudo systemctl restart postgresql

Revisa si el setup se ha realizado correcto y por completo, ejecuta:
sudo gvm-check-setup

Vuelve a ejecutar el setup y lo normal sería que en este paso se tome más tiempo, incluso horas, por lo cual te recomiendo que lo dejes seguir el proceso sin salirte de la terminal ni apagar la computadora y regresar de vez en cuando a revisar si se ha completado.
sudo gvm-setup

Una vez terminada la instalacción correcta y completa, gvm te proporciona la contraseña para el usuario 'admin' que es el siempre nos dará por default, en nuestro manual podrás encontrar los pasos para cambiar usuario y/o contraseña si así lo deseas.

Antes de iniciar el programa, haz un chequeo de rutina para terminar de corroborar que la instalación se realizó sin errores.
sudo gvm-check-setup

Así indica que la instalación se ha realizado exitosamente.

Ahora sí puedes dar inicio a openvas, toma unos segundos en cargar toda la información y automáticamente abrirá la interfaz web después de una cuenta regresiva, empieza ejecutando:
sudo gvm-start


Una vez abierto el navegador, saldrá un aviso de advertencia ya que la página "no es segura", sin embargo vamos a hacer click sobre la opción "advanced" y después "accept the risk and continue"

Entonces deberás ver el sitio de login de OpenVAS, donde ingresas el usuario "admin" y la contraseña que te proporcionó anteriormente.

¡Éxito! Tu ambiente está listo para empezar a realizar escaneos responsablemente.

Resolución de problemas
[-] ERROR: The default PostgreSQL version (14) is not 17 that is required by libgvmd [-] ERROR: libgvmd needs PostgreSQL 17 to use the port 5432 [-] ERROR: Use pg_upgradecluster to update your PostgreSQL cluster
Esto quiere decir que los servicios de PostgreSQL están utilizando la versión 14, pero necesita que sea la versión 17. Además requiere que la versión 17 utilice el puerto 5432.
O sea, está desactualizado, revisa la configuración actual con:
pg_lsclusters
Podríamos ver algo como esto:
Ver Cluster Port Status Owner Data directory 14 main 5432 online postgres /var/lib/postgresql/14/main 17 main 5433 down postgres /var/lib/postgresql/17/main
Esto indica que en efecto, la versión 14 está encendida y utilizando el puerto 5432 y la 17, sin datos, apagada y configurada en el puerto 5433, apaga los servicios, migra los datos hacia la versión 17, cambia el puerto y vuelve a encender y revisar que los cambios hayan sido efectuados:
sudo pg_upgradecluster 14 main
pg_lsclusters
Corrobora que el cluster 14 ahora diga "down" y el 17 "online"
sudo pg_dropcluster 14 main
sudo pg_ctlcluster 17 main stop
sudo sed -i 's/^port = .*/port = 5432/' /etc/postgresql/17/main/postgresql.conf
sudo pg_ctlcluster 17 main start
pg_lsclusters
Ahora debes ver un resultado igual a este:
17 main 5432 online postgres /var/lib/postgresql/17/main
Reinicia los servicios de PostgreSQL:
sudo systemctl restart postgresql
Si el problema ha sido resuelto, continúa con la configuración normal.
Job for ospd-openvas.service failed because the control process exited with error code. See "systemctl status ospd-openvas.service" and "journalctl -xeu gvmd.service" for details.
Verifica el estado y analiza los logs del servicio a detalle, busca algún error relacionado con Redis, certificados, permisos o archivos faltantes. Ejecuta:
sudo systemctl status ospd-openvas.service
sudo journalctl -xeu ospd-openvas.service
kali ospd-openvas[158221]: ModuleNotFoundError: No module named 'distutils’
Este error indica que hay un módulo de python que no ha sido instalado, instálalo:
sudo apt install python3-distutils –y
E: Package 'python3-distutils' has no installation candidate
Actualiza el sistema operativo:
sudo apt update
sudo apt full-upgrade –y
E: sub-process /usr/bin/dpkg returned an error code (1)
Analiza el error a detalle con:
sudo tail -n 50 /var/log/dpkg.log
sudo journalctl -xe
kali notus-scanner[204357]: notus.scanner.errors.AdvisoriesLoadingError: Can't load advisor>
sudo dpkg --configure -a
“no space left on device”
Verifica tu espacio disponible:
df –h
¿Qué dice la línea que empieza con “/”? Si está al 100% debes liberar espacio urgente.
Borra la caché de paquetes ".deb" que ya fueron instalados, logs que tengan más de 3 días en el sistema y revisa qué carpetas están utilizando más espacio.
sudo apt clean
sudo journalctl --vacuum-time=3d
sudo du -h / --max-depth=1 2>/dev/null | sort -hr | head -n 15
Si hay carpetas utilizando demasiado espacio, procede a borrar paquetes huérfanos, archivos temporales y archivos acumulados:
sudo apt autoremove --purge
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
sudo journalctl --vacuum-time=3d
Verifica si quedó más espacio libre, en teoría el porcentaje debió haber disminuido.
Si necesitas seguir borrando, identifica directorios y subdirectorios que estén utilizando mucho espacio:
sudo du -h / --max-depth=1 2>/dev/null | sort -hr | head -n 10
sudo du -h /usr --max-depth=1 | sort -hr
Una vez liberado el espacio necesario, verifique la configuración de gvm y continúa normalmente.
sudo gvm-check-setup
error: dpkg was interrupted, you must manually run 'sudo dkpg --configure -a' to correct the problem
Este error indica que dpkg fue interrumpido y necesita ser configurado manualmente. Puede surgir si se interrumpió la instalación o
una actualización de paquetes.
Abre una terminal en una nueva pestaña, re-configura los paquetes pendientes:
sudo dpkg --configure –a
limpia la caché y actualiza la lista de paquetes:
sudo apt clean
sudo apt update
Repara dependencias rotas y actualiza todos los paquetes consecutivamente:
sudo apt --fix-broken install
sudo apt upgrade
Regresa a la terminal donde estás instalando gvm y reintenta la configuración, si todo sale bien, este proceso suele tardar desde 20 minutos a varias horas, sé paciente:
sudo gvm-setup
Si el proceso se realizó con éxito, continúa revisando la configuración y si no sale ningún otro error, puedes proceder a iniciar los servicios de openvas.
sudo gvm-check-setup
sudo gvm-start
OK: SCAP data found in /var/lib/gvm/scap-data. ERROR: CERT data are missing. FIX: Run the CERT synchronization script greenbone-feed-sync. sudo runuser -u _gvm -- greenbone-feed-sync --type CERT.
sudo greenbone-feed-sync --type scap
Deberías ver algo como:
Releasing lock on /var/lib/gvm/feed-update.lock
Significa que el proceso de sincronización del feed SCAP (vulnerabilidades y configuraciones de seguridad) terminó correctamente y liberó el archivo de bloqueo para evitar que otros procesos lo usen al mismo tiempo. Sincroniza las bases de datos de GVM:
sudo greenbone-feed-sync --type cert
sudo greenbone-feed-sync --type gvmd_data
sudo greenbone-feed-sync --type data
Corrobora que el error fue corregido:
sudo gvm-check-setup
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket? [*] Creating database user createuser: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket? psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket?
Este error ocurre cuando PostrgreSQL no está corriendo, por tanto no se está conectado para crear la base de datos de GVM y mucho menos poder crear o almacenar usuarios, revisa el estado de los servicios de postgres:
sudo systemctl status postgresql
postgresql.service - PostgreSQL RDBMS Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; preset: dis> Active: active (exited) since Fri 2025-06-06 08:21:07 CDT; 27min ago Invocation: 177a134f5a8f48ebb24b919995c6de89 Process: 5143 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 5143 (code=exited, status=0/SUCCESS) Mem peak: 1.7M CPU: 7ms Jun 06 08:21:07 kali systemd[1]: Starting postgresql.service - PostgreSQL RDBMS... Jun 06 08:21:07 kali systemd[1]: Finished postgresql.service - PostgreSQL RDBMS.
Aunque el servicio aparece como "active (exited)", indica que no está ejecutando realmente el servidor PostgreSQL, solo se ejecutó el script /bin/true (el cual es un “place holder”). Esto no es el comportamiento normal. Inicia la instancia real de PostgreSQL manualmente:
sudo pg_ctlcluster 17 main start
sudo ss -ltnp | grep 5432
Si funciona debe aparecer algo como:
LISTEN 0 128 127.0.0.1:5432 ...
Crea la base de datos y reinicia OpenVAS:
sudo runuser -u postgres -- /usr/share/gvm/create-postgresql-database
sudo gvm-stop
sudo gvm-start
Corrobora que los errores se corrigieron, verifica que todos los servicios están activos y revisa el estado de los feeds y el archivo de logs:
sudo gvm-check-setup
sudo systemctl status gvmd ospd-openvas gsad
sudo journalctl -u gvmd -b | grep "GVMD is listening"
sudo tail -f /var/log/gvm/gvmd.log
WARNING:2025-06-06 14h23.52 utc:12463: sql_open: PQconnectPoll failed md manage:WARNING:2025-06-06 14h23.52 utc:12463: sql_open: PQerrorMessage (conn): connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "root" does not exist md manage:WARNING:2025-06-06 14h23.52 utc:12463: init_manage_open_db: sql_open failed
Esta advertencia indica que gvmd está intentando conectarse a PostgreSQL como el usuario root, pero ese rol no existe en la base de datos.
Por eso no puede inicializar correctamente y no puedes crear usuarios aún.
Abra la consola de PostgreSQL y crea el rol "root"
sudo -u postgres psql
CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE INHERIT NOREPLICATION PASSWORD 'toor';
Sal de la consola, reinicia los servicios y corrobora que el error se corrigió:
\q
sudo systemctl restart postgresql
sudo gvm-stop
sudo gvm-start
sudo gvm-check-setup
Crea el usuario 'admin':
sudo gvmd --create-user=admin --password=admin
Ya sea que perdiste u olvidaste la clave, con este comando podrás crear una nueva para el usuario con el que inicia sesión en OpenVAS.
sudo gvmd --user=nombre de usuario(normalmente es 'admin') --new-password=NUEVACONTRASEÑA
Verifica que el servicio gvmd está corriendo apropiadamente:
sudo ps aux | grep gvmd
Si sale todo bien, ejecuta:
sudo gvmd --create-user=nombredeusuario --password=contraseña
Verifica que se haya creado exitosamente:
sudo gvmd --get-users
Debe aparecer el nombre de usuario creado.
Escrito Por:
Melina Luna
Jr. Cybersecurity Analyst