Kali Linux 2022.4にOpenVAS 22.4.0をインストールしてスキャン結果をPDFでダウンロードできたのでメモ
一年くらいかけてやってきたのでまとめる。
Kali LinuxにOpenVASを入れて脆弱性スキャンを行い,レポートをPDFでダウンロードするまで。
Kali Linuxは新規インストール直後のものを使う。標準セットアップしたもので,パッケージ選択をLargeにするだけでコケる(おそらくPostgreSQLのバージョン違いが入る)ので,何もいじらず(言語設定は日本語にしていい)インストールしたものを使う。apt update && apt upgradeも避けておく。apt upgradeしてPostgreSQLのバージョンが15になるとOpenVASのフィードを取り込めなくなるから。OpenVASはPostgreSQLのバージョン14を要求するので,ポスグレのバージョンさえ合わせればいけるかもしれない。ほかにも環境に影響する可能性がある。過去に更新済み環境でPDFが取得できなかったりgvm-setupまでは通ってもgvm-check-setupが通らなかったりしたので,素のままインストール直後のKali Linuxを使う。
Kaliの新規インストールを行ったら,OpenVASのインストールを行う。rootは使わない。
とりあえず環境が準備できたら,ふつうにsudo apt install openvasしてパッケージをインストールする。これは特に問題なくできるはず。
次にオマジナイとして,ユーザのホームディレクトリのパーミッションを777にする。これをやらないとOpenVASの設定ファイルが置けないっぽい。いくつかディレクトリを掘ろうとして失敗している様子があるので,あらかじめ chmod 777しておく。とはいえパーミッションいじらなくても入ったことがあるのでよくわからない。なのでオマジナイ扱い。
パッケージのインストールが終わっているので,続いてsudo gvm-setupしてOpenVASの環境を作る。このときポスグレのバージョンに依存するので注意。
gvm-setupの最初のほうと一番最後にadminのパスワードが表示されるので忘れずにコピペなりメモなりして保存しておく。コマンド窓閉じたら二度と見られないのでここで確実にやっておくこと。
一通りセットアップが終わったら,念のためsudo gvm-check-setupしてインストールがちゃんと終わっていることを確認する。たぶん大丈夫なはず。
ここで,OSを立ち上げたまま(gvmのデーモンを立ち上げたまま)二時間くらい放置する。gvm-check-setupをしていないなら,とりあえずgvm-startしてデーモンを立ち上げておくこと。この儀式をやらないと,脆弱性スキャンのタスクを作ろうとした時に「Failed to find config 'daba56c8-73ec-11df-a475-002264764cea'」とかエラー吐いてタスクが作れない。しばらく放置しているとデータベースの構築が終わるのか,うまく動くようになる。一時間くらいで動いたけど,念のため二時間熟成させた方がいいかも知れない。
gvm-check-setupでデーモンの起動をチェックするわりにはデーモンを止めてくれないので,gvm-check-setupした後はsudo gvm-stopして一度デーモンを止める。
祈る。たぶんこれでうまくいくようにはなっているはずなんだけど,最後はやっぱりお祈りが大事。エムロイにでも祈ろう。
sudo gvm-startして少し待つ。うまくいけば勝手にブラウザが立ち上がってデーモンにアクセスしてくれるので,SSL/TLSの証明書がオレオレだよっていう警告を潜り抜けてログイン画面を開く。メモしておいたadminのパスワードでログインして,ダッシュボードが開けば第一段階突破。
スキャンはタスクウィザードでやれば充分かと。テストのために127.0.0.1のまま回してみるといい。
レポートができたらPDFでダウンロードしてみる。これで,0byteなファイルができるようだとスパゲティモンスターに供物が足りてない。
PDFでちゃんとダウンロードできていたらおめでとう!
あとは普通に使えるので,安心してapt upgradeしてOSの環境を最新にしよう。
定期的にsudo gvm-feed-updateして,フィードを更新して最新の脆弱性情報に基づいてスキャンできるようにしておこう。
スキャン前にやろうとしたら思いのほか時間がかかって悲しむことになるので,cronあたりに仕込んでおくのも手。
ポイントは
- Kali Linuxのインストール直後の何も手を付けていない状況でapt install openvasすること
- gvm-setupとgvm-check-setupに成功したら,そのまま二時間くらい熟成させること
の二点。あとはおまじないとして,gvm-setup前にユーザーディレクトリのパーミッションを777にしておくと安心かも知れない。