こんにちは、南波真之と申します。
こちらの記事では、KUSANAGIユーザーが交流している、KUSANAGIユーザーフォーラムにあるトピックスをご紹介していきます。
このフォーラムには、KUSANAGIの基本的な使い方から、インストール時・運用時のお悩みまで、様々な投稿がされています。
KUSANAGIについて、わからないところがある方はぜひご参加ください。
今回は、 KUSANAGIとHSTSについてのトピックです。
HSTS とは
HSTS(HTTP Strict Transport Security)とは、WebサーバがHTTPヘッダで指定する項目の1つです。これにより、常にHTTPSによる通信を行うようにできます。
WebブラウザとWebサーバの間の通信は、HTTPが使われていました。しかし、セキュリティ対策の観点から、SSL/TLSによって、通信を暗号化するHTTPSが主流となりました。しかし、通常のHTTPSの対応だと問題があります。
例えば、http://~でリクエストをしてきたユーザーがいた場合、HTTPS対応をしているのであれば、Webサーバ側ではhttps://~の方に301リダイレクトをさせることで、ユーザーはHTTPSの暗号化された通信でブラウザ閲覧をすることができます。
しかし、Webブラウザ側で最初のhttp://~でリクエストをして、Webサーバ側でリダイレクトのレスポンスを返す部分はHTTP通信になるため、暗号化されていない平文の通信となります。この通信部分は、悪意のある人が盗聴、改ざんを行うことができてしまうため対策を取らなければなりません。
そこで、HSTS設定をすることで対策ができます。仕組みとしては、Webブラウザからhttp://~のアクセスがあった場合、Webサーバ側はレスポンスヘッダーに「strict-transport-security」を付けて応答します。このヘッダーは、Webブラウザ側に次回以降同じくhttp://~のリクエストがある場合は、https://~のリクエストにしてもらうように指示を出しているものですので、次回以降はWebブラウザ側で先にhttps://~に変換してWebサーバ側に通信が行われます。
また、そもそもの初回リクエストの対策として、HSTS Preloadがあります。これは、HSTS Preload サイトにドメインを登録しておくと、初回からWebブラウザが判断して自動でhttps://~のリクエストを出してくれるというものなので、より安全性が高まります。
KUSANAGIにおけるHSTS
KUSANAGIの環境では、HSTSの設定がコマンドベースでできるようになっています。
kusanagi ssl –hsts on kusanagi_html
kusanagi sslコマンドの中に、 hstsオプションがありますのでこれを使います。
内容を引用します。
[–hsts {on|off}]HSTS(HTTP Strict Transport Security)の設定を有効にします。
on を指定すると、HSTS を有効にします。
off を指定すると、HSTS を無効にします。
on を設定する場合、HSTS Preload リスト登録サイトにドメイン名を登録することを推奨します。
<寄せられたご質問>
下記のコマンドでHSTSを有効にした後に、HSTS Preload リスト登録サイトでドメインを登録しようとしたところ、エラーが出て登録ができませんでした。
kusanagi ssl –hsts on xxx_html
登録できるようにするためには個別で設定ファイルを編集する必要がありますでしょうか?
HTTPSへのリダイレクトは設定しています
kusanagi ssl –https redirect xxx_html
ご質問の詳細はこちらへ: HSTSを有効後、HSTS Preload リスト登録サイトでエラーになる
<寄せられたご質問への回答>
yoshi さん、こんにちは。
kusanagi のバグのようです。
修正しますので、少々お待ちください。
https://kusanagi.tokyo/releases/10583/
Nginx 1.25-3 がリリースされましたので、
dnf upgrade で更新して再度試していただけないでしょうか?
(新しい nginx が見つからないようでしたら、dnf clean all も合わせてご対応ください。)
ご質問の詳細はこちらへ: HSTSを有効後、HSTS Preload リスト登録サイトでエラーになる
大切な企業サイトには、セキュリティも十分な実行環境を
今回取り上げた質問では、KUSANAGIのコマンドを使ってHSTSの設定をしたところ、エラーが出てしまった、というご質問でした。
結果的には、KUSANAGI側のバグということで早急に修正が入ったものになります。
特に企業サイトは関係者も多く、影響力もあるため、セキュリティを気にする方は多いのではないでしょうか。KUSANAGIは、高速なCMS実行環境であることはもちろんのことセキュリティ対策もしっかりしています。企業サイトの実行環境として、とても良い選択肢の1つと言えます。
このように、不明な点はフォーラムを使って解決していきましょう。今回のようにKUSANAGI開発を担当しているメンバーも回答しているため、KUSANAGI関連でのお問い合わせであれば、まずはKUSANAGIユーザーグループのフォーラムに質問を投げてみるのもよいかと思います。
ユーザーの皆さんで KUSANAGIに関する質問や課題を持つ方は、ユーザーフォーラムに投稿いただくか、もし自社で対応が難しい場合やより高度なサービスをご希望される場合はKUSANAGI公式サポートサービスというプライム・ストラテジーのサービスもありますのでご検討下さい。
また、お仕事やプライベートでKUSANAGIを使っている、という方はぜひフォーラムの質問への回答者としてもご参加ください!
ユーザーフォーラムが活性化していくとよりKUSANAGIが盛り上がっていくと思います。
皆様のご参加をお待ちしております。KUSANAGIユーザーグループサイト