目次

この記事の目次です。

1. Redisのセットアップ
2. Mosquitto MQTT Brokerの設定
3. パミッション設定
4. フィードの検証
5. スキャン用のsudoの設定
6. PostgreSQLのセットアップ
7. 管理ユーザーの設定
8. フィードインポートオーナーの設定
9. 初期フィードの同期
10. Systemdを使用したGVM(OpenVAS)のサービスの開始方法
11. 脆弱性管理の開始

関連リンク
更新履歴

1. Redisのセットアップ

VT情報とスキャン結果を処理するためにスキャナー(openvas-scannerとospd-openvas)でRedisが使われます。

$ sudo apt install -y redis-server

Redisサーバーパッケージをインストールしたら、openvas-scannerの構成を追加する必要があります。

$ sudo cp $SOURCE_DIR/openvas-scanner-$GVM_VERSION/config/redis-openvas.conf /etc/redis/
$ sudo chown redis:redis /etc/redis/redis-openvas.conf
$ echo "db_address = /run/redis-openvas/redis.sock" | sudo tee -a /etc/openvas/openvas.conf
$ sudo systemctl start redis-server@openvas.service
$ sudo systemctl enable redis-server@openvas.service

またgvmユーザは/run/redis-openvas/redis.sockでredis UNIXソケットにアクセスできる必要があります。

$ sudo usermod -aG redis gvm

2. Mosquitto MQTT Brokerの設定

Mosquitto MQTT Brokerは、ospd-openvas、openvas-scanner、notus-scanner間の通信に使用されます。

$ sudo apt install -y mosquitto

パッケージをインストールした後、ブローカを起動し、サーバURIをopenvasscannerの設定に追加する必要があります。

$ sudo systemctl start mosquitto.service
$ sudo systemctl enable mosquitto.service
$ echo "mqtt_server_uri = localhost:1883" | sudo tee -a /etc/openvas/openvas.conf

3. パミッション設定

システム全体のマルチユーザインストールでは、ディレクトリ権限が正しく設定され、グループの設定と一致していることを確認する必要があります。 グループgvmのすべてのユーザーは、ログの読み取りと書き込み、ファイルのロック、VTなどのデータを実行できる必要があります。

$ sudo mkdir -p /var/lib/notus
$ sudo mkdir -p /run/gvmd
$ sudo chown -R gvm:gvm /var/lib/gvm
$ sudo chown -R gvm:gvm /var/lib/openvas
$ sudo chown -R gvm:gvm /var/lib/notus
$ sudo chown -R gvm:gvm /var/log/gvm
$ sudo chown -R gvm:gvm /run/gvmd
$ sudo chmod -R g+srw /var/lib/gvm
$ sudo chmod -R g+srw /var/lib/openvas
$ sudo chmod -R g+srw /var/log/gvm

gvmグループのすべてのユーザが各種gvmdコマンドを使用してpostgresデータベースにアクセスできるようにするために、 gvmd実行ファイルの権限は常にgvmユーザとしてgvmグループの下で実行されるようにします。

$ sudo chown gvm:gvm /usr/local/sbin/gvmd
$ sudo chmod 6750 /usr/local/sbin/gvmd

またフィード同期スクリプトの権限を調整して、gvmユーザーのみが実行できるようにする必要があります。 そうしないと、同期されたファイルのアクセス権が壊れます。

$ sudo chown gvm:gvm /usr/local/bin/greenbone-nvt-sync
$ sudo chmod 740 /usr/local/sbin/greenbone-feed-sync
$ sudo chown gvm:gvm /usr/local/sbin/greenbone-*-sync
$ sudo chmod 740 /usr/local/sbin/greenbone-*-sync

4. フィードの検証

フィードコンテンツを検証するには、Greenbone Community Feed整合性キーを持つGnuPGキーチェーンを作成する必要があります。

$ export GNUPGHOME=/tmp/openvas-gnupg
$ mkdir -p $GNUPGHOME
$ gpg --import /tmp/GBCommunitySigningKey.asc
$ gpg --import-ownertrust < /tmp/ownertrust.txt
$ export OPENVAS_GNUPG_HOME=/etc/openvas/gnupg
$ sudo mkdir -p $OPENVAS_GNUPG_HOME
$ sudo cp -r /tmp/openvas-gnupg/* $OPENVAS_GNUPG_HOME/
$ sudo chown -R gvm:gvm $OPENVAS_GNUPG_HOME

5. スキャン用のsudoの設定

脆弱性のスキャニングには、rawソケットの作成など、rootユーザーのみが許可されるいくつかの機能が必要です。 そのため、gvmグループのユーザーがsudo経由でrootユーザーとしてopenvas-scannerを実行できるように設定します。

$ sudo visudo

以下を追記します。

# allow users of the gvm group run openvas
%gvm ALL = NOPASSWD: /usr/local/sbin/openvas

6. PostgreSQLのセットアップ

PostgreSQLは、ユーザ情報とスキャン情報の集中格納領域として使用されます。 gvmdはPostgreSQLに接続し、データを参照します。

$ cd
$ sudo apt install -y postgresql
$ sudo systemctl start postgresql@13-main
$ sudo -u postgres bash
$ createuser -DRS gvm
$ createdb -O gvm gvmd
$ exit
$ sudo -u postgres bash
$ psql gvmd
$ create role dba with superuser noinherit;
$ grant dba to gvm;
$ exit
$ exit

7. 管理ユーザーの設定

脆弱性データにアクセスして設定するには、管理者ユーザーを作成する必要があります。 このユーザーは、Greenbone Security Assistant(GSA)のWebインターフェイスを使用してログインできます。 すべてのデータにアクセスでき、後でフィードインポート所有者として機能するように設定されます。 「<パスワード>」の部分はログインに使用するパスワードの文字列に置き換えてください。

$ gvmd --create-user=admin --password=<パスワード>

8. フィードインポートオーナーの設定

以前はgvmdソースコードの一部であった特定のリソースが、フィードを介して配布されるようになりました。例として、スキャン構成 「Full and Fast」 があります。 現在、すべてのリソースには、アクセス許可を適用し、リソースへのアクセスを管理するための所有者が必要です。 したがって、gvmdは、フィードインポートオーナーが設定されている場合にのみ、これらのリソースを作成します。 ここでは、以前に作成した管理ユーザーがフィードインポート所有者として使用します。

$ gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value `gvmd --get-users --verbose | grep admin | awk '{print $2}'`

9. 初期フィードの同期

実際の脆弱性スキャンには、脆弱性テストスクリプト、CVEなどのセキュリティ情報、ポートリスト、スキャン設定が必要です。 このデータはすべてGreenbone Community Feedによって提供され、サービスを開始する前にダウンロードする必要があります。

$ sudo -u gvm greenbone-nvt-sync
$ sudo -u gvm greenbone-feed-sync --type SCAP
$ sudo -u gvm greenbone-feed-sync --type CERT
$ sudo -u gvm greenbone-feed-sync --type GVMD_DATA

10. Systemdを使用したGVM(OpenVAS)のサービスの開始方法

GVM(OpenVAS)の起動にはsystemdを使用します。 ospd-openvas、notus-scanner、gvmd、gsadなどのデーモンを起動できるようにします。 ここではGVM 22.4のSystemdを使用したサービスの開始方法についてまとめています。

詳細

11. 脆弱性管理の開始

サービスが開始され、すべてのデータがロードされると、Greenbone Security Assistant(GSA)のWebインターフェイスを「http://127.0.0.1:9392」のURLでブラウザで開くことができます。 ログインは作成したAdminユーザーを使用します。

関連記事

関連記事です。

UbuntuにOpenVAS(GVM)をインストールする方法

UbuntuにOpenVAS(GVM)をインストールする方法についてまとめています。

詳細

OpenVAS

UbuntuにOpenVAS(GVM)をインストールする方法についてまとめています。

詳細

更新履歴

更新履歴になります。

トップ手順・方法GVM(OpenVAS)のシステム設定(インストール後の初期設定)