こんにちは、インフラ担当のちぇんです。
OpenVAS を使う機会があったので注意点を中心に振り返ってみます。以前 kali Linux に入っているものを使ったことがありますが、今回の環境はCentOSにインストールして使いました。
使えるようになるまで、いくつか面倒なところがありました。ちなみに OpenVAS は Greenbone-Vulnerability-Manager という名前になったのですね。
事前準備
Webインターフェイスが 9392 番ポートを使うため、 SELinix 無効と 9392 番ポートを開けます。
1 2 3 4 |
# sed -i '/SELINUX=/s/enforcing/disabled/' /etc/selinux/config # firewall-cmd --permanent --zone=public --add-port=9392/tcp # yum -y update # init 6 |
リポジトリのダウンロードと netstat を利用するために必要なものをインストールします。
1 2 |
# yum install -y wget net-tools # wget -q -O - https://updates.atomicorp.com/installers/atomic | sh |
OpenVAS インストール
OpenVAS をインストールします。
1 |
# yum install -y greenbone-vulnerability-manager |
OpenVAS の設定を変更します。
内容は /etc/redis.conf 内の
# unixsocket /tmp/redis.sock
# unixsocketperm 700
のコメントアウトを外し有効にし起動します。
起動に問題なければ enable にします。
1 2 3 4 |
# sed -i '/^#.*unixsocket/s/^# //' /etc/redis.conf # systemctl start redis # systemctl status redis # systemctl enable redis |
OpenVASをセットアップします。
ダウンローダーは rsync をつかうのでそのままenter キーを押し、 username password は任意の設定をします。
1 2 3 4 |
# openvas-setup Downloader [Default: rsync] Enter administrator username [Default: admin] : Enter Administrator Password: |
アクセスする際は https://<IP>:9392 にブラウザでアクセスします。
9392 番ポートでリッスンさせるための設定変更をします。
1 |
# echo 'OPTIONS="--listen=0.0.0.0 --port=9392"' > /etc/sysconfig/gsad |
エラーが出なければ再起動します。
1 2 3 4 |
# systemctl status gsad # systemctl restart gsad # netstat -ano | grep 9392 tcp 0 0 0.0.0.0:9392 0.0.0.0:* LISTEN off (0.00/0/0) |
フィードのダウンロード先変更
RSYNCサービス feed.openvas.org は,2020年9月30日に閉鎖されるようです。
その為、同期先を feed.community.greenbone.net に変更します。
# vi /usr/sbin/greenbone-certdata-sync
1 2 3 4 5 6 7 |
if [ -z "$COMMUNITY_CERT_RSYNC_FEED" ]; then # COMMUNITY_CERT_RSYNC_FEED=rsync://feed.openvas.org:/cert-data COMMUNITY_CERT_RSYNC_FEED=rsync://feed.community.greenbone.net:/cert-data # An alternative syntax which might work if the above doesn't: # COMMUNITY_CERT_RSYNC_FEED=rsync@feed.openvas.org::cert-data fi |
# vi /usr/sbin/greenbone-nvt-sync
1 2 3 4 5 6 7 |
if [ -z "$COMMUNITY_NVT_RSYNC_FEED" ]; then # COMMUNITY_NVT_RSYNC_FEED=rsync://feed.openvas.org:/nvt-feed COMMUNITY_NVT_RSYNC_FEED=rsync://feed.community.greenbone.net:/nvt-feed # An alternative syntax which might work if the above doesn't: # COMMUNITY_NVT_RSYNC_FEED=rsync@feed.openvas.org::/nvt-feed fi |
# vi /usr/sbin/greenbone-scapdata-sync
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
if [ -z "$COMMUNITY_SCAP_RSYNC_FEED" ]; then # COMMUNITY_SCAP_RSYNC_FEED=rsync://feed.openvas.org:/scap-data COMMUNITY_SCAP_RSYNC_FEED=rsync://feed.community.greenbone.net:/scap-data # An alternative syntax which might work if the above doesn't: # COMMUNITY_SCAP_RSYNC_FEED=rsync@feed.openvas.org::scap-data fi do_rsync_community_feed () { if [ -z "$COMMUNITY_SCAP_RSYNC_FEED" ]; then # COMMUNITY_SCAP_RSYNC_FEED=rsync://feed.openvas.org:/scap-data COMMUNITY_SCAP_RSYNC_FEED=rsync://feed.community.greenbone.net:/scap-data # An alternative syntax which might work if the above doesn't: # COMMUNITY_SCAP_RSYNC_FEED=rsync@feed.openvas.org::scap-data fi |
データベースを更新します。
1 2 3 |
# /usr/sbin/greenbone-nvt-sync # /usr/sbin/greenbone-certdata-sync # /usr/sbin/greenbone-scapdata-sync |
PDF レポート対応
このままではpdf でのレポート出力がファイルサイズ 0KB になってしまったため手を加えます。
ディレクトリを作成後、ファイルをダウンロードしデータベースを再作成します。
1 2 3 4 5 6 |
# mkdir -p /usr/share/texlive/texmf-local/tex/latex/comment # cd /usr/share/texlive/texmf-local/tex/latex/comment # wget http://mirrors.ctan.org/macros/latex/contrib/comment/comment.sty # chmod 644 comment.sty # texhash # yum install -y texlive-collection-fontsrecommended texlive-collection-latexrecommended texlive-changepage texlive-titlesec |
動作確認
Webアクセス
https://<IP>:9392 でアクセスします。
まず、フィードステータスでデータベースの状態を確認します。
前回実施時から2週間ほど経っている画面です。
情報が古いままだと最新の情報による診断ができないため、できるだけ最新の情報で実施したほうがよいです。
今回はこのまま実施します。
Task > TaskWizard からターゲットを選択すると自動的にスキャン開始します。
前回分も含め同じターゲットが2段で表示されています。
Status がDone になったらレポートを確認します。
該当する日時をクリックします。
PDFでレポート出力
画面左上にある赤枠部分 Download filtered Report をクリックします。
Report Format で PDF を選択し、OK をクリックすると PDF 形式でダウンロードできます。
レポートは英語です。
以上となります。
まとめ
他端末に対してもエージェントを仕込まず、ログイン情報があれば調査できるのはメリットになるケースもあります。
(どの程度調査ができるかは使用アカウントの権限によります。)
他のツールと使い分けるとよいと思います。
お疲れさまでした。