ホームページの脆弱性診断 その2

ホームページの脆弱性診断 その2

前回は簡単・無料で脆弱性診断ができるツール「OWASP ZAP」をご紹介しました。
※前回記事はこちら

今回はお仕事で何サイトか簡易診断した際に、よく検出された脆弱性について、その説明と対策方法をご紹介します。

その前に、OWASP ZAP での診断実行についてですが、今回はクイックスタートにて検査しました。

ブラウザと連動させ、コンテキストを追加して・・・

っていう、本格的な使い方については、私もまだ数回しか行ったことがないため、
わかりやすく説明できるようになってからまた記事を書きます。

OWASP ZAPを起動します

※結構時間かかりますが、フリーズではありません。気長に待ちましょう。

とりあえず、「現在のタイムスタンプで・・・」の選択でOKです。
OWASP ZAP起動

右上項目のURL欄に診断するサイトのURLを入力します。
OWASP ZAPクイックスタート

※くれぐれも関係のないサイトへのアタック(攻撃)には使わないでくださいね。

当サイトの脆弱性については、対策後に記事にします。

よく検出される脆弱性

今まで診断したサイトでほぼ確実に検出された脆弱性について、ご紹介します。

X-Frame-Optionsヘッダーの欠如

リスク:Medium

説明:「クリックジャッキング」攻撃を防止するためのX-Frame-OptionsヘッダーがHTTPレスポンスに含まれていません。

対策:.htaccess へ Header always append X-Frame-Options SAMEORIGIN(同一ドメイン内からのiframeのみ許可)もしくは、Header always append X-Frame-Options DENY を記載することで対策可能です。

X-Content-Type-Optionsヘッダの設定ミス

リスク:Low

説明:ウェブブラウザの中には、HTML内にContent-Typeとして指定してあった場合でも、HTTPレスポンス全体を検査(sniffing)してコンテンツタイプを独自に判断し、「Content-Type」を無視した動作を行うものが存在します。このsniffingを防止するのが「X-Content-Type-Options」です。

対策:.htaccess へ Header always set X-Content-Type-Options “nosniff” を記載することで対策可能です。

WebブラウザのXSS防止機能が有効になっていません。

リスク:Low

説明:ウェブブラウザのXSS防止機能が有効になっていない、またはウェブサーバーからのHTTPレスポンスヘッダ ‘X-XSS-Protection’ が無効になっています。

対策:.htaccess へ Header always set X-XSS-Protection “1; mode=block” を記載することで対策可能です。

Cross-Domain JavaScript Source File Inclusion

リスク:Low

説明:別ドメインから1つ以上のスクリプトファイルが含まれています。

対策:検出されたコードを確認し、問題ないコード(GoogleAnalyticsのトラッキングコード等)の場合は対策不要です。
不要なスクリプトコードが検出される場合は、念のために削除しておいた方がよいです。

まとめ

上記の対策の際に追加したコードは下記です。

もし同じ脆弱性が検出される場合は、参考にしていただければと思います。

次回は、他に検出された脆弱性と対策をご紹介します。

特にMovableTypeサイトの脆弱性は少し厄介でした。

タイトルとURLをコピーしました