Установка OpenVAS на Kali Linux

Привет, друзья! Недавно стало необходимо поставить OpenVAS на Kali Linux, так как это было необходимо для выполнения практической работы.
В сети очень много статей по теме установки Openvas, но я опишу свою установку, проблемы, с которыми я столкнулся во время инсталляции и их решение.
Что такое OpenVAS?
OpenVAS (Open Vulnerability Assessment System) — это мощная и широко используемая система для сканирования уязвимостей в IT-инфраструктуре. Она предназначена для выявления потенциальных слабых мест в системах, сетях и приложениях, помогая администраторам оперативно устранять угрозы безопасности.
Основные возможности:
- Проводит детальное сканирование уязвимостей с использованием постоянно обновляемых баз данных.
- Поддерживает автоматическое планирование проверок.
- Предоставляет гибкие настройки и фильтры для точечного анализа.
- Формирует подробные отчеты с приоритетами устранения уязвимостей.
Как работает OpenVAS?
Система включает сканер, который анализирует цели (серверы, устройства, приложения) на наличие известных уязвимостей. Для этого используются актуальные данные из базы CVE (Common Vulnerabilities and Exposures). Управление осуществляется через веб-интерфейс или командную строку, что делает инструмент универсальным для различных задач и пользователей.
Почему выбрать OpenVAS?
OpenVAS популярен благодаря своей бесплатной лицензии (GPL), широкому функционалу и поддержке сообществом разработчиков. Он подходит как для небольших организаций, так и для крупных компаний, желающих обеспечить высокий уровень безопасности своих IT-ресурсов.
Для установки и настройки OpenVAS можно воспользоваться готовыми дистрибутивами, такими как Greenbone Community Edition.
Установка OpenVAS (GVM) на Kali Linux
Для начала я создам новую виртуальную машину c Kali Linux 2024.4 на VMWare 17, на которую в дальнейшем и буду устанавливать OpenVAS. (Часть инструкции по установке взята из этой статьи, за которую автору огромное спасибо)
Вначале откроем терминал и обновим список пакетов
sudo apt update

Затем обновим систему
sudo apt upgrade -y

Убедимся, что процесс haveged запущен:
sudo ps aux | grep “have”

Начнем установку OpenVAS
sudo apt install openvas -y

Проверим работу сервиса Redis, который должен устанавливается вместе с OpenVAS:
sudo systemctl status redis-server@openvas.service

Запустим службу, если она не запущена:
sudo systemctl start redis-server@openvas.service

Включим запуск службы при запуске:
sudo systemctl enable redis-server@openvas.service

Проверим, запущен ли Redis:
sudo systemctl status redis-server@openvas.service

Запустим настройку gvm:
sudo gvm-setup
На этом этапе у меня появились ошибка, которая говорит о том, что версия PostgreSQL на вашем сервере (16) несовместима с версией, требуемой libgvmd
(17).
[-] ERROR: The default PostgreSQL version (16) 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

Для решения проблемы нужно обновить PostgreSQL до версии 17. Вот пошаговое руководство:
Установка PostgreSQL 17 на Kali Linux
Если PostgreSQL 17 еще не установлен, добавьте репозиторий PostgreSQL:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Установим PostgreSQL 17
sudo apt install postgresql-17

Проверим текущую версию PostgreSQL
pg_lsclusters
Вы должны увидеть что-то типа этого
Ver Cluster Port Status Owner Data directory Log file
16 main 5432 online postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log
Нам нужно обновить кластер до PostgreSQL 17
sudo pg_upgradecluster 16 main
Запуск команды sudo pg_upgradecluster 16 main
обновляет кластер PostgreSQL с версии 16 до 17.
Мне выдало ошибку
Error: target cluster 17/main already exists

Ошибка target cluster 17/main already exists
означает, что кластер PostgreSQL версии 17 уже был инициализирован. Для решения проблемы нужно удалить существующий кластер PostgreSQL 17, чтобы pg_upgradecluster
мог корректно перенести данные из версии 16.
Решение:
1. Проверим текущие кластеры
Выполните команду:
pg_lsclusters
Вы увидите список всех кластеров PostgreSQL, например:
Ver Cluster Port Status Owner Data directory Log file
16 main 5432 online postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log
17 main 5433 online postgres /var/lib/postgresql/17/main /var/log/postgresql/postgresql-17-main.log

2. Остановим кластер PostgreSQL 17
Перед удалением остановите текущий кластер версии 17:
sudo pg_ctlcluster 17 main stop

3. Удалим существующий кластер PostgreSQL 17
Удалите кластер, чтобы освободить место для переноса данных:
sudo pg_dropcluster 17 main

4. Запустим обновление снова
Теперь выполните команду для обновления:
sudo pg_upgradecluster 16 main
5. Проверьте успешность выполнения
После завершения проверьте список кластеров:

6. Очистим старый кластер (опционально)
Если вы уверены, что обновление прошло успешно и данные перенесены, удалите старый кластер версии 16:
sudo pg_dropcluster 16 main

Снова запустим:
sudo gvm-setup

Как видим, ошибки пропали и началась установка gvm, которая может занять длительное время.
Обязательно дождитесь окончания установки и сохраните пароль для входа в веб-интерфейс!!!

Проверим правильность настройки:
sudo gvm-check-setup
Обновим каналы:
sudo greenbone-feed-sync
Запустим gvmd и ospd-openvas:
Если не работает, попробуйте выполнить команду:
sudo systemctl start gvmd ospd-openvas
Теперь снова включите:
sudo systemctl enable gvmd ospd-openvas
Еще раз проверьте статус gvmd и ospd-openvas:
sudo systemctl status gvmd ospd-openvas
Включим помощника по безопасности greenbone:
sudo systemctl enable greenbone-security-assistant
Пробуем зайти в браузере по адресу:
http://127.0.0.1:9392
У меня страница была недоступна.

Выполним последовательно команды:
sudo gvm-stop
sudo gvm-start

Пробуем снова зайти в браузере по адресу:
http://127.0.0.1:9392
После перезапуска служб, веб-интерфейс стал доступен!
Заходим, игнорируя предупреждения безопасности.


Вводим логин и пароль, полученные при установке!



Готово! Теперь можно сканировать ресурсы на уязвимости!
PS: установить openvas на виртуальную машину Kali Linux, установленную на VirtualBox не получалось никакими способами, ни напрямую в системе, ни через докер! То были недоступны хосты, то проблема с правами, то пакеты ставились с ошибками, то не подгружалась конфигурация для проверки OpenVAS. Потратил на эксперименты 2 дня! Уже не знал, что делать. Решил развернуть Kali Linux на виртуальной машине на VMWare 17 Pro. На новой виртуалке у меня возникли только те ошибки, которые я указал в статье. Если у вас проявились другие ошибки – обязательно напишите, попробую помочь!