HSTS(HTTP Strict Transport Security)についてまとめてみた

HSTSという単語を忘れがちなので記憶のためにまとめてみた。

HSTSとは

HTTP Strict Transport Securityのこと。

ざっくりいうと、クライアント端末がWEBサーバーにアクセスする際に、次回以降はポート80(HTTP)ではなくポート443(HTTPS)での接続を促すというセキュリティの仕組み。

RFC6797で規定されている。

https://www.ipa.go.jp/security/ipg/documents/tls_server_config_20200707.pdf

ApacheにおけるHSTSの構築例

HTTP→HTTPSにリダイレクトする=HSTSと思っていたが、「 次回以降はポート80(HTTP)ではなくポート443(HTTPS)での接続を促す」というところが適用のポイントらしいのでそこを考慮して設定例を記載。

今回は.htaccessを利用した設定方法を書いてみる。

.htaccessを利用できるようにする( httpd.conf の編集)

httpd.conf の設定を編集し、有効にしたいディレクトリを以下に設定し、.htaccessで好き放題設定できるようにする。

※Allowoverride=Allは結構乱暴な設定で、.htaccessで何でも設定できてしまうため適宜設定してください。

項目パラメーター
設定ユーザーroot
設定ファイル/etc/httpd/conf/httpd.conf
適用ディレクティブ /var/www/foo
AllowOverrideAll

httpd.confを設定。

vi /etc/httpd/conf/httpd.conf

以下を記述する。

/var/www/foo のディレクティブが存在する場合、対象のディレクティブ記述箇所に<AllowOverride All>を挟む。

<Directory /var/www/foo >
  AllowOverride All
</Directory>

設定記述後Apacheの再起動。

apachectl configtest
 service httpd restart

事前準備は以上。

.htaccessでHSTSを設定

/var/www/fooに空の.htaccessを作成。

su -から先は動作未確認。

cd /var/www/foo
touch .htaccess
su - [apacheの管理ユーザー]
chmod 660 .htaccess

以下の設定を記述。

vi .htaccess
# from http to https redirection
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# hsts setting
Header add Strict-Transport-Security "max-age=31536000"

以上。

WPのプラグインなどによっては 上の4行は動的に記述があるかも。

その場合、mod_rewrite関連の記述は不要で「 Header ~」の下りだけ記載すればOK。

参考URL

3分で出来るHSTSプリロードの設定方法 - 常時SSL化後に必ず行うべき設定 - ラボコート
HSTSプリロードとは初回アクセス時から直接https接続させる機能です。この機能を使うためには、ブラウザ側に予めhttps接続するWEBサイトのURL情報を伝えておく必要があります。既に常時SSL化を行った方であれば設定方法はとても簡単で...

AllowOverrideディレクティブ:.htaccessを使った設定の上書きを許可する
AllowOverride ディレクティブは、 .htaccess を使ってどのディレクティブに関する設定を変更することができるのかを指定する場合に使用します。設定変更の許可はディレクティブ単位ではなく、複数のディレクティブをまとめたグルー...

.htaccess の利用 - KAGOYA Internet Routing
KAGOYA Internet RoutingのCGI・PHPご利用マニュアルです。KAGOYA Internet Routingのカスタマーサポート情報、マニュアル、よくある質問、Q&A、FAQ、お問合わせはこちらへ。

HSTS(HTTP Strict Transport Security)についてまとめる - Qiita
はじめにセキュリティの重要性が増してくる昨今、Webサイトにも様々なセキュリティ強化の規格が策定されています。その中でも、対応サイトが増えているように感じるHSTS(HTTP Strict Tr…

HTTP Strict Transport Security - Wikipedia

コメント

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