Как установить Greenbone Vulnerability Management (GVM) (бывший OpenVAS) в Kali Linux
OpenVAS теперь переименована в Greenbone Vulnerability Management (GVM)
Когда создавался проект OpenVAS, он состоял только из движка для сканирования уязвимостей. Вскоре после этого Greenbone Networks получила финансирование для оказания профессиональной поддержки в области сканирования уязвимостей. Гринбоун начал руководить разработкой, добавил несколько программных компонентов и превратил OpenVAS в решение для многосторонней работы с уязвимостями, по-прежнему сохраняющее ценности открытого и бесплатного программного обеспечения.
Через несколько лет стало очевидно, что использование OpenVAS в качестве торговой марки для проекта с открытым исходным кодом и финансирование почти всей разработки проекта не было оценено извне. Поэтому после выпуска платформы OpenVAS 9 она была переименована в Greenbone Vulnerability Management (GVM) и выпущена как Greenbone Source Edition (GSE). Начиная с GVM 10 термин OpenVAS используется только для компонента сканера, как это было в начале проекта.
Пакеты Greenbone Vulnerability Management (GVM): https://github.com/greenbone
Ошибки при установке и запуске GVM, OpenVAS
В процессе установки и запуска у меня возникло довольно много ошибок, которые, тем не менее, удалось решить. Исходя из того предположения, что эти ошибки являются общими для всех (а не только для моей конкретной установки), я описал эти ошибки прямо в процессе установки, в результате чего инструкция стала загромождённой.
Если в процессе установки вы не столкнётесь с описываемыми ошибками, напишите, пожалуйста, об этом в комментариях — если ошибки не появляются у всех, то я вынесу их в самый конец статьи, благодаря чему в целом инструкция станет более ясной.
Как установить OpenVAS (GVM)
Поскольку авторы переименовали openvas в gvm (точнее, разделили на разные пакеты), то теперь основным пакетом является gvm, при его установке в качестве зависимостей также будут получены все другие необходимые пакеты.
Установка делается так:
sudo apt update sudo apt install gvm
Настройка OpenVAS
Начнём с настройки Open Vulnerability Assessment Scanner (OpenVAS), то есть открытого сканера оценки уязвимостей для Greenbone Vulnerability Management (GVM).
Он используется в Greenbone Security Manager и представляет собой полнофункциональный модуль сканирования, который выполняет постоянно обновляемую и расширенную подачу Network Vulnerability Tests (NVTs), то есть тестов сетевых уязвимостей.
Сканеру нужен запущенный сервер Redis для временного хранение собранной информации по сканированным хостам. Настройка сервера Redis делается так (эти команды нужно выполнить один раз):
wget https://raw.githubusercontent.com/greenbone/openvas-scanner/master/config/redis-openvas.conf sudo cp redis-openvas.conf /etc/redis/ sudo chown redis:redis /etc/redis/redis-openvas.conf echo 'db_address = /run/redis-openvas/redis.sock' | sudo tee /etc/openvas/openvas.conf
Запуск сервера Redis (нужно делать после каждой перезагрузки компьютера):
sudo systemctl start redis-server@openvas.service
Или, если хотите, добавьте его в автозагрузку:
sudo systemctl enable redis-server@openvas.service
Служба Greenbone Vulnerability Management (gvmd) действует как клиент OSP для подключения к сканерам и управления ими. openvas не действует как служба OSP — для этого вам понадобится модуль OSPD-OpenVAS. Фактические пользовательские интерфейсы (например, GSA или GVM-Tools) будут взаимодействовать только с gvmd и/или ospd-openvas, но не со сканером. Вы можете запустить openvas, чтобы загрузить плагины в Redis, используя следующую команду:
sudo openvas -u
но ospd-openvas выполнит обновление автоматически.
Обратите внимание: хотя вы можете запускать openvas от имени пользователя без повышенных прав, рекомендуется запускать openvas от имени пользователя root, поскольку для выполнения ряда тестов на уязвимость сети (NVT) требуются привилегии root для выполнения определённых операций, таких как подделка пакетов. Если вы запускаете openvas от имени пользователя без разрешения на выполнение этих операций, результаты сканирования, скорее всего, будут неполными.
Поскольку openvas будет запускаться из процесса ospd-openvas с помощью sudo, в файле sudoers требуется следующая конфигурация:
sudo visudo
добавьте эту строку, чтобы позволить пользователю, запускающему ospd-openvas, запускать openvas с правами root
ПОЛЬЗОВАТЕЛЬ ALL = NOPASSWD: /usr/sbin/openvas
Замените ПОЛЬЗОВАТЕЛЬ на имя вашего пользователя Linux.
Узнать имя пользователя можно командой:
echo $USER
Если что-то не работает, то посмотреть журнал можно командой:
cat /var/log/gvm/openvas.log
Настройка Greenbone Vulnerability Management (GVM)
Greenbone Vulnerability Manager — это центральная служба управления между сканерами безопасности и пользовательскими клиентами.
Он управляет хранением любых конфигураций работы с уязвимостями и результатов сканирования. Доступ к данным, командам управления и рабочим процессам обеспечивается через протокол управления Greenbone Management Protocol (GMP) на основе XML. Управление сканерами, такими как OpenVAS, осуществляется через протокол открытого сканера (OSP).
Скрипт развёртывания (вместо openvas-setup):
sudo gvm-setup
Этот скрипт нужно запустить только один раз.
Работа скрипта завершилась ошибкой:
sent 2,908 bytes received 1,097,808,438 bytes 405,171.19 bytes/sec total size is 1,097,537,923 speedup is 1.00 [*] Updating: Cert Data rsync: [Receiver] failed to connect to feed.community.greenbone.net (45.135.106.142): Connection refused (111) rsync: [Receiver] failed to connect to feed.community.greenbone.net (2a0e:6b40:20:106:20c:29ff:fe67:cbb5): Network is unreachable (101) rsync error: error in socket IO (code 10) at clientserver.c(137) [Receiver=3.2.3] [*] Checking Default scanner Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2450): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied[*] Modifying Default Scanner Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2452): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied [+] Done
Запущенная проверка:
sudo gvm-check-setup
также показала наличие ошибки на четвёртом шаге:
gvm-check-setup 20.8.0 Test completeness and readiness of GVM-20.8.0 Step 1: Checking OpenVAS (Scanner)... OK: OpenVAS Scanner is present in version 20.8.1. OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem. Checking permissions of /var/lib/openvas/gnupg/* OK: _gvm owns all files in /var/lib/openvas/gnupg OK: redis-server is present. OK: scanner (db_address setting) is configured properly using the redis-server socket: /run/redis-openvas/redis.sock OK: redis-server is running and listening on socket: /run/redis-openvas/redis.sock. OK: redis-server configuration is OK and redis-server is running. OK: _gvm owns all files in /var/lib/openvas/plugins OK: NVT collection in /var/lib/openvas/plugins contains 66548 NVTs. Checking that the obsolete redis database has been removed Could not connect to Redis at /var/run/redis-openvas/redis-server.sock: No such file or directory OK: No old Redis DB OK: ospd-OpenVAS is present in version 20.8.1. Step 2: Checking GVMD Manager ... OK: GVM Manager (gvmd) is present in version 20.08.1. Step 3: Checking Certificates ... OK: GVM client certificate is valid and present as /var/lib/gvm/CA/clientcert.pem. OK: Your GVM certificate infrastructure passed validation. Step 4: Checking data ... 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. ERROR: Your GVM-20.8.0 installation is not yet complete! Please follow the instructions marked with FIX above and run this script again.
Для исправления ошибки «ERROR: CERT data are missing. FIX: Run the CERT synchronization script greenbone-feed-sync.» выполните следующую команду:
sudo runuser -u _gvm -- greenbone-feed-sync --type CERT
Повторный запуск проверки показал ошибку на пятом шаге:
Step 5: Checking Postgresql DB and user ... OK: Postgresql version and default port are OK. gvmd | _gvm | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2699): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ERROR: No users found. You need to create at least one user to log in. FIX: create a user by running 'sudo runuser -u _gvm -- gvmd --create-user=<name> --password=<password>' ERROR: Your GVM-20.8.0 installation is not yet complete! Please follow the instructions marked with FIX above and run this script again.
Там сразу несколько ошибок, но ключевой является «ERROR: No users found. You need to create at least one user to log in.», для её исправления выполните команду вида:
sudo runuser -u _gvm -- gvmd --create-user=<ИМЯ> --password=<ПАРОЛЬ>
Например, для создания пользователя с именем mial и паролем 2:
sudo runuser -u _gvm -- gvmd --create-user=mial --password=2
Предыдущая команда завершилась неудачей:
Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2807): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied
Суть ошибки в том, что у команды не хватает прав на запись в файл /var/log/gvm/gvmd.log даже не смотря на то, что предыдущая команда запущена с sudo. Для исправления ошибки выполните следующую команду:
sudo chmod 666 /var/log/gvm/gvmd.log
Затем вновь запустите создание нового пользователя.
И ещё одна ошибка на седьмом шаге:
Step 7: Checking if GVM services are up and running ... OK: ospd-openvas service is active. Starting gvmd service Waiting for gvmd service OK: gvmd service is active. Starting greenbone-security-assistant service Job for greenbone-security-assistant.service failed because a fatal signal was delivered to the control process. See "systemctl status greenbone-security-assistant.service" and "journalctl -xe" for details. Waiting for greenbone-security-assistant service ERROR: greenbone-security-assistant service did not start. Please check journalctl -xe and /var/log/gvm/gsad.log ERROR: Your GVM-20.8.0 installation is not yet complete! Please follow the instructions marked with FIX above and run this script again.
Я не знаю как её решить до конца, но знаю как обойти.
Перейдём к запуску необходимых служб.
Не забывайте, что перед запуском службы вам нужно запустить сервер Redis, то есть перед выполнить команду:
sudo systemctl start redis-server@openvas.service
Запуск службы:
sudo gvm-start
И получаем следующее:
[*] Please wait for the GVM / OpenVAS services to start. [*] [*] You might need to refresh your browser once it opens. [*] [*] Web UI (Greenbone Security Assistant): https://127.0.0.1:9392 Job for greenbone-security-assistant.service failed because a fatal signal was delivered to the control process. See "systemctl status greenbone-security-assistant.service" and "journalctl -xe" for details.
Суть сообщений в том, что всё нормально запустилось, кроме greenbone-security-assistant, то есть gsa, то есть Web UI (Greenbone Security Assistant), ну то есть веб-интерфейса.
Можно посмотреть содержимое журнала:
cat /var/log/gvm/gsad.log
Вывод:
gsad main:MESSAGE:2021-04-15 09h07.55 utc:1650: Starting GSAD version 20.08.1~git gsad main:CRITICAL:2021-04-15 09h07.55 utc:1651: main: start_https_daemon failed!
Не удалось запустить https демон.
У gsad есть опция —http-only которая запускает только HTTP без HTTPS. Воспользуемся ею:
sudo gsad --http-only
Опять будет выведено очередное сообщение, что что-то не так:
Oops, secure memory pool already initialized
Тем не менее, теперь веб-интерфейс доступен по адресу http://127.0.0.1:9392 (но не доступен по https://127.0.0.1:9392!).
Войдите в него используя учётные данные, которые вы придумали при создании нового пользователя.
Остановка службы:
sudo gvm-stop
Прочее:
sudo gvm-cli sudo gvm-feed-update sudo gvm-manage-certs sudo gvm-pyshell gvm-script
В будущем для обновления сигнатур запускайте иногда команду:
sudo runuser -u _gvm -- greenbone-nvt-sync
Если что-то не работает, то посмотреть журнал можно командой:
sudo cat /var/log/gvm/gvmd.log
Заключение
О том, как работать в Greenbone Vulnerability Management (GVM) (бывшем OpenVAS) будет посвящена одна из следующих инструкций.
А вы не забудьте написать — возникали ли у вас при установке описанные ошибки.
Связанные статьи:
- Пароли по умолчанию в Kali Linux (100%)
- Проверка / восстановление / очистка репозиториев (источников приложений) Kali Linux Rolling (50.7%)
- Как установить драйвер AMD Catalyst 15.7 (ATI fglrx) на Kali Linux 2 (50.7%)
- Как установить oclHashcat в Kali Linux 2 (50.7%)
- Как установить AMD APP SDK в Kali Linux 2 (50.7%)
- Руководство по VirtualBox (часть 1): Что такое VirtualBox, как установить и использовать (RANDOM - 50%)
1. При изменении конфига openvas.conf происходит ошибка запуска GVM.
2. В конфиге redis нужно раскомментить строки: unixsocket /var/run/redis/redis-server.sock и unixsocketperm 700
3. Для успешной проверки gsa в файле /usr/bin/gvm-check-setup нужно изменить версию с 21.04 на 21.4
Возник такой момент — все установилось, но как только открываю в браузере GVM сразу начинает жрать всю память, Гигами, без остановки. В чем причина ? Как только оставнавливаю, (gvm stop) то прекращается процесс — это он базы так глючно обновляет?
Устанавливал OpenVas 18 марта 2022г.
Многое из того, что есть в статье, не пригдилось.
1)После установки новейшей версии kali-linux не корректно работала служба postgresql
(Не работала команда psql
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)
Помогло вот это:
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
14 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-14-main.log
$ sudo systemctl stop postgresql@14-main
$ sudo pg_dropcluster —stop 14 main
$ sudo pg_createcluster —start 14 main
Вот ссылка на источник: https://stackoverflow.com/questions/2748607/how-to-thoroughly-purge-and-reinstall-postgresql-on-ubuntu
2)Прохождение команды sudo gvm-setup заняло более одного часа.
Сразу после установки, проверка sudo gvm-check-setup прошла успешно.
После перезагрузки Kali-Linux , команда sudo gvm-check-setup не прошла. Потребовалось
выполнить sudo systemctl start redis-server@openvas.service , о чем и было сказано в статье.
После этого тест стал проходить.
3)Команда sudo runuser -u _gvm — gvmd —create-user=mial —password=2
отработала хорошо. Пользователь создался.
4)Запуск https://127.0.0.1:9392 прошел успешно, правда с предупреждением "not secure" и перечеркнутым https