安装 Greenbone Vulnerability Management (OpenVAS)

在这篇文章中,我们将了解 GVM 的安装 (Greenbone 漏洞管理) 以前称为 OpenVAS (开放漏洞评估系统). 一种可以帮助我们了解系统存在的漏洞的解决方案, 在未来的文档中,我们将将其与 Centreon 集成.

我说了什么, 这个想法是部署一个解决方案来分析和查找我们系统中的任何漏洞, 更新并与列表或 CVE 进行比较 (常见漏洞和暴露). 一次漫长的安装, 我们已经可以使用简单的 Web 管理 (或 CLI) 创建 SCAN 任务,我们将能够访问报告以分析我们面临的可能安全问题. 哦,好吧, 在另一份文件中,我们将看到您的想象, 从 Centreon 集中的能力,以便我们可以控制机器的漏洞, 因此,如果机器不符合任何规定, 我们会知道的.

我们从 Ubuntu Server 机器开始 20.10, 我们从 GVM-20.08 的必要依赖项开始 (OpenVAS 20.08):

sudo apt-get install build-essential cmake gnutls-bin pkg-config glib2.0 libgnutls28-dev libssh-dev libssl-dev redis-server libhiredis-dev libxml2-dev doxygen xsltproc libldap2-dev libgcrypt-dev libpcap-dev libgpgme-dev libradcli-dev graphviz bison libksba-dev libical-dev libpq-dev postgresql postgresql-contrib postgresql-server-dev-all libopenvas-dev heimdal-dev libpopt-dev xmltoman gcc-mingw-w64 nmap libmicrohttpd-dev npm nodejs virtualenv python3-paramiko python3-lxmlpython3-defusedxml python3-pip python3-psutil

Instalamos 纱线:

sudo npm install -g yarn --prefix /usr/

Creamos el perfil para el usuario de GVM:

echo 'export PATH="$路径:/OPT/GVM/BIN:/OPT/GVM/SBIN:/opt/gvm/.local/bin"' | sudo tee -a /etc/profile.d/gvm.sh sudo chmod 0755 /etc/profile.d/gvm.sh 源 /etc/profile.d/gvm.sh

Creamos el fichero /etc/ld.so.conf.d/gvm.conf con el siguiente contenido:

# gmv-libs 位置 /opt/gvm/lib

Creamos el usuario GVM, Corregimos permisos y nos logueamos como él:

sudo mkdir /opt/gvm
sudo adduser gvm --disabled-password --home /opt/gvm/ --no-create-home --gecos ''
sudo usermod -aG redis gvm
sudo chown gvm:gvm /opt/gvm/ sudo su - GVM

Creamos el directorio src y establecemos la variable con el path correcto:

mkdir /opt/gvm/src cd /opt/gvm/src/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH

Descargamos y compilamos las librerías de GVM:

git clone -b gvm-libs-20.08 --单分支 HTTPS://github.com/greenbone/gvm-libs.git cd gvm-libs/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install cd /opt/gvm/src/

Descargamos y compilamos el paquete de samba para OpenVAS:

git clone -b master --单分支 HTTPS://github.com/greenbone/openvas-smb.git cd openvas-smb/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
制作安装 cd /opt/gvm/src/

Descargamos y compilamos OpenVAS Scanner:

git clone -b openvas-20.08 --单分支 HTTPS://github.com/greenbone/openvas.git cd openvas/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install 退出

Configuramos Redis:

sudo su export LC_ALL="C"
ldconfig cp /etc/redis/redis.conf /etc/redis/redis.orig cp /opt/gvm/src/openvas/config/redis-openvas.conf /etc/redis/ chown redis:redis /etc/redis/redis-openvas.conf 回显 "db_address = /run/redis-openvas/redis.sock" > /opt/gvm/etc/openvas/openvas.conf systemctl enable D**********@op*****.serviCE
systemctl start D**********@op*****.serviCE

Establecemos los permisos para GVM. ejecutando 'visudo’ Y añadimos lo siguiente para darle permisos de sudoers:

默认值 env_reset 默认值 mail_badpass 默认值 secure_path="/usr/local/sbin:/usr/local/bin:/USR/SBIN:/USR/BIN:/SBIN:/站:/捕捉/装箱:/OPT/GVM/SBIN"
...
# 允许组 sudo 的成员执行任何命令 %sudo ALL=(都:都) 都

### 允许 gvm 用户运行 ospd-openvas 并以 root 权限启动 OpenVAS gvm ALL = NOPASSWD: /opt/gvm/sbin/openvas gvm ALL = 无passwd: /OPT/GVM/SBIN/GSAD
...

现在我们拥有正确的权限, 我们将更新 NVT 漏洞测试 (网络漏洞测试) 来自 Greenbone 社区源, 请注意,此过程将需要很长时间:

退出 sudo su - gvm greenbone-nvt-sync

我们下载并构建 Greenbone Vulnerability Manager (GVM):

cd /opt/gvm/src/ git clone -b gvmd-20.08 --单分支 HTTPS://github.com/greenbone/gvmd.git cd gvmd/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install 退出

我们设置 PostgreSQL 数据库, 我们创建 User 和 Database:

sudo -u postgres bash export LC_ALL="C"
createuser -DRS gvm createdb -O gvm gvmd

我们修复权限并创建 DB 扩展:

psql gvmd 创建具有超级用户 noinherit 的 DBA 角色;
将 DBA 授予 GVM;
创建扩展 "uuid-ossp";
创建扩展 "pgcrypto";
退出
退出

我们为 GVM 生成证书:

须藤苏 - gvm gvm-manage-certs -a

我们创建 'admin' 帐户’ GVM 的管理, 不要在密码中使用特殊字符:

/opt/gvm/sbin/gvmd --create-user=admin --password=密码

我们提取并记下我们刚刚创建的帐户的 UUID:

gvmd --get-users --verbose

使用 admin 用户的 UUID,我们修改 gvmd 配置:

gvmd --修改设置 78eceaec-3385-11ea-b237-28d24461215b --值 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

更新了 Greenbone 源的同步, 小心,这需要时间:

greenbone-feed-sync --类型 GVMD_DATA greenbone-feed-sync --类型 SCAP greenbone-feed-sync --类型 CERT

我们下载并编译 Greenbone Security Assistant (GSA):

cd src/ git clone -b gsa-20.08 --单分支 HTTPS://github.com/greenbone/gsa.git cd gsa/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install touch /opt/gvm/var/log/gvm/gsad.log

Configuramos el entorno virtual de python:

退出 python3 --version sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.7 python3.7-dev -y

Instalamos el entorno virtual:

须藤苏 - gvm cd /opt/gvm/src 导出 PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH virtualenv --python python3.7 /opt/gvm/bin/ospd-scanner/ source /opt/gvm/bin/ospd-scanner/bin/activate

Descargamos e instalamos ospd:

git clone -b ospd-20.08 --单分支 HTTPS://github.com/greenbone/ospd.git mkdir /opt/gvm/var/run/ospd/ cd ospd/ pip3 install .
cd /opt/gvm/src

Descargamos e instalamos ospd-openvas:

git clone -b ospd-openvas-20.08 --单分支 HTTPS://github.com/greenbone/ospd-openvas.git cd ospd-openvas/ pip3 安装 .

Lo siguiente será hacer que inicie Greenbone Manager con la máquina, mediante un servicio:

退出 sudo su nano /etc/systemd/system/gvmd.service

E introducimos la siguiente configuración:

[单位]
Description=Open Vulnerability Assessment System Manager Daemon Documentation=man:gvmd(8) https://www.greenbone.net Wants=postgresql.service ospd-openvas.service after=postgresql.service ospd-openvas.service

[服务]
类型=分叉 用户=gvm 组=gvm PIDFile=/opt/gvm/var/run/gvmd.pid WorkingDirectory=/opt/gvm ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/opt/gvm/var/run/ospd.sock ExecReload=/bin/kill -HUP $MAINPID KillMode=mixed Restart=on-failure RestartSec=2min KillMode=process KillSignal=SIGINT GuessMainPID=no PrivateTmp=true

[安装]
WantedBy=多用户目标

Creamos ahora el servicio para iniciar Greenbone Security Assistant (GSA) 跟:

nano /etc/systemd/system/gsad.service

Y pegamos esta configuración al fichero:

[单位]
描述=Greenbone Security Assistant (GSAD)
文档=man:GSAD(8) https://www.greenbone.net after=network.target wants=gvmd.service

[服务]
Type=forking PIDFile=/opt/gvm/var/run/gsad.pid WorkingDirectory=/opt/gvm ExecStart=/opt/gvm/sbin/gsad --drop-privileges=gvm Restart=on-failure RestartSec=2min KillMode=process KillSignal=SIGINT GuessMainPID=no PrivateTmp=true

[安装]
WantedBy=多用户目标

Creamos en esta ocasión el servicio que levantará ospd-openvas con:

nano /etc/systemd/system/ospd-openvas.service

为什么 mirmo, pegamos la siguiente configuración:

[单位]
Description=运行 ospd-openvas 守护进程的工作 Documentation=man:gvm After=network.target D**********@op*****.serviCE
想要=D**********@op*****.serviCE

[服务]
环境=PATH=/opt/gvm/bin/ospd-scanner/bin:/OPT/GVM/BIN:/OPT/GVM/SBIN:/opt/gvm/.local/bin:/usr/local/sbin:/usr/local/bin:/USR/SBIN:/USR/BIN:/SBIN:/bin type=forking User=gvm Group=gvm WorkingDirectory=/opt/gvm PIDFile=/opt/gvm/var/run/ospd-openvas.pid ExecStart=/opt/gvm/bin/ospd-scanner/bin/python /opt/gvm/bin/ospd-scanner/bin/ospd-openvas --pid-file /opt/gvm/var/run/ospd-openvas.pid --unix-socket=/opt/gvm/var/run/ospd.sock --log-file /opt/gvm/var/log/gvm/ospd-scanner.log --lock-file-dir /opt/gvm/var/run/ospd/ Restart=on-failure RestartSec=2min KillMode=process KillSignal=SIGINT GuessMainPID=no PrivateTmp=true

[安装]
WantedBy=多用户目标

Una vez generados los 3 Servicios para levantar los demonios, 雷卡加莫斯, Habilitamos los servicios para que arranquen con el sistema y los levantamos:

systemctl daemon-reload systemctl enable gvmd systemctl enable gsad systemctl enable ospd-openvas systemctl start gvmd systemctl start gsad systemctl start ospd-openvas

我们验证服务是否正常运行并且我们做得很好:

Systemctl status gvmd systemctl status gsad systemctl status ospd-openvas

我们将能够使用浏览器打开我们的 Greenbone Security Assistant 的地址: https://与之前生成的用户DIRECCIÓN_IP. 我们将在 “管理” > “Feed 状态”, 将 “正在进行更新…”, 这个过程需要相当长的时间, 我们必须等待它完成更新.

不错, 使用 Tasks 进行扫描之前, 我们需要修改默认的 OpenVAS 扫描仪, 我们以 gvm 用户身份从 shell 登录:

须藤苏 - GVM

我们从 OpenVAS 默认扫描中列出并复制当前 UUID:

cd /opt/gvm/src/ gvmd --get-scanners gvmd --modify-scanner=08b69003-5fc2-4037-a479-93b440211c73 --scanner-host=/opt/gvm/var/run/ospd.sock

好的,最后, 如果我们希望按计划更新它,我们将创建以下文件:

nano /opt/gvm/bin/openvas-update

我们放了以下内容:

/opt / gvm / bin/ greenbone-nvt-sync / opt / gvm / sbin/ greenbone-feed-sync --类型 GVMD_DATA /opt / gvm / sbin/greenbone-feed-sync --类型SCAP /opt / gvm / sbin/ greenbone-feed-sync --类型CERT

我们使其可执行:

Chmod A+X /opt/gvm/bin/openvas-update

我们把它放在 cron 上:

crontab -e

例如,我们每天早上 0 点就让它编程:

0 0 * * * /opt/gvm/bin/openvas-update

我们希望您感兴趣, 安装完成后,剩下的就被吸走了, 定义检查的目标或目标, 创建计划任务以执行漏洞扫描… 歌词大意: 我说的, 在以后的文章中,我们将了解如何将其与 Centreon 集成.

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!