セキュリティ診断では、脆弱性スキャナーを使って診断を実施する。ポートスキャンによって見つけたオープンポートを対象に、本格的な脆弱性診断を実施していこう。
* * *
若葉イロハが、先輩の吉野さんとポートスキャンの結果について話している。
若葉:ポートスキャンで予想外のオープンポートやサポート切れのソフトウエアが見つかったので、対応しました。危ない危ない…。
吉野:次はいよいよ脆弱性スキャナーを使ってみようか。きちんと脆弱性を把握して、攻撃される前に対策することが大事なんだ。
* * *
多数の項目を自動診断
脆弱性スキャナーは、自動で脆弱性調査ができるツールだ。診断項目があらかじめ用意してあり、多くの脆弱性を手早く調査できる。専門のセキュリティ会社などプロも使っているツールである。診断結果には、検出した脆弱性の危険度やCVE番号▼、対策方法などが記載してある。結果が一覧表示できるので、対策を検討しやすい。ただし、未知の脆弱性や、応答から判断できない脆弱性は脆弱性スキャナーでは検知できない。
ツールによる機械的な診断だけでは、誤って過剰に検出してしまったり、検出を漏らしてしまったりする可能性がある。そのためセキュリティ会社では、ツールが不得意な部分は独自のノウハウを利用した手動診断で補い、高度な診断をしている。
脆弱性スキャナーには、無償のものと有償のものがある。無償のツールはサポートを受けられないものの、必要な機能は備わっている。サーバー診断向けの脆弱性スキャナーでは、WindowsやLinuxなどのOSや、Apache HTTP ServerやSendmailといった主要ソフトウエアについて脆弱性を検出できる。
今回は、無償の脆弱性スキャナー「OpenVAS▼」を使った診断方法を説明していく。OpenVASは、初めに簡易的なポートスキャンを実行し、開いているポートに対して診断を実行する。診断する項目ごとに、診断対象サーバーへの接続、調査コマンドの送付、応答の受信をして脆弱性を見つける。脆弱性の判断基準は診断項目ごとに違うが、例えば、実行したコマンドの応答コード▼などから判断する。またOpenVASは、簡単なパスワードクラック▼も実行する。
OpenVASは、パソコンなどにインストールして利用する▼。公式サイトからソフトウエアをダウンロードして、Linuxにインストールしよう▼。起動すると、TCP 4000番ポートにHTTPSサービスとして、管理用Webコンソールが立ち上がる▼。認証画面が表示されるのでログインする。
CVEはCommon Vulnerabilities and Exposuresの略。ソフトウエアの脆弱性に付けられる識別番号。米国政府の支援を受けた非営利団体MITREが採番している。日本でも広く利用されている。
有償ツールで高いシェアを持つNessusから派生した脆弱性スキャナー。独グリーンボーンが主に管理している。公式サイトのURLはhttp://www.openvas.org/。Nessusも個人利用は無償。NessusもOpenVASもスキャン結果は英語になる。使う単語は限られているので慣れてほしい。
コマンドを送信した後に返ってくる応答の識別番号。例えばFTPでコマンドを実行できたときは200番の応答コードが返る。
他人のパスワードを不正に暴くこと。有名な攻撃方法としては、パスワードによく使われる文字列を複数記載したリストを使ってログインを試す辞書攻撃や、利用できる文字列のすべてを使ってログインを試すブルートフォース攻撃などがある。OpenVASよりも詳細にパスワード強度を調査したい場合は、HydraやMedusaといったツールを利用する。
インストールした端末から管理対象サーバーに通信するので、サーバーへの通信が遮断されない場所に診断元パソコンを設置する必要がある。
Windows版はスキャンのエンジンを搭載していない。スキャンの実行を指示するクライアント機能のみ利用できる。
HTTPS通信に自己署名証明書を用いているため、WebブラウザーでOpenVASの管理用Webコンソールにアクセスすると警告が表示される。無視してアクセスすればよい。初期設定ではユーザー名とパスワードは共に「admin」なので、変更して使おう。