
こんにちは、インフラ担当のちぇんです。
OpenVAS を使う機会があったので注意点を中心に振り返ってみます。以前 kali Linux に入っているものを使ったことがありますが、今回の環境はCentOSにインストールして使いました。
使えるようになるまで、いくつか面倒なところがありました。ちなみに OpenVAS は Greenbone-Vulnerability-Manager という名前になったのですね。
事前準備
Webインターフェイスが 9392 番ポートを使うため、 SELinix 無効と 9392 番ポートを開けます。
# sed -i '/SELINUX=/s/enforcing/disabled/' /etc/selinux/config # firewall-cmd --permanent --zone=public --add-port=9392/tcp # yum -y update # init 6
リポジトリのダウンロードと netstat を利用するために必要なものをインストールします。
# yum install -y wget net-tools # wget -q -O - https://updates.atomicorp.com/installers/atomic | sh
OpenVAS インストール
OpenVAS をインストールします。
# yum install -y greenbone-vulnerability-manager
OpenVAS の設定を変更します。
内容は /etc/redis.conf 内の
# unixsocket /tmp/redis.sock
# unixsocketperm 700
のコメントアウトを外し有効にし起動します。
起動に問題なければ enable にします。
# sed -i '/^#.*unixsocket/s/^# //' /etc/redis.conf # systemctl start redis # systemctl status redis # systemctl enable redis
OpenVASをセットアップします。
ダウンローダーは rsync をつかうのでそのままenter キーを押し、 username password は任意の設定をします。
# openvas-setup Downloader [Default: rsync] Enter administrator username [Default: admin] : Enter Administrator Password:
アクセスする際は https://<IP>:9392 にブラウザでアクセスします。
9392 番ポートでリッスンさせるための設定変更をします。
# echo 'OPTIONS="--listen=0.0.0.0 --port=9392"' > /etc/sysconfig/gsad
エラーが出なければ再起動します。
# 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
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
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
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
データベースを更新します。
# /usr/sbin/greenbone-nvt-sync # /usr/sbin/greenbone-certdata-sync # /usr/sbin/greenbone-scapdata-sync
PDF レポート対応
このままではpdf でのレポート出力がファイルサイズ 0KB になってしまったため手を加えます。
ディレクトリを作成後、ファイルをダウンロードしデータベースを再作成します。
# 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 形式でダウンロードできます。
レポートは英語です。




以上となります。
まとめ
他端末に対してもエージェントを仕込まず、ログイン情報があれば調査できるのはメリットになるケースもあります。
(どの程度調査ができるかは使用アカウントの権限によります。)
他のツールと使い分けるとよいと思います。
お疲れさまでした。
