このガイドでは、Ubuntu20.04にGVM21.4をインストールする方法を学習します。 Greenbone V脆弱性 Management(GVM)以前はOpenVASと呼ばれていた、は、システムとアプリケーションのセキュリティの抜け穴を検出するための一連のネットワーク脆弱性テスト(NVT)を提供するネットワークセキュリティスキャナーです。 この記事の執筆時点では、 GVM21.4は現在の安定したリリースです と 最新のリリースです。
Ubuntu20.04にGVM21.4をインストールします
前提条件
このデモでは、ソースコードからUbuntu20.04にGVM21.4をインストールしてセットアップします。 そのため、以下は私が個人的に推奨するシステム要件です。
- 少なくとも4GBのRAM
- 少なくとも4つのvCPU
- 8 GBを超えるディスク容量(このデモでは16 GBを使用しました)
ただし、これらの要件はユースケースによって異なります。 必ず「十分」を提供してください。
システムアップデートを実行する
まず、システムパッケージキャッシュを更新し、システムパッケージをアップグレードします。
apt update
UbuntuでGVMユーザーを作成する
このデモでは、非特権システムユーザーとしてGVM21.4を実行します。 したがって、作成します gvm
システムユーザーアカウント。
useradd -r -m -d /opt/gvm -c "GVM User" -s /bin/bash gvm
必要なビルドツールをインストールする
Ubuntu20.04でGVM21.4を正常にビルドするには、いくつかの必要な依存関係とビルドツールをインストールする必要があります。
apt install gcc g++ make bison flex libksba-dev curl redis libpcap-dev cmake git pkg-config libglib2.0-dev libgpgme-dev nmap libgnutls28-dev uuid-dev libssh-gcrypt-dev libldap2-dev gnutls-bin libmicrohttpd-dev libhiredis-dev zlib1g-dev libxml2-dev libradcli-dev clang-format libldap2-dev doxygen libnet1-dev gcc-mingw-w64 xml-twig-tools libical-dev perl-base heimdal-dev libpopt-dev libsnmp-dev python3-setuptools python3-paramiko python3-lxml python3-defusedxml python3-dev gettext python3-polib xmltoman python3-pip texlive-fonts-recommended texlive-latex-extra --no-install-recommends xsltproc libunistring-dev vim -y
Ubuntu20.04にYarnをインストールします
次に、YarnJavaScriptパッケージマネージャーをインストールします
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/yarn.gpg
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list
apt update
apt install yarn -y
Ubuntu20.04にPostgreSQLをインストールします
GVM 21.4は、バックエンドデータベースとしてPostgreSQLを使用します。
したがって、以下のコマンドを実行してPostgreSQLをUbuntu20.04にインストールします。
apt install postgresql postgresql-contrib postgresql-server-dev-all
PostgreSQLを起動し、システム起動時に実行できるようにします。
systemctl enable --now postgresql
PostgreSQLユーザーとデータベースを作成する
インストールが完了したら、Greenbone Vulnerability Management Daemon(gvmd)用のPostgreSQLユーザーとデータベースを作成します。 データベースとユーザーはPostgreSQLユーザーとして作成する必要があることに注意してください。 postgres。
sudo -Hiu postgres createuser gvm
sudo -Hiu postgres createdb -O gvm gvmd
PostgreSQLGVMユーザーにDBAロールを付与する
sudo -Hiu postgres psql gvmd -c 'create role dba with superuser noinherit;'
sudo -Hiu postgres psql gvmd -c 'grant dba to gvm;'
sudo -Hiu postgres psql gvmd -c 'create extension "uuid-ossp";'
sudo -Hiu postgres psql gvmd -c 'create extension "pgcrypto";'
それが完了したら、PostgreSQLを再起動します。
systemctl restart postgresql
ソースコードからのGVM21.4の構築
Ubuntu20.04にGVM21.4をインストールしてセットアップするために必要なさまざまなツールがあります。 これらには以下が含まれます。
- GVMライブラリ
- OpenVASスキャナー
- OSPd
- ospd-openvas
- Greenbone Vulnerability Manager
- Greenboneセキュリティアシスタント
- Python-GVM
- GVM-ツール
- OpenVAS SMB
すべてのコンポーネントには README.md と INSTALL.md ビルドとインストールの方法を説明するファイル。
非特権ユーザーgvmとしてGVMを実行しているため、すべてのGVM構成ファイルとライブラリを次の場所にインストールします。 /opt/gvm
((/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin
)。
のPATH環境変数を更新します /etc/environment
、次のようにGVMバイナリパスを含める。
sed -i.bak '/^PATH/s|"$|:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin"|' /etc/environment
source /etc/environment
GVMライブラリパスをに追加します /etc/ld.so.conf.d
。
echo "/opt/gvm/lib" > /etc/ld.so.conf.d/gvm.conf
Ubuntu20.04でGVM21.4をビルドしてインストールします
先に進む前に、gvmユーザーがsudo権限でインストールコマンドを実行できるようにします。
echo "gvm ALL = NOPASSWD: /usr/bin/make install" >> /etc/sudoers.d/gvm
GVMユーザーgvmに切り替え、GVMソースファイルを保存するための一時ディレクトリを作成します。
sudo -Hiu gvm mkdir gvm-source
GVM21.4ソースファイルをダウンロードする
GVMgithubブランチファイルを上記で作成したディレクトリに複製します。
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/gvm-libs.git gvm-source/gvm-libs
sudo -Hiu gvm git clone -b main --single-branch https://github.com/greenbone/openvas-smb.git gvm-source/openvas-smb
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/openvas.git gvm-source/openvas
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/ospd.git gvm-source/ospd
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/ospd-openvas.git gvm-source/ospd-openvas
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/gvmd.git gvm-source/gvmd
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/gsa.git gvm-source/gsa
sudo -Hiu gvm git clone -b stable --single-branch https://github.com/greenbone/gsad.git gvm-source/gsad
これでソースファイルが配置されました。
ls -1 /opt/gvm/gvm-source
ls -1
gsa gsad gvm-libs gvmd openvas openvas-smb ospd ospd-openvas
すべてのGVM21.4ファイルとライブラリを非標準の場所にインストールすることに注意してください。 /opt/gvm
。
GVMユーザーに切り替えます。
su - gvm
そのため、を設定する必要があります PKG_CONFIG_PATH
設定する前に、環境変数をpkg-configファイルの場所に変更します。
echo "export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH" >> ~/.bashrc
source ~/.bashrc
パスを必ず置き換えてください。 /opt/gvm
、 によると。
GVM11ライブラリの構築とインストール
ソースディレクトリ内から、 /opt/gvm/gvm-source
、この設定では、GVMライブラリディレクトリに移動します。
cd ~/gvm-source/gvm-libs
ビルドディレクトリを作成し、それに変更します。
mkdir build && cd build
ビルドを構成します。
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gvm
次に、GVMライブラリをコンパイルしてインストールします
make && sudo make install
OpenVASスキャナーとOpenVASSMBを構築してインストールする
Open Vulnerability Assessment Scanner(OpenVAS)は、ネットワーク脆弱性テスト(NVT)の継続的に更新および拡張されたフィードを実行するフル機能のスキャンエンジンです。
OpenVAS SMBは、OpenVASスキャナーがWindows ManagementInstrumentationAPIおよび winexe
そのシステムでプロセスをリモートで実行するためのバイナリ。
openvas-smbをビルドしてインストールします。
cd ../../openvas-smb/
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gvm
make && sudo make install
OpenVASスキャナーを構築してインストールします。
cd ../../openvas
sed -i.bak 's/-Werror/-Wno-error/' misc/CMakeLists.txt
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gvm
make
sudo make install
makeコマンドの実行中に以下のエラーが発生した場合。
CMake Error at /opt/gvm/gvm-source/openvas/cmake/GetGit.cmake:33 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
/opt/gvm/gvm-source/openvas/cmake/GetGit.cmake:39 (Git_GET_REVISION)
gvm userとして終了し、特権ユーザーとして以下のコマンドを実行します。
sudo git config --global --add safe.directory /opt/gvm/gvm-source/openvas
次に、コンパイルおよびインストールコマンドを再実行します。
OpenVASスキャナーの設定
ホストスキャン情報はRedisサーバーに一時的に保存されます。 Redisサーバーのデフォルト構成は次のとおりです。 /etc/redis/redis.conf
。
特権ユーザーに戻って続行します。
exit
以下のコマンドを実行して、インストールされている共有ライブラリへのキャッシュを作成します。
ldconfig
次に、OpenVASスキャナーRedis構成ファイルをコピーします。 redis-openvas.conf
、同じRedis構成ディレクトリに;
cp /opt/gvm/gvm-source/openvas/config/redis-openvas.conf /etc/redis/
構成の所有権を更新します。
chown redis:redis /etc/redis/redis-openvas.conf
上のRedisunixソケットへのパスを更新します /etc/openvas/openvas.conf
を使用して db_address
次のようなパラメータ。
echo "db_address = /run/redis-openvas/redis.sock" > /etc/openvas/openvas.conf
Unixソケットパスはで定義されていることに注意してください /etc/redis/redis-openvas.conf
ファイル。
chown gvm:gvm /etc/openvas/openvas.conf
gvmユーザーをredisグループに追加します。
usermod -aG redis gvm
次の調整を行うことで、Redisサーバー自体を最適化してパフォーマンスを向上させることもできます。
クライアント接続の速度低下の問題を回避するために、somaxconnの値を増やします。
echo "net.core.somaxconn = 1024" >> /etc/sysctl.conf
メモリ不足の状態では、Redisバックグラウンド保存が失敗する場合があります。 これを回避するには、メモリのオーバーコミットを有効にします(男5proc)。
echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
上で作成したsysctl変数をリロードします。
sysctl -p
Redisでの遅延の発生やメモリ使用量の問題を回避するには、LinuxカーネルによるTransparent Huge Pages(THP)のサポートを無効にします。 これを簡単に回避するには、この目的のためにsystemdサービスユニットを作成します。
cat > /etc/systemd/system/disable_thp.service << 'EOL' [Unit] Description=Disable Kernel Support for Transparent Huge Pages (THP) [Service] Type=simple ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag" [Install] WantedBy=multi-user.target EOL
systemd構成をリロードします。
systemctl daemon-reload
このサービスを開始して有効にし、システムの起動時に実行できるようにします。
systemctl enable --now disable_thp
OpenVASRedisサーバーを再起動します
systemctl enable --now [email protected]
多くのネットワーク脆弱性テスト(NVT)では、特定の操作を実行するためにroot権限が必要です。 以来 openvas
から起動されます ospd-openvas
プロセスは、sudoを介して、以下の行をsudoersファイルに追加して、 gvm
このデモで使用するユーザーは、パスワードなしのsudoを使用して、昇格された権限でopenvasを実行できます。
echo "gvm ALL = NOPASSWD: /opt/gvm/sbin/openvas" >> /etc/sudoers.d/gvm
また、有効にする gvm
GSAWebアプリケーションデーモンを実行するユーザー。 gsad
、パスワードなしのsudoを使用します。
また、更新します secure_path
GVMを含める /sbin
パス、 /opt/gvm/sbin
。
sed -i '/secure_path="/s|"$|:/opt/gvm/sbin"|' /etc/sudoers
NVTを更新する
Greenboneセキュリティフィード/コミュニティフィードからのネットワーク脆弱性テストフィードを更新します。 greenbone-nvt-sync
指図。
ザ greenbone-nvt-sync
指図 してはいけない 特権ユーザーrootとして実行されるため、上記で作成したGVMユーザーに戻り、NVTを更新します。
GVMユーザーが書き込みできることを確認します /var/lib/openvas/
。
chown -R gvm: /var/lib/openvas/
次に、openvasユーザーとしてNVTを更新します。
sudo -Hiu gvm greenbone-nvt-sync
更新が完了したら、VTファイルからの同じVT情報でRedisサーバーを更新する必要があります。
sudo openvas --update-vt-info
GreenboneVulnerabilityManagerを構築してインストールする
Greenbone Vulnerability Managerは、セキュリティスキャナーとユーザークライアント間の中央管理サービスです。
GVMをビルドしてインストールするには;
su - gvm
cd gvm-source/gvmd
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
sed -i.bak 's/-Werror/-Wno-error/' CMakeLists.txt
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gvm
make
sudo make install
同様に、エラーが発生した場合。
-- Found Git: /usr/bin/git (found version "2.25.1")
fatal: unsafe repository ('/opt/gvm/gvm-source/gvmd' is owned by someone else)
To add an exception for this directory, call:
GVMユーザーとして終了し、特権ユーザーとして以下のコマンドを実行します。
sudo git config --global --add safe.directory /opt/gvm/gvm-source/gvmd
GVMユーザーに戻り、インストールを再実行します。
GreenboneSecurityAssistantを構築してインストールする
Greenbone Security Assistantは、GreenboneSecurityManager用に開発されたWebインターフェイスです。
cd ../../gsa
rm -rf build
yarn
yarn build
本番ビルドのすべてのコンテンツは、すべてのWebサーバーに同梱できます。 経由でGSAを提供するため gsadWebサーバー、ファイルをにコピーする必要があります /usr/local/share/gvm/gsad/web/
。
Greenbone SecurityAssistantHTTPサーバーを構築してインストールします
Greenbone Security Assistant HTTPサーバーは、GreenboneSecurityManagerアプライアンスとの通信用に開発されたサーバーです。 GreenboneVulnerabilityManagerデーモンに接続します gvmd 脆弱性管理のためのフル機能のユーザーインターフェイスを提供します。
cd ../gsad
mkdir build && cd build
cmake ..
make
sudo make install
次に、Webインターフェイスの設定をコピーします。
exit
[[ -d /usr/local/share/gvm/gsad/web ]] || mkdir -p /usr/local/share/gvm/gsad/web
chown -R gvm: /usr/local/share/gvm/gsad/web
cp -rp /opt/gvm/gvm-source/gsa/build/* /usr/local/share/gvm/gsad/web
フィードを最新の状態に保つ
gvmd Data
、 SCAP
と CERT
フィードを最新の状態に保つには、 greenbone-feed-sync
定期的にスクリプトを作成します(たとえば、cronエントリを介して):
chown -R gvm: /var/lib/gvm/
sudo -Hiu gvm greenbone-feed-sync --type GVMD_DATA
sudo -Hiu gvm greenbone-feed-sync --type SCAP
sudo -Hiu gvm greenbone-feed-sync --type CERT
注意: CERT
フィード同期は、によって提供されるデータに依存します SCAP
フィードし、後で同期した後に呼び出す必要があります。
フィードサーバーから更新をプルするために、希望する頻度でnvts、cert、およびscapデータ更新スクリプトを実行するようにcronジョブを設定することを検討してください。
次に、以下のコマンドを実行して証明書gvmdを生成します。 サーバー証明書は認証に使用され、クライアント証明書は主に承認に使用されます。 詳細 man gvm-manage-certs
。
/opt/gvm/bin/gvm-manage-certs -a
サンプルコマンド出力;
Generated private key in /tmp/tmp.kinSHFrwd1/cakey.pem. Generated self signed certificate in /tmp/tmp.kinSHFrwd1/cacert.pem. Installed private key to /var/lib/gvm/private/CA/cakey.pem. Installed certificate to /var/lib/gvm/CA/cacert.pem. Generated private key in /tmp/tmp.kinSHFrwd1/serverkey.pem. Generated certificate request in /tmp/tmp.kinSHFrwd1/serverrequest.pem. Signed certificate request in /tmp/tmp.kinSHFrwd1/serverrequest.pem with CA certificate in /var/lib/gvm/CA/cacert.pem to generate certificate in /tmp/tmp.kinSHFrwd1/servercert.pem Installed private key to /var/lib/gvm/private/CA/serverkey.pem. Installed certificate to /var/lib/gvm/CA/servercert.pem. Generated private key in /tmp/tmp.kinSHFrwd1/clientkey.pem. Generated certificate request in /tmp/tmp.kinSHFrwd1/clientrequest.pem. Signed certificate request in /tmp/tmp.kinSHFrwd1/clientrequest.pem with CA certificate in /var/lib/gvm/CA/cacert.pem to generate certificate in /tmp/tmp.kinSHFrwd1/clientcert.pem Installed private key to /var/lib/gvm/private/CA/clientkey.pem. Installed certificate to /var/lib/gvm/CA/clientcert.pem. Removing temporary directory /tmp/tmp.kinSHFrwd1.
証明書ファイルの適切な所有権を設定します。
chown -R gvm: /var/lib/gvm/{CA,private}
OSPdとOSPdのビルドとインストール-OpenVAS
Open Scanner Protocol(OSP)は、さまざまなセキュリティスキャナー用の統合インターフェイスを作成し、それらの制御フローとスキャン結果を中央のGreenboneVulnerabilityManagerサービスで一貫して利用できるようにします。
su - gvm
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
cd /opt/gvm/gvm-source/ospd
python3 -m pip install .
cd /opt/gvm/gvm-source/ospd-openvas
python3 -m pip install .
OpenVASスキャナー、GSAおよびGVMサービスの実行
OpenVASスキャナー、GSA(WebUIサービス)、GVMデーモンを管理するために、以下のようにそれぞれのsystemdサービスユニットファイルを作成します。
としてログアウト gvm
userを実行し、特権ユーザーとして以下のコマンドを実行します。
exit
/ etc/environmentをソースしてPATHを更新します。
source /etc/environment
OpenVASsystemdサービスを作成する
cat > /etc/systemd/system/ospd-openvas.service << 'EOL' [Unit] Description=OSPd Wrapper for the OpenVAS Scanner (ospd-openvas) After=network.target networking.service [email protected] postgresql.service [email protected] ConditionKernelCommandLine=!recovery [Service] ExecStartPre=-rm -rf /run/gvm/ospd-openvas.pid /run/gvm/ospd-openvas.sock Type=simple User=gvm Group=gvm RuntimeDirectory=gvm Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin ExecStart=/opt/gvm/.local/bin/ospd-openvas --pid-file /run/gvm/ospd-openvas.pid --log-file /var/log/gvm/ospd-openvas.log --lock-file-dir /run/gvm -u /run/gvm/ospd-openvas.sock RemainAfterExit=yes [Install] WantedBy=multi-user.target EOL
ログディレクトリの適切な所有権を設定し、 /var/log/gvm
ランタイムデータディレクトリ、 /run/gvm
;
chown -R gvm: /var/log/gvm /run/gvm/
systemdサービスユニット構成をリロードします。
systemctl daemon-reload
systemctl start ospd-openvas
サービスのステータスを確認します。
systemctl status ospd-openvas
● ospd-openvas.service - OSPd Wrapper for the OpenVAS Scanner (ospd-openvas) Loaded: loaded (/etc/systemd/system/ospd-openvas.service; disabled; vendor preset: enabled) Active: active (exited) since Thu 2022-07-07 04:50:27 UTC; 6s ago Process: 36289 ExecStartPre=/usr/bin/rm -rf /run/gvm/ospd-openvas.pid /run/gvm/ospd-openvas.sock (code=exited, status=0/SUCCESS) Process: 36290 ExecStart=/opt/gvm/.local/bin/ospd-openvas --pid-file /run/gvm/ospd-openvas.pid --log-file /var/log/gvm/ospd-openvas.log --lock-file-dir /run/gvm -u /ru> Main PID: 36290 (code=exited, status=0/SUCCESS) Tasks: 4 (limit: 4618) Memory: 25.2M CGroup: /system.slice/ospd-openvas.service ├─36305 /usr/bin/python3 /opt/gvm/.local/bin/ospd-openvas --pid-file /run/gvm/ospd-openvas.pid --log-file /var/log/gvm/ospd-openvas.log --lock-file-dir /run/g> └─36307 /usr/bin/python3 /opt/gvm/.local/bin/ospd-openvas --pid-file /run/gvm/ospd-openvas.pid --log-file /var/log/gvm/ospd-openvas.log --lock-file-dir /run/g> Jul 07 04:50:27 ubuntu20 systemd[1]: Starting OSPd Wrapper for the OpenVAS Scanner (ospd-openvas)... Jul 07 04:50:27 ubuntu20 systemd[1]: Started OSPd Wrapper for the OpenVAS Scanner (ospd-openvas).
OpenVASスキャナーがシステム起動時に実行できるようにします。
systemctl enable ospd-openvas
ログオンを確認してください。
tail -f /var/log/gvm/ospd-openvas.log
GVMサービス用のSystemdサービスユニットの作成
実行すると、インストーラーはGVMデーモンサービスユニットを作成します。 /lib/systemd/system/gvmd.service
。
このサービスユニットファイルを変更してみましょう。
cp /lib/systemd/system/gvmd.service{,.bak}
cat > /lib/systemd/system/gvmd.service << 'EOL' [Unit] Description=Greenbone Vulnerability Manager daemon (gvmd) After=network.target networking.service postgresql.service ospd-openvas.service Wants=postgresql.service ospd-openvas.service Documentation=man:gvmd(8) ConditionKernelCommandLine=!recovery [Service] Type=forking User=gvm Group=gvm RuntimeDirectory=gvmd Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/run/gvm/ospd-openvas.sock Restart=always TimeoutStopSec=10 [Install] WantedBy=multi-user.target EOL
システムユニットの設定をリロードし、サービスを開始します。
systemctl daemon-reload
systemctl enable --now gvmd
ステータスの確認;
systemctl status gvmd
● gvmd.service - Greenbone Vulnerability Manager daemon (gvmd) Loaded: loaded (/lib/systemd/system/gvmd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-07-07 04:55:44 UTC; 4s ago Docs: man:gvmd(8) Process: 37170 ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/run/gvm/ospd-openvas.sock (code=exited, status=0/SUCCESS) Main PID: 37181 (gvmd) Tasks: 1 (limit: 4618) Memory: 3.2M CGroup: /system.slice/gvmd.service └─37181 gvmd: Initializing Jul 07 04:55:44 ubuntu20 systemd[1]: Starting Greenbone Vulnerability Manager daemon (gvmd)... Jul 07 04:55:44 ubuntu20 systemd[1]: Started Greenbone Vulnerability Manager daemon (gvmd).
PostgreSQLを再起動することもできます。
systemctl restart postgresql
GVMDログを確認してください。 あなたはそれを見ることができるはずです
tail -f /var/log/gvm/gvmd.log
フィードが更新されていることを確認する必要があります…
md manage:WARNING:2022-07-07 04h56.34 utc:37220: sqlv: sql_exec_internal failed md manage:WARNING:2022-07-07 04h56.36 utc:37181: sql_exec_internal: PQexec failed: FATAL: terminating connection due to administrator command server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. (7) md manage:WARNING:2022-07-07 04h56.36 utc:37181: sql_exec_internal: SQL: BEGIN; md manage:WARNING:2022-07-07 04h56.36 utc:37181: sqlv: sql_exec_internal failed md main:MESSAGE:2022-07-07 04h56.55 utc:37302: Greenbone Vulnerability Manager version 21.4.6~dev1~git-500ef0c5-stable (GIT revision 500ef0c5-stable) (DB revision 242) md manage:MESSAGE:2022-07-07 04h56.56 utc:37303: No SCAP database found libgvm util:MESSAGE:2022-07-07 04h57.01 utc:37303: Setting GnuPG dir to '/var/lib/gvm/gvmd/gnupg' libgvm util:MESSAGE:2022-07-07 04h57.01 utc:37303: Using OpenPGP engine version '2.2.19' md manage: INFO:2022-07-07 04h57.01 UTC:37328: OSP service has different VT status (version 202207061012) from database (version (null), 0 VTs). Starting update ... md manage: INFO:2022-07-07 04h57.01 UTC:37329: sync_cert: Updating data from feed md manage: INFO:2022-07-07 04h57.01 UTC:37329: update_dfn_xml: dfn-cert-2011.xml md manage: INFO:2022-07-07 04h57.01 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2011.xml md manage:WARNING:2022-07-07 04h57.01 UTC:37327: update_scap: No SCAP db present, rebuilding SCAP db from scratch md manage: INFO:2022-07-07 04h57.03 UTC:37329: update_dfn_xml: dfn-cert-2012.xml md manage: INFO:2022-07-07 04h57.03 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2012.xml md manage: INFO:2022-07-07 04h57.05 UTC:37329: update_dfn_xml: dfn-cert-2008.xml md manage: INFO:2022-07-07 04h57.05 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2008.xml md manage: INFO:2022-07-07 04h57.05 UTC:37329: update_dfn_xml: dfn-cert-2014.xml md manage: INFO:2022-07-07 04h57.05 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2014.xml md manage: INFO:2022-07-07 04h57.07 UTC:37329: update_dfn_xml: dfn-cert-2013.xml md manage: INFO:2022-07-07 04h57.07 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2013.xml md manage: INFO:2022-07-07 04h57.09 UTC:37329: update_dfn_xml: dfn-cert-2015.xml md manage: INFO:2022-07-07 04h57.09 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2015.xml md manage: INFO:2022-07-07 04h57.11 UTC:37327: update_scap: Updating data from feed md manage: INFO:2022-07-07 04h57.11 UTC:37327: Updating CPEs md manage: INFO:2022-07-07 04h57.11 UTC:37329: update_dfn_xml: dfn-cert-2009.xml md manage: INFO:2022-07-07 04h57.11 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2009.xml md manage: INFO:2022-07-07 04h57.15 UTC:37329: update_dfn_xml: dfn-cert-2018.xml md manage: INFO:2022-07-07 04h57.15 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2018.xml md manage: INFO:2022-07-07 04h57.26 UTC:37329: update_dfn_xml: dfn-cert-2019.xml md manage: INFO:2022-07-07 04h57.26 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2019.xml md manage: INFO:2022-07-07 04h57.31 UTC:37329: update_dfn_xml: dfn-cert-2022.xml md manage: INFO:2022-07-07 04h57.31 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2022.xml md manage: INFO:2022-07-07 04h57.35 UTC:37329: update_dfn_xml: dfn-cert-2010.xml md manage: INFO:2022-07-07 04h57.35 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2010.xml md manage: INFO:2022-07-07 04h57.36 UTC:37329: update_dfn_xml: dfn-cert-2016.xml md manage: INFO:2022-07-07 04h57.36 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2016.xml md manage: INFO:2022-07-07 04h57.39 UTC:37329: update_dfn_xml: dfn-cert-2017.xml md manage: INFO:2022-07-07 04h57.39 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2017.xml md manage: INFO:2022-07-07 04h57.42 UTC:37329: update_dfn_xml: dfn-cert-2021.xml md manage: INFO:2022-07-07 04h57.42 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2021.xml md manage: INFO:2022-07-07 04h57.46 UTC:37329: update_dfn_xml: dfn-cert-2020.xml md manage: INFO:2022-07-07 04h57.46 UTC:37329: Updating /var/lib/gvm/cert-data/dfn-cert-2020.xml md manage: INFO:2022-07-07 04h57.50 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K14.xml md manage: INFO:2022-07-07 04h57.53 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K15.xml md manage: INFO:2022-07-07 04h57.57 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K22.xml md manage: INFO:2022-07-07 04h58.00 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K19.xml md manage: INFO:2022-07-07 04h58.01 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K13.xml md manage: INFO:2022-07-07 04h58.02 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K20.xml md manage: INFO:2022-07-07 04h58.04 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K17.xml md manage: INFO:2022-07-07 04h58.09 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K16.xml md manage: INFO:2022-07-07 04h58.11 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K18.xml md manage: INFO:2022-07-07 04h58.13 UTC:37329: Updating /var/lib/gvm/cert-data/CB-K21.xml md manage: INFO:2022-07-07 04h58.15 UTC:37329: SCAP database does not exist (yet), skipping CERT severity score update md manage: INFO:2022-07-07 04h58.15 UTC:37329: sync_cert: Updating CERT info succeeded. md manage: INFO:2022-07-07 05h02.59 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2020.xml md manage: INFO:2022-07-07 05h06.32 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2022.xml ...
GSAサービス用のSystemdサービスユニットの作成
実行すると、インストーラーはGSAデーモンサービスユニットを作成します。 /lib/systemd/system/gsad.service
。
このサービスユニットファイルを変更してみましょう。
cp /lib/systemd/system/gsad.service{,.bak}
cat > /lib/systemd/system/gsad.service << 'EOL' [Unit] Description=Greenbone Security Assistant daemon (gsad) Documentation=man:gsad(8) https://www.greenbone.net After=network.target gvmd.service Wants=gvmd.service [Service] Type=simple User=gvm Group=gvm RuntimeDirectory=gsad PIDFile=/run/gsad/gsad.pid Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin ExecStart=/usr/bin/sudo /usr/local/sbin/gsad -k /var/lib/gvm/private/CA/clientkey.pem -c /var/lib/gvm/CA/clientcert.pem RemainAfterExit=yes [Install] WantedBy=multi-user.target EOL
オプション、 -k /var/lib/gvm/private/CA/clientkey.pem -c /var/lib/gvm/CA/clientcert.pem
は、を実行して生成された証明書パスに従います。 gvm-manage-certs
上記のコマンド。
GVMユーザーがsudo権限でgsadを実行できるようにします。
echo "gvm ALL = NOPASSWD: $(which gsad)" >> /etc/sudoers.d/gvm
システムユニットの設定をリロードし、サービスを開始します。
systemctl daemon-reload
systemctl enable --now gsad
ステータスの確認;
systemctl status gsad
● gsad.service - Greenbone Security Assistant daemon (gsad) Loaded: loaded (/lib/systemd/system/gsad.service; enabled; vendor preset: enabled) Active: active (exited) since Thu 2022-07-07 18:56:01 UTC; 33s ago Docs: man:gsad(8) https://www.greenbone.net Process: 36900 ExecStart=/usr/bin/sudo /usr/local/sbin/gsad -k /var/lib/gvm/private/CA/clientkey.pem -c /var/lib/gvm/CA/clientcert.pem (code=exited, status=0/SUCCESS) Main PID: 36900 (code=exited, status=0/SUCCESS) Tasks: 4 (limit: 2281) Memory: 3.4M CGroup: /system.slice/gsad.service ├─36915 /usr/local/sbin/gsad -k /var/lib/gvm/private/CA/clientkey.pem -c /var/lib/gvm/CA/clientcert.pem └─36916 /usr/local/sbin/gsad -k /var/lib/gvm/private/CA/clientkey.pem -c /var/lib/gvm/CA/clientcert.pem Jul 07 18:56:01 ubuntu20 systemd[1]: Started Greenbone Security Assistant daemon (gsad). Jul 07 18:56:01 ubuntu20 sudo[36900]: gvm : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/local/sbin/gsad -k /var/lib/gvm/private/CA/clientkey.pem -c /var/lib/gvm/CA> Jul 07 18:56:01 ubuntu20 sudo[36900]: pam_unix(sudo:session): session opened for user root by (uid=0) Jul 07 18:56:04 ubuntu20 sudo[36912]: Oops, secure memory pool already initialized Jul 07 18:56:04 ubuntu20 sudo[36900]: pam_unix(sudo:session): session closed for user root
ログを確認してください。
tail -f /var/log/gvm/gsad.log
GVMスキャナーを作成する
スキャナーを起動し、非標準のスキャナーホストパスを使用するように設定してから(/run/gvm/ospd-openvas.sock)、スキャナーを作成して登録する必要があります。
sudo -Hiu gvm gvmd --create-scanner="Kifarunix-demo OpenVAS Scanner"
--scanner-type="OpenVAS" --scanner-host=/run/gvm/ospd-openvas.sock
コマンド出力;
Scanner created.
次に、スキャナーを確認する必要があります。 このためには、最初にスキャナー識別子を取得する必要があります。
sudo -Hiu gvm gvmd --get-scanners
08b69003-5fc2-4037-a479-93b440211c73 OpenVAS /run/ospd/ospd-openvas.sock 0 OpenVAS Default
6acd0832-df90-11e4-b9d5-28d24461215b CVE 0 CVE
17597043-78cb-492c-b7b4-3b4b36406ed1 OpenVAS /run/gvm/ospd-openvas.sock 9390 Kifarunix-demo OpenVAS Scanner
上記の出力に基づいて、スキャナーのUUIDは次のようになります。 17597043-78cb-492c-b7b4-3b4b36406ed1
。
スキャナーを確認します。
sudo -Hiu gvm gvmd --verify-scanner=17597043-78cb-492c-b7b4-3b4b36406ed1
コマンド出力;
Scanner version: OpenVAS 21.4.5~dev1~git-773a6537-stable.
GVM管理者ユーザーの作成
以下のコマンドを実行して、GVM管理ユーザーを作成します。
sudo -Hiu gvm gvmd --create-user admin
このコマンドは、ユーザーのランダムなパスワードを生成します。 以下の出力例を参照してください。
User created with password '3ae45864-0d6a-4a53-938f-730a1bb5d959'.
ユーザーを作成すると同時に独自のパスワードを作成する場合。
sudo -Hiu gvm gvmd --create-user USERNAME --password=PASSWORD
それ以外の場合は、既存のユーザーのパスワードをリセットできます。
sudo -Hiu gvm gvmd --user=<USERNAME> --new-password=<PASSWORD>
管理者ユーザーは、後でGreenbone Security Assistant(GSA)などのクライアントを介してさらにユーザーまたは管理者を作成できます。
フィードインポートの所有者を設定する
によると gvmd/INSTALL.md
、以前はgvmdソースコードの一部であった特定のリソースが、フィードを介して出荷されるようになりました。 例として、「FullandFast」の構成があります。
gvmdは、「フィードインポート所有者」が構成されている場合にのみこれらのリソースを作成します。
sudo -Hiu gvm gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value <uuid_of_user>
作成されたすべてのユーザーのUUIDは、
sudo -Hiu gvm gvmd --get-users --verbose
サンプル出力;
admin 2dd752e3-a051-44c6-b214-079673a263f7
次に、ユーザーUUIDを使用してgvmd設定を変更します。
sudo -Hiu gvm gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value 2dd752e3-a051-44c6-b214-079673a263f7
GVM21.4Webインターフェースへのアクセス
Greenbone Security Assistant(GSA)WebUIデーモンはポート443を開き、すべてのインターフェイスでリッスンします。
ss -altnp | grep 443
LISTEN 0 128 *:443 *:* users:(("gsad",pid=37710,fd=10))
ファイアウォールが実行されている場合は、このポートを開いて外部アクセスを許可します。
ufw allow 443/tcp
これで、URLを介してGSAにアクセスできます https:<serverIP-OR-hostname>
。
自己署名SSL警告を受け入れて続行します。
これで、URLを介してGSAにアクセスできます https:<serverIP-OR-hostname>
。 自己署名SSL警告を受け入れて続行します。
上記で生成された管理者資格情報を使用してログインします。
ダッシュボード;
SecInfo
SCAPデータでデータベースを更新するのに時間がかかる場合があります。 SCAPデータベースが見つかりません ダッシュボード上。 必ずログをチェックして、データベースが実際に更新されていることを確認してください。
tail -f /var/log/gvm/gvmd.log
md manage: INFO:2022-07-07 05h25.00 utc:38216: Modifying setting. md manage:MESSAGE:2022-07-07 05h25.00 utc:38216: No SCAP database found md manage: INFO:2022-07-07 05h27.55 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2005.xml md manage: INFO:2022-07-07 05h28.36 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2004.xml md manage: INFO:2022-07-07 05h28.52 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2010.xml md manage: INFO:2022-07-07 05h30.19 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2012.xml md manage: INFO:2022-07-07 05h31.06 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2009.xml md manage: INFO:2022-07-07 05h31.55 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2015.xml md manage: INFO:2022-07-07 05h33.00 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2013.xml md manage: INFO:2022-07-07 05h33.38 UTC:37327: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2018.xml ...
そして、あなたは行きます。 Ubuntu20.04にGVM21.4をインストールしてセットアップするのに必要なのはこれだけです。 これで、スキャンの実行を開始できます。
ノート:スキャンタスクを作成するときは、必ず上記で作成したスキャナーを選択してください。
これで、スキャンするターゲットホストを作成し、スキャンを自分の好みの時間に実行するようにスケジュールできます。
これで、Ubuntu20.04にGVM21.4をインストールしてセットアップする方法に関するチュートリアルは終了です。
参照
ソースファイル README.md と INSTALL.md ファイル
その他のチュートリアル
RockyLinux8にNiktoWebScannerをインストールする
KaliLinuxにGVM21.4をインストールする
The post Ubuntu20.04にGVM21.4をインストールします appeared first on Gamingsym Japan.