技術
2025.10.3(Fri)
Webセキュリティ強化!X-Content-Type-Options nosniffの仕組みと設定方法
目次
こんにちは。飯塚です。
システム開発の脆弱性検証として、OWASP ZAP を使うことがあります。検知された各脆弱性の理解のために記事にしました。
対応方法はシステムの要件によっても変わりますし、絶対に脆弱性を防げると保証できるものではない点はご了承ください。
OS, Apache, OWASP ZAPのバージョン
| 項目 | バージョン |
|---|---|
| OS | Debian GNU/Linux 12 (bookworm) |
| Apache | 2.4.XX |
| OWASP ZAP | 2.15.0 |
X-Content-Type-Options Header Missing とは
MDNの説明を引用します。
HTTP のレスポンスヘッダーで、 Content-Type ヘッダーで示された MIME タイプを変更せずに従うべきであることを示すために、サーバーによって使用されるマーカーです。
このヘッダーがないと、一部のブラウザでは MIME スニッフィング攻撃をされる可能性があります。
参考
【ZAP】X-Content-Type-Options Header Missing
【MDN】X-Content-Type-Optionsヘッダー
【MDN】MIME スニッフィング
MIME スニッフィング攻撃とは
MIME スニッフィングとは、サーバーから受け取ったファイルのMIME タイプをブラウザが推定する仕組みです。
ざっくりですが、MIME スニッフィング攻撃が成立する例は下記です。
- PNG形式の画像に偽造したJavaScriptファイルを攻撃者がサイト内にアップロードする
- 攻撃者がURLに細工をしてHTMLとして読み込ませる
- MIME スニッフィングにより、PNGをHTMLとして読み込んで、スクリプトが実行される
ちなみに古いバージョンのIEといった、一部のブラウザにしかこの機能はないため、攻撃自体も成立しないとされています。
ApacheでHTTPレスポンスヘッダーの「X-Content-Type-Options」を設定する
Apache のフォルダ構成
/etc/apache2
|-- apache2.conf
|-- /conf-available
|-- security.conf
Apache の対応
/conf-available/security.conf の X-Content-Type-Optionsヘッダー を適切に設定します。以下、設定例です。
Header set X-Content-Type-Options: "nosniff"
設定ファイルの変更なので、反映にはApacheの再起動が必要です。
systemctl restart httpd
まとめ
いかがでしょうか。
一部の古いブラウザでしか発生しないので、他の脆弱性と比べると情報が少なかったです。IEは廃止されていますが、ユーザーには最新バージョンのブラウザを使っていただくように周知しましょう。
OWASP ZAPで検知された他の脆弱性についても記事を今後書きます。参考になれば幸いです。
《関連記事》
ITエンジニアリング事業部
アシスタントリーダー A.Iizuka 技術の入門・まとめ系を中心に書いてます。あとで読み返したいと感じていただける記事を目指しています。
アシスタントリーダー A.Iizuka 技術の入門・まとめ系を中心に書いてます。あとで読み返したいと感じていただける記事を目指しています。
MOST VIEWED ARTICLES


