サーバ脆弱性スキャナ Vuls
を OpenStack 環境で使ってみた
日本仮想化技術株式会社
VitrualTech.jp
今日お話ししたいこと
2
サーバ脆弱性の確認 自作
パッケージ Vuls
Vuls とは
Vuls 環境の構築手順
Vuls の使い方 スキャン
確認 CUI
GUI
サーバ脆弱性の確認
3
OpenStack Summit Barcelona での NTT ドコモ発表
「Expanding and Deepening NTT DOCOMO‘s Private Cloud」
http://www.slideshare.net/VirtualTech-JP/expanding-and-deepening-ntt-docomos-
private-cloud-openstack201612
脆弱性管理ソフトウェア Vuls
Vuls (VULnerability Scanner)
– フューチャーアーキテクトが開発
– オープンソースソフトウェアで提供
• https://github.com/future-architect/vuls
– Linuxサーバに存在する脆弱性のスキャナ
• Ubuntu, Debian, CentOS, Amazon Linux, RHELなどに対応
– エージェントレス
– スキャン結果を CUI や GUI で確認
– メールや Redmine や Slack との連携も可能
4
Vuls 環境の構築手順
• OpenStack 基盤に Vuls をインストール
– Vuls サーバを用意し、Vuls をインストール
• API / Management ネットワークに Vuls サーバを用意
• スキャン対象のサーバに ssh でログインできる必要があります
– スキャン対象のサーバに Vuls 用のアカウントを作成
• 今回はコントローラ・コンピュートノードをスキャン対象とします
• スキャンの際にパッケージ管理ソフトを用いるので root 権限が
必要です
• (/etc/sudoersにnonpasswdの設定することを推奨されています)
– Vuls サーバから鍵認証でログイン可能にしておく
5
参考情報:Vuls + OpenStack 環境構築スクリプト
https://github.com/openstack-lab/vuls_install_script
構築した Vuls + OpenStack 環境
6
コンピュート
2台
コントローラ
2台
スキャン&可視化サーバ
172.28.1.219
172.28.1.62
172.28.1.63
172.28.1.65
172.28.1.66
Vuls の使い方①
• 対象サーバに対してサーバ脆弱性をチェック
– go-cve-dictionary の更新
– Vuls 自体の更新
– CVE 情報を更新
– スキャン開始
– 結果をメールや Redmine や slack などに送信
7
Vuls の使い方②
% vi config.toml
[default]
port = "22"
user = "vuls"
keyPath = "/home/vuls/.ssh/id_rsa”
[servers]
[servers.172-28-1-62]
host = "172.28.1.62”
..........
8
Vuls の使い方③
% vuls scan -cve-dictionary-dbpath=/opt/vuls/cve.sqlite3
INFO[0000] Start scanning
INFO[0000] config: /opt/vuls/config.toml
INFO[0000] cve-dictionary: /opt/vuls/cve.sqlite3
[Dec 7 15:20:54] INFO [localhost] Validating Config...
[Dec 7 15:20:54] INFO [localhost] Detecting Server/Contianer OS...
[Dec 7 15:20:54] INFO [localhost] Detecting OS of servers...
[Dec 7 15:20:55] INFO [localhost] (1/4) Detected: 172-28-1-65: ubuntu 14.04
[Dec 7 15:20:55] INFO [localhost] (2/4) Detected: 172-28-1-66: ubuntu 14.04
[Dec 7 15:20:55] INFO [localhost] (3/4) Detected: 172-28-1-63: ubuntu 14.04
[Dec 7 15:20:55] INFO [localhost] (4/4) Detected: 172-28-1-62: ubuntu 14.04
[Dec 7 15:20:55] INFO [localhost] Detecting OS of containers...
[Dec 7 15:20:55] INFO [localhost] Checking sudo configuration...
[Dec 7 15:20:55] INFO [172-28-1-65] sudo ... OK
[Dec 7 15:20:55] INFO [172-28-1-63] sudo ... OK
[Dec 7 15:20:55] INFO [172-28-1-66] sudo ... OK
[Dec 7 15:20:55] INFO [172-28-1-62] sudo ... OK
[Dec 7 15:20:55] INFO [localhost] Detecting Platforms...
[Dec 7 15:21:07] INFO [localhost] (1/4) 172-28-1-65 is running on other
[Dec 7 15:21:07] INFO [localhost] (2/4) 172-28-1-66 is running on other
[Dec 7 15:21:07] INFO [localhost] (3/4) 172-28-1-63 is running on other
[Dec 7 15:21:07] INFO [localhost] (4/4) 172-28-1-62 is running on other
9
CUI による可視化
10
GUI による可視化
11
CVSS Severity Score
脆弱性情報、
対象サーバ、
対象ソフトウェア、
対象バージョンなど
参考情報:Vuls
Vuls: VULnerability Scanner
GitHub: Vuls
https://github.com/future-architect/vuls/
今もっともイケてる脆弱性検知ツール Vuls を使ってみた: Qiita
http://qiita.com/sadayuki-matsuno/items/0bb8bb1689425bb9a21c
脆弱性スキャナ Vuls による対策支援の課題: Internet Week
http://www.slideshare.net/kotakanbe/internet-week2016
GitHub: vulsrepo
https://github.com/usiusi360/vulsrepo
Vuls slack連携
https://blog.animereview.jp/vuls/
12
参考情報:Vuls + OpenStack
OpenStack共同検証ラボ
サーバーの脆弱性管理に関して(OpenStack + Vuls) -
OpenStack最新情報セミナー(2016年12月)
http://www.slideshare.net/VirtualTech-JP/openstack-vuls-
openstack201612
Vuls + OpenStack 環境構築スクリプト
https://github.com/openstack-lab/vuls_install_script
13

サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた

  • 1.
    サーバ脆弱性スキャナ Vuls を OpenStack環境で使ってみた 日本仮想化技術株式会社 VitrualTech.jp
  • 2.
    今日お話ししたいこと 2 サーバ脆弱性の確認 自作 パッケージ Vuls Vulsとは Vuls 環境の構築手順 Vuls の使い方 スキャン 確認 CUI GUI
  • 3.
    サーバ脆弱性の確認 3 OpenStack Summit Barcelonaでの NTT ドコモ発表 「Expanding and Deepening NTT DOCOMO‘s Private Cloud」 http://www.slideshare.net/VirtualTech-JP/expanding-and-deepening-ntt-docomos- private-cloud-openstack201612
  • 4.
    脆弱性管理ソフトウェア Vuls Vuls (VULnerabilityScanner) – フューチャーアーキテクトが開発 – オープンソースソフトウェアで提供 • https://github.com/future-architect/vuls – Linuxサーバに存在する脆弱性のスキャナ • Ubuntu, Debian, CentOS, Amazon Linux, RHELなどに対応 – エージェントレス – スキャン結果を CUI や GUI で確認 – メールや Redmine や Slack との連携も可能 4
  • 5.
    Vuls 環境の構築手順 • OpenStack基盤に Vuls をインストール – Vuls サーバを用意し、Vuls をインストール • API / Management ネットワークに Vuls サーバを用意 • スキャン対象のサーバに ssh でログインできる必要があります – スキャン対象のサーバに Vuls 用のアカウントを作成 • 今回はコントローラ・コンピュートノードをスキャン対象とします • スキャンの際にパッケージ管理ソフトを用いるので root 権限が 必要です • (/etc/sudoersにnonpasswdの設定することを推奨されています) – Vuls サーバから鍵認証でログイン可能にしておく 5 参考情報:Vuls + OpenStack 環境構築スクリプト https://github.com/openstack-lab/vuls_install_script
  • 6.
    構築した Vuls +OpenStack 環境 6 コンピュート 2台 コントローラ 2台 スキャン&可視化サーバ 172.28.1.219 172.28.1.62 172.28.1.63 172.28.1.65 172.28.1.66
  • 7.
    Vuls の使い方① • 対象サーバに対してサーバ脆弱性をチェック –go-cve-dictionary の更新 – Vuls 自体の更新 – CVE 情報を更新 – スキャン開始 – 結果をメールや Redmine や slack などに送信 7
  • 8.
    Vuls の使い方② % viconfig.toml [default] port = "22" user = "vuls" keyPath = "/home/vuls/.ssh/id_rsa” [servers] [servers.172-28-1-62] host = "172.28.1.62” .......... 8
  • 9.
    Vuls の使い方③ % vulsscan -cve-dictionary-dbpath=/opt/vuls/cve.sqlite3 INFO[0000] Start scanning INFO[0000] config: /opt/vuls/config.toml INFO[0000] cve-dictionary: /opt/vuls/cve.sqlite3 [Dec 7 15:20:54] INFO [localhost] Validating Config... [Dec 7 15:20:54] INFO [localhost] Detecting Server/Contianer OS... [Dec 7 15:20:54] INFO [localhost] Detecting OS of servers... [Dec 7 15:20:55] INFO [localhost] (1/4) Detected: 172-28-1-65: ubuntu 14.04 [Dec 7 15:20:55] INFO [localhost] (2/4) Detected: 172-28-1-66: ubuntu 14.04 [Dec 7 15:20:55] INFO [localhost] (3/4) Detected: 172-28-1-63: ubuntu 14.04 [Dec 7 15:20:55] INFO [localhost] (4/4) Detected: 172-28-1-62: ubuntu 14.04 [Dec 7 15:20:55] INFO [localhost] Detecting OS of containers... [Dec 7 15:20:55] INFO [localhost] Checking sudo configuration... [Dec 7 15:20:55] INFO [172-28-1-65] sudo ... OK [Dec 7 15:20:55] INFO [172-28-1-63] sudo ... OK [Dec 7 15:20:55] INFO [172-28-1-66] sudo ... OK [Dec 7 15:20:55] INFO [172-28-1-62] sudo ... OK [Dec 7 15:20:55] INFO [localhost] Detecting Platforms... [Dec 7 15:21:07] INFO [localhost] (1/4) 172-28-1-65 is running on other [Dec 7 15:21:07] INFO [localhost] (2/4) 172-28-1-66 is running on other [Dec 7 15:21:07] INFO [localhost] (3/4) 172-28-1-63 is running on other [Dec 7 15:21:07] INFO [localhost] (4/4) 172-28-1-62 is running on other 9
  • 10.
  • 11.
    GUI による可視化 11 CVSS SeverityScore 脆弱性情報、 対象サーバ、 対象ソフトウェア、 対象バージョンなど
  • 12.
    参考情報:Vuls Vuls: VULnerability Scanner GitHub:Vuls https://github.com/future-architect/vuls/ 今もっともイケてる脆弱性検知ツール Vuls を使ってみた: Qiita http://qiita.com/sadayuki-matsuno/items/0bb8bb1689425bb9a21c 脆弱性スキャナ Vuls による対策支援の課題: Internet Week http://www.slideshare.net/kotakanbe/internet-week2016 GitHub: vulsrepo https://github.com/usiusi360/vulsrepo Vuls slack連携 https://blog.animereview.jp/vuls/ 12
  • 13.
    参考情報:Vuls + OpenStack OpenStack共同検証ラボ サーバーの脆弱性管理に関して(OpenStack+ Vuls) - OpenStack最新情報セミナー(2016年12月) http://www.slideshare.net/VirtualTech-JP/openstack-vuls- openstack201612 Vuls + OpenStack 環境構築スクリプト https://github.com/openstack-lab/vuls_install_script 13