Nginx

KUSANAGI+NginxでHSTSとX-Content-Type-Optionsを設定する

2017.11.20

サーバー

セキュリティ対策はここまでやっておけば安全というラインはありませんので出来ることは何でもやってしまおう精神でサイトに施策を行います。KUSANAGI+NginxでHSTS(HTTP Strict Transport Security)とX-Content-Type-Optionsを設定しましたのでその時の備忘録です。

HTTP Strict Transport Security(HSTS)の設定

HSTSをサクッと説明します。HSTSブラウザにHTTPSページをリクセストする機能です。ユーザーがHTTPでアクセスしてもHTTPSが適応されます。

設定の記述

HSTSの設定は/etc/nginx/conf.d/プロファイル名_ssl.confに記述します。

location ~ [^/]\.php(/|$)

上記から始まるlocationに下記を追記します。

add_header Strict-Transport-Security 'max-age=31536000';

サブドメインも含める場合

add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains';

sudo nginx -tコマンドで設定ファイルのチェックを行います。問題なければsudo nginx -s reloadで変更を設定ファイルに反映させます。うまく設定できていればレスポンスヘッダに下記の内容が含まれています。

Strict-Transport-Security: max-age=31536000

HSTSプリロードに登録する場合

HTSTの反映は2回目のアクセスからなのですがHSTSプリロードに登録しておけば1回目のアクセスからHTTPSでサイトにアクセスできます。HSTSプリロードに登録する場合は下記のように記述します。

add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;preload';

HSTSプリロードへの登録は下記URLから行えます。

X-Content-Type-Optionsの設定

X-Content-Type-Optionsの設定で何を行うかサクッと説明するとContent-Typeに一致しない動作させないことで未然にセキュリティリスクを防ぐことが期待できます。

X-Content-Type-Optionsの記述もHSTSと同じ場所に行います。

add_header X-Content-Type-Options nosniff;

うまく設定できれいればレスポンスヘッダに下記の内容が含まれています。

X-Content-Type-Options: nosniff

この辺りの設定はホームページの見た目ではわからないので、指摘されることもほとんどありませんが、ホームページ制作に従事する人間としてはこだわっておきたいポイントの一つですね。

WEBSITE DESIGN REQUEST

ホームページ制作依頼について

W・D・Sでホームページ制作をご希望の方はお気軽にご相談ください。
制作内容、ご予算、納期をお知らせいただくとスムーズです。

ホームページ制作を相談する