25
脆弱性対策ツール VULS を試してみた 長谷部 優 2016/06/28

脆弱性検知ツールVulsを試してみた

Embed Size (px)

Citation preview

脆弱性対策ツール

VULS を試してみた

長谷部 優

2016/06/28

祝! ガルパン劇場版BD発売!(違

ガルパンはいいぞぉ~

冗談はさておき…

祝! MORIO Dojo 発足! 入門者絶賛募集中!

MORI帯 取得しました

• スコープはインフラ運用技術者向け • セキュリティ対応・脆弱性対策に追われる人が対象

そもそも私は誰か?

• 長谷部 優(はせべ ゆう) @cosign930 ▫ 会社:

一個人での参加なので勤め先とかは勘弁してください…

お願いします、なんでもしますからぁ!

▫ お仕事: 構築、運用・監視、業務改善、提案活動などなど

社内ツール作成とか監視プラグイン作成

▫ 興味・関心: 監視システム、OSS、仮想化、クラウド、自動化、Perl、Python

▫ 立ち位置: お客様の抱える様々な課題を技術的に支援・解決する人

▫ 一言: あくまで一個人の意見です。所属会社とはまったく関係ありません。

なんでこれをやったの?

変動するサーバ環境・構成に対し手間をかけずに把握したい

どのサーバに穴(脆弱性)があるのか一発でわかりたい

できれば通知とかしてくれるといいなぁ…

脆弱性対策に追われる日々の脱却

これまでの発表との関連

• 構成管理 → 現在の構成を整える

• 監視 → 現在のサービス状態を知る

• 脆弱性検知 → 現在の堅牢さを知る ← New !!

こーゆーことって言われたことありませんか?

XXX ってパッケージで脆弱性見つかったから、 担当者はサーバを調べて対応しておいてね♪ サーバ毎に該当するのか調べておいてね♪ 各自で対応しておいてね♪

どうやってこなしてますか?

人力?

_ / jjjj _ / タ {!!! _ ヽ、 ,/ ノ ~ `、 \ `、 `ヽ. ∧_∧ , ‐'` ノ \ `ヽ(´・ω ・`)“ .ノ/ 力には自信があります! `、ヽ. ``Y" r ' i. 、 ¥ ノ `、.` -‐´;`ー イ

古き良き EX○EL 管理シート? ____ / \ / ─ ─ \ / (●) (●) \ | (__人__) | ないない \ ` ⌒´ ,/ r、 r、/ ヘ ヽヾ 三 |:l1 ヽ \>ヽ/ |` } | | ヘ lノ `'ソ | | /´ / |. | \. ィ | | | | |

調査の工数は?

あれ、調査工数こんなにかかっている…

理想 日々 CVE も確認しています!

すでに対策済みです! 問題ありません!

現実

/\___/ヽ ヽ / ::::::::::::::::\ つ | ,,-‐‐ ‐‐-、 .:::| わ | 、_(o)_,: _(o)_, :::|ぁぁ | ::< .::|あぁ \ /( [三] )ヽ ::/ああ /`ー‐--‐‐―´\ぁあ

Web Server DB Server APP Server LB Server Manage Server Backup Server Mail Server DNS Server File Server etc…etc…

多種多様に存在するサーバ群を

人間が全て管理・把握するのは難しい

→ 各サーバにどのような脆弱性が存在するかを

人間だけで管理していくのは難しい

脆弱性が見つかるたびに都度、調査をするのは

現実的ではない

なぜ問題がある? ~なぜなにとらぶるぶんせき ~

システムにやらせよう!

VULS!!

Go 言語で記述された脆弱性検知ツール

脆弱性検知結果をslackやメールで送信できるツール

検知対象のサーバに何も入れなくてOK(エージェントレス)

VULS(バルス) とは? ~なぜなにVULS ~

VULS 構成イメージ図

VULS Server

SQLite3

VULS CVE Dictionary

VULS Scanner

CVE DB Server

対象サーバ群

config.toml

もう少し詳細なVULSの説明

VULS 構成図

VULS Server

SQLite3

VULS CVE Dictionary

VULS Scanner

CVE DB Server

対象サーバ群

SSH

SSH

CVE DB サーバより 脆弱性情報を取得

CVE 情報から 脆弱性スキャン

スキャン結果を保存

保存されたデータを閲覧 各サーバへはSSHにて

config.toml

各サーバの IPアドレス情報

IDCFクラウド環境

VULS Server 対象サーバ 対象サーバ

・・・

SQLite3

ということで作ってみた。

Internet

スキャンした結果のビュー(CLI版)

対象サーバにある脆弱性一覧 CVE 番号、重要度、タイトルが表示

スキャン対象サーバ一覧 OS、バージョン情報

脆弱性詳細情報

スキャンした結果のビュー(CLI版)

問題がなければ [No vulnerable packages]

が表示される

で、これやって何が嬉しいの?

• 各サーバの穴(脆弱性)がリスト化され確認できる

• なにを優先して対応しなければならないか一発でわかる

• 人がサーバに入って都度調べなくてよい

→ 工数削減

• 設定によってメールやSlackに通知することも可能

とりあえず、今回はここまで 詳しくは後程の懇親会で…

バルス(VULS)! (脆弱性的に)

本日はこれが言いたかっただけ…かも

ご清聴ありがとうございました!

Next Stage: 俺の構成管理ツール群がこんなにも

使いやすいわけがない