セキュリティ
http→https転送設定は万全?チェック方法と直し方
httpでのアクセスが自動的にhttpsへ転送されているかの確認です。
http→https転送とは何か
http→https転送とは、暗号化されていない接続でアクセスしてきた訪問者を、自動的に暗号化された接続へ切り替える仕組みです。SSL証明書を導入すると通信を暗号化すること自体は可能になりますが、それだけで既存のhttpのURLへのアクセスがhttpsへ自動的に置き換わるわけではなく、サーバー側で別途この転送設定を行う必要があります。証明書の導入と転送設定は別の作業であるため、証明書だけが導入されていて転送が設定されていないという状態が起こり得ます。
どうして大事なのか
SSL証明書を導入していても、http→https転送の設定が漏れていると、暗号化されない接続がいつまでも使える状態のまま残ってしまいます。古いブックマークや過去にシェアされたSNSの投稿、他サイトからの被リンクの多くはhttpのURLのままであり、転送設定がなければ訪問者はそのつどhttpの暗号化されていないページにアクセスすることになります。検索エンジンの評価という観点でも、httpとhttpsのURLが両方インデックスされてしまうと評価が分散する可能性があります。
ここで引っかかるとどうなる
転送が設定されていない状態でhttpページにアクセスすると、通信内容が第三者に読み取られたり改ざんされたりするリスクにさらされるほか、近年のブラウザはhttpページに対して「保護されていない通信」といった警告を表示するため、訪問者に不安を与えて離脱や信頼低下を招くことがあります。一方で、http://で始まるURLにアクセスした際に自動的にhttps://で始まる最終URLへ転送され、ステータスコードが400未満で正常に表示されていれば合格です。ブラウザにhttp://の自社サイトURLを入力し、切り替わるか確認するだけでも簡易チェックになります。
直す方法
多くのレンタルサーバーやホスティングサービスには、管理画面から「httpをhttpsへ強制転送」を有効にする設定があります。自前でサーバーを管理している場合は、Webサーバー(NginxやApache)の設定ファイルに、httpの80番ポート宛のリクエストをhttps(301リダイレクト)へ転送するルールを追加します。CDNやリバースプロキシ(Cloudflareなど)を利用している場合は、そちら側に「Always Use HTTPS」のような転送機能が用意されていることも多く、比較的簡単に設定できます。
Kotoriではどうやって計測しているか
サイトの点検のたびに、http://から始まるURL(暗号化されていない接続)へ実際にアクセスし、リダイレクトを辿った先の最終的なURLを記録します。最終URLが「https://」から始まっており、かつHTTPステータスコードが400未満(正常なレスポンス)であれば合格と判定します。逆に、httpのままページが表示されてしまう場合や、リダイレクト先でエラーが返ってくる場合は、この転送設定に問題があると判断します。SSL証明書(通信を暗号化する仕組み)自体は導入済みでも、この自動転送(301リダイレクトなど)が別途設定されていないケースは珍しくありません。
セキュリティの他の項目