Debian 12 に Vuls 脆弱性スキャナーをインストールして使用する方法
このページでは
- 前提条件
- 依存関係のインストール
- インストーラースクリプトを使用して Vuls をインストールする
- Vulの設定
- Vuls を使用した CVE データベースの作成
- Vuls を使用してローカルホストをスキャンする
- Vuls を使用してリモート サーバーをスキャンする
- 結論
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 を使用してローカルおよびリモートのサーバー/マシンをスキャンする方法も学習しました。