GVM(OpenVAS)のシステム設定(インストール後の初期設定)
技術情報
GVM(OpenVAS)をインストールした後のシステム設定についてまとめています。
目次
この記事の目次です。
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)をインストールする方法についてまとめています。
更新履歴
更新履歴になります。
- 2022/8/12 記事をUPしました。