セキュリティヘッダーとは?中小企業が最低限入れる設定
結論: セキュリティヘッダーは、サイトを開いたブラウザに「こう動いてください」と伝える、サーバー側の設定です。難しい設定を全部入れる必要はなく、まず5つの基本を入れるだけで、守りは一段上がります。
セキュリティヘッダーとは
ページを開くとき、サーバーは文章や画像と一緒に、「ヘッダー」という付随情報をブラウザに送っています。その中に、安全のための指示(たとえば「必ずHTTPSで開く」「他のサイトの枠の中に表示しない」)を入れることができます。それが、セキュリティヘッダーです。
ページの見た目は変わりませんが、外から調べると、設定の有無が分かります。そのため、サイトの診断では、確認項目のひとつになります。
最低限入れる5つ
| ヘッダー | 役割 |
|---|---|
Strict-Transport-Security(HSTS) | 以後は、HTTPSでだけ開くよう、ブラウザに記憶させる |
X-Content-Type-Options: nosniff | ファイルの種類を、ブラウザが勝手に推測しないようにする |
X-Frame-Options(または CSPの frame-ancestors) | 他のサイトの枠の中に、自社のページを表示させない(クリックジャッキングの対策) |
Referrer-Policy | リンクをクリックしたとき、どこまでの情報を相手に伝えるか |
Permissions-Policy | カメラ・マイクなど、使わない機能を、あらかじめ止める |
Content-Security-Policy(CSP)も重要ですが、設定を間違えるとサイトが表示されなくなります。慣れていないうちは、基本の5つを先に入れ、CSPは別の機会に検討するほうが安全です。
設定の例(Apacheの.htaccess)
Apache系のレンタルサーバーでは、.htaccess に次のように書けます。サーバーの環境によって使える書き方は異なるため、設定前に必ずバックアップを取ってください。
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
</IfModule>
失敗しないための注意
- HSTSは、サイト全体がHTTPSで正しく表示できてから入れる。 入れたあとに、HTTPSでしか開けない状態を、ブラウザが覚えます。証明書が切れると、サイトが開けなくなります。
includeSubDomainsやpreloadは、慎重に。 サブドメインの全部がHTTPSに対応している確認が済んでから。- 設定を入れたら、必ず表示を確認する。 外部のフォームや地図などの埋め込みが、表示されなくなっていないか。
- 一度に入れず、1つずつ確認する。
確認の方法
- ブラウザの開発者ツール(Network → ページのヘッダー)で、送られているヘッダーを見る。
- 「Security Headers」「Mozilla Observatory」のような、ヘッダーを診断する公開ツールを使う(自社のサイトにだけ使う)。
よくある質問
Q. 入れないと、すぐに危険ですか?
すぐに被害が出るわけではありません。ただし、ほかの弱点があったとき、被害を小さくする「保険」の役割を持ちます。
Q. WordPressでも入れられますか?
入れられます。.htaccess や、サーバーの設定、またはプラグインで設定します。
Q. 自分でやるのが不安です。
設定の確認だけなら、無料サイトチェックで、外から見える範囲をお調べできます。設定の作業は、セキュリティ管理でご相談ください。
まとめ
セキュリティヘッダーは、最低限の5つから。HSTSは、HTTPSの確認が済んでから。点検の全体像は、ホームページのセキュリティ点検10項目にあります。
URLをお知らせいただければ、無料でレポートをお返しします。
無料サイトチェックを申し込む