ウェブサイト検索

Debian 12 に Vuls 脆弱性スキャナーをインストールして使用する方法


このページでは

  1. 前提条件
  2. 依存関係のインストール
  3. インストーラースクリプトを使用して Vuls をインストールする
  4. Vulの設定
  5. Vuls を使用した CVE データベースの作成
  6. Vuls を使用してローカルホストをスキャンする
  7. Vuls を使用してリモート サーバーをスキャンする
  8. 結論

Vuls は、Linux および FreeBSD 用のエージェントレス、無料、オープンソースの脆弱性スキャナーです。 Vuls は主に Go で書かれており、どこでも実行できます。 Vuls はクラウド、オンプレミス、Docker 上で実行でき、主要なディストリビューションをサポートしています。 Vuls は、NVD、JVN、OVAL、RHSA/ALAS/ELSA/FreeBSD-SA などの複数の脆弱性データベースをサポートする高品質のスキャンを提供します。

Vuls を使用すると、複数の方法を使用して複数のオペレーティング システムをスキャンできます。ホストのローカルをスキャンしたり、SSH 経由でリモート ホスト/サーバーをスキャンしたりできます。また、root 権限を必要としない高速スキャンと root 権限を必要とするディープ スキャンなど、複数のスキャン方法も提供します。 Vuls は複数のターゲット サーバーを一度にスキャンできます。スキャンが完了したら、結果を電子メールや Slack 経由で送信できます。

このガイドでは、Debian 12 サーバーに Vuls 脆弱性スキャナーをインストールする方法を学習します。 Vul をインストールし、CVE データベースをセットアップしてから、ローカル システムとリモート マシンの Vul をスキャンします。

前提条件

始める前に、次のものが揃っていることを確認してください。

  • Debian 12 サーバー
  • 管理者権限を持つ非 root ユーザー
  • RockyLinux/Ubuntu などの追加サーバーをリモート スキャンのターゲットとして使用

依存関係のインストール

Vuls をインストールする前に、依存関係がインストールされていることを確認する必要があります。このセクションでは、「debian-goodies」 および 「reboot-notifier」 パッケージを Vuls の依存関係としてインストールします。

まず、以下のコマンドを実行して、Debian パッケージのインデックスを更新します。

sudo apt update

次のコマンドを使用して、パッケージ 'debian-goodies' と 'reboot-notifier' をインストールします。 「Y」と入力してインストールを確認します。

sudo apt install debian-goodies reboot-notifier

インストーラースクリプトを使用して Vuls をインストールする

依存関係がインストールされたら、インストーラー スクリプトを使用して Vuls をインストールします。これにより、Vuls と Vuls 用の追加ツールが自動的にコンパイルされ、システムにインストールされます。

Vuls をインストールするには、次のコマンドを実行します。これで、Vuls インストーラー スクリプト'install.sh' をダウンロードして実行します。

bash <( curl -s https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh )

インストーラー スクリプトは Golang の最新バージョンをインストールし、次に「go-cti」、「go-cve-dictionary」などの Vuls 用の複数のツールをコンパイルしてインストールします。 、 'goval-dictionary'、 'go-exploitdb'、 'go-kev'、 「go-msfdb」と「gost」。

インストールが完了したら、「/usr/local/bin」ディレクトリをチェックすると、Vuls のバイナリ ファイルとそのツールが表示されます。

ls /usr/local/bin/

以下の「vuls help」コマンドを使用してヘルプ メッセージを確認できるようになりました。

vuls help

次のような出力が得られます。

Vulの設定

Vuls をインストールしたら、コンピューターまたはサーバーをスキャンする前に Vuls を構成する必要があります。このセクションでは、Vuls インストール用の新しいディレクトリとファイルを作成します。 CVE データベースを特定の SQLite データベースに定義し、localhost の最初のスキャン構成を作成します。

新しいディレクトリ「/opt/vuls」を作成し、そこに移動します。次に、「nano」エディタで新しいファイル「config.toml」を作成します。

mkdir -p /opt/vuls; cd /opt/vuls
nano config.toml

CVE データベースを Vuls と統合するには、次の構成を入力します。また、一番下の行では、localhost のスキャンを定義しています。

[cveDict]
type = "sqlite3"
SQLite3Path = "/opt/vuls/cve.sqlite3"
[ovalDict]
type = "sqlite3"
SQLite3Path = "/opt/vuls/oval.sqlite3"
[gost]
type = "sqlite3"
SQLite3Path = "/opt/vuls/gost.sqlite3"
[metasploit]
type = "sqlite3"
SQLite3Path = "/opt/vuls/go-msfdb.sqlite3"
[servers]
[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast-root" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]

完了したら、ファイルを保存して終了します。

最後に、以下の「vuls」コマンドを実行して構成を確認します。

vuls configtest

適切に構成されている場合は、次の出力が表示されます。

Vuls を使用した CVE データベースの作成

このセクションでは、Vuls ツールを使用して、さまざまなソースから新しい CVE データベースを構築します。 Debian セキュリティ トラッカー、NVD、OVAL、および Metasploit データベース用の CVE データベースを作成します。

まず、「/opt/vuls」ディレクトリに移動します。

cd /opt/vuls

次に、以下のコマンドを実行して、複数のソースから CVE データベースをダウンロードして構築します。この例では、Debian セキュリティ トラッカー、NVD、OVAL、および Metasploit データベースの CVE データベースを使用します。

gost fetch debian --dbpath /opt/vuls/gost.sqlite3
go-cve-dictionary fetch nvd --dbpath /opt/vuls/cve.sqlite3
goval-dictionary fetch debian 12 --dbpath /opt/vuls/oval.sqlite3
go-msfdb fetch msfdb --dbpath /opt/vuls/go-msfdb.sqlite3

プロセスが完了すると、CVE データベースが '/opt/vuls' ディレクトリで利用できるようになります。以下のコマンドを使用して、「/opt/vuls」ディレクトリを確認します。

ls /opt/vuls/*.sqlite3

Vuls を使用してローカルホストをスキャンする

この時点で、Vuls を構成し、CVE データベースを作成しました。これで、Vuls を使用してローカルホストまたはローカル マシンをスキャンする準備が整いました。

ローカル マシンをスキャンするには、以下の 'vuls' コマンドを実行します。

vuls scan localhost

プロセスが完了すると、端末に簡単な結果が表示されます。

次に、以下の「vuls tui」コマンドを実行して、スキャン レポートを詳細に表示します。

vuls tui

以下に、localhost の詳細なスキャン レポートを示します。

「Ctrl+c」を押して、Vuls ターミナルのユーザー インターフェイスを終了します。

Vuls を使用してリモート サーバーをスキャンする

このセクションでは、Vuls を使用してリモート サーバーをスキャンします。この例では、ターゲット サーバーは IP アドレス「192.168.10.45」、ユーザー「rock」を持つ Rocky Linux 9 サーバーになります。

まず、以下のコマンドを実行して、RedHat 9 の OVAL CVE データベースをダウンロードします。

goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3

次に、新しい SSH 公開キーと秘密キーを生成し、その公開キーをターゲット サーバーにアップロードします。この例では、ターゲット サーバーは IP アドレス「192.168.10.45」と SSH ユーザー「rock」を持つ Rocky Linux 9 です。

ssh-keygen -t ed25519
ssh-copy-id [email 

次に、以下の「ssh」コマンドを使用してターゲットサーバーにログインし、以下のコマンドを使用して「lsof」パッケージをインストールします。

ssh [email 
sudo dnf install lsof -y

exit」と入力して、Rocky Linux サーバーからログアウトします。

次に、'/opt/vuls' ディレクトリに移動し、'nano' エディタで 'config.toml' ファイルを編集します。

cd /opt/vuls/
nano config.toml

次の構成を挿入して、リモート システム Rocky Linux 9 サーバーの新しいスキャンを作成します。また、IPアドレスやユーザーの詳細も必ずご自身の情報に変更してください。

[servers.debian-server]
host = "192.168.10.45"
port = "22"
user = "rock"
keyPath = "/root/.ssh/id_ed25519"
scanMode = [ "fast-root" ] # "fast", "fast-root" or "deep"

ファイルを保存してエディタを終了します。

新しい構成では、以下のコマンドを使用して 'config.toml' ファイルをテストできるようになりました。

vuls configtest

エラーがない場合は、以下の 'vuls' コマンドを使用してリモート サーバーをスキャンします。

vuls scan rocky9

最後に、以下の 'vuls' コマンドを実行して、リモート スキャンのレポートにアクセスします。

vuls tui

以下に、リモート サーバー Rocky Linux 9 の詳細レポートを示します。

結論

おめでとう! Debian 12 サーバーへの Vuls 脆弱性スキャナーのインストールが完了しました。 Vuls の追加ツールを使用して CVE データベースを構築する方法も学習しました。その後。また、Vuls を使用してローカルおよびリモートのサーバー/マシンをスキャンする方法も学習しました。

関連記事: