検索
連載

無料でWebアプリにありがちな脆弱性を調べて治すTomcatはどこまで“安全”にできるのか?(5)(1/3 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 前回の「Tomcatのセキュリティとリスクの基本分かってる?」ではTomat自体が持つ脆弱(ぜいじゃく)性について調べていきましたが、今回はWebアプリケーションのセキュリティについて調べていきましょう。


Webセキュリティを調べる無料ツールとは?

 Webアプリケーションが持つ脆弱性はいくつか存在しますが、前回の説明にあった「インジェクション系」や「クロスサイトスクリプティング」(XSS)などが有名です。それ以外にも「パラメータ改竄(かいざん)」や「セッションハイジャック」といった脆弱性が一般的にはよく見つかります。

 このような脆弱性は特定の手法で見つかることはよくありますが、すべての手法を人が覚えて実行するのは大変です。設定のミスまで自分で探すのはとても大変なことで、常に最新の情報を追っていくことも困難であるといえます。

 そんなときどうすればいいか? いまは非常に便利な「代行してくれるツール」が開発され、公開されているので、これを利用してチェックしてみましょう。今回はオープンソースWebセキュリティ・スキャナNikto」を利用します。

図1 Niktoのページ
図1 Niktoのページ

Niktoのセットアップ

 「Nikto」のページを開くと、画面上部に「Download」の項目があります。クライアントに環境設定するのは大変なので、今回のツールもサーバ上に導入しましょう。

 まずは、圧縮形式「.gz」を利用するので「.gz」のリンク先をコピーして、サーバ上でwgetを利用してファイルを取得します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ファイルのダウンロードが完了したら、圧縮ファイルを解凍しましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 解凍したファイルは「Nikto-【バージョン】」という名前のディレクトリとして解凍されるので、まずはディレクトリ名を調べてみましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ディレクトリ名が「nikto-2.02」になっていることを確認しました。それでは、この解凍したNiktoを適当な場所に設置しましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 これで、Webセキュリティ・スキャナの導入は完了です。

Niktoを実行してセキュリティ状態をチェック

 それでは、導入まで行ったWebセキュリティ・スキャナを実際に利用してみましょう。Niktoを実行するためには、Niktoを設置したディレクトリに移動します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 まず、脆弱性を調べてみる前に、Niktoの脆弱性情報やプラグインを最新版にアップデートします。アップデートコマンドを実行しましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 実行すると、今回のように現時点の最新版を導入している場合には、アップデートの必要がないために以下のようなメッセージが表示されます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 もし、前のバージョンで実行していたりすると、Pluginやデータベースの更新と最新版のアナウンスが表示されます。以下は、2.00のバージョンでアップデートコマンドを実行した場合の表示例です。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 最新版であることも確認できたので、実際にWebアプリケーションの脆弱性を調べてみましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 実行すると、以下のような結果が表示されました。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 内容をよく見てみると、いくつかの脆弱性が見つかっているようです。先頭に「+OSVDB」が付いているものが脆弱性で、大きく分けると以下の4種類です。

  1. 利用が許可されているリクエストメソッドの問題
  2. トップページがデフォルトのTomcatの状態であることの検出
  3. Tomcatのデフォルトディレクトリが検出された問題
  4. MyWebServer 1.0.2の脆弱性が見つかった問題

見つかった問題を解析

これらの見つかった問題を1つ1つ見ていきましょう。

 「1」は、普段利用しないようなPUTやDELETE、TRACEというようなリクエストメソッドまで許可しているので、検出されています。PUTやDELETEはWebdavを利用しているわけでもないので、大きな問題にはならないでしょう。TRACEも、いまの時点で大きな問題はなしです。よって対応は必要なしです。

編集部注:WebDAVについて詳しく知りたい読者は、「次世代プロトコルWebDAVの可能性」をご参照ください。

 「2」「3」では、トップページのファイルや初期にあるディレクトリからTomcatを利用していることが検出されました。これは、Tomcatをデフォルト状態から追加を重ねて利用していたために検出されたことなので、実際にサーバを立てるときには新しく設定を作成してこのような問題が見つからないように努めましょう。

 「4」はHTMLインジェクション(XSS)が発見されたかのように見受けられますが、MyWebServer 1.0.2は利用していませんし、実際には誤検出のようです。

 実際には大きな問題は見つかりませんでしたね。今回は最新版のTomcatを利用していることと、汎用のWebセキュリティ・スキャナを利用していたために細かい問題は見つからなかったようです。

 次ページでは、以前作成したCometのチャット・アプリケーションでありがちな脆弱性(XSS)を発生させてみます。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る