もっと詳しく

このガイドでは、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.mdINSTALL.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 DataSCAPCERT フィードを最新の状態に保つには、 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警告を受け入れて続行します。

上記で生成された管理者資格情報を使用してログインします。

ダッシュボード;

Ubuntu20.04にGVM21.4をインストールします

SecInfo

Ubuntu20.04にGVM21.4をインストールします

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をインストールします

これで、スキャンするターゲットホストを作成し、スキャンを自分の好みの時間に実行するようにスケジュールできます。

これで、Ubuntu20.04にGVM21.4をインストールしてセットアップする方法に関するチュートリアルは終了です。

参照

ソースファイル README.md INSTALL.md ファイル

その他のチュートリアル

RockyLinux8にNiktoWebScannerをインストールする

KaliLinuxにGVM21.4をインストールする

The post Ubuntu20.04にGVM21.4をインストールします appeared first on Gamingsym Japan.