セキュリティヘッダーは、HTTPレスポンスに含まれる情報で、Webサイトのセキュリティを強化するために使用されます。XSS攻撃、クリックジャッキング、MIMEman-in-the-Middle攻撃などの主要な脅威からユーザーを守ることができます。.htaccessを使ってこれらのヘッダーを設定することで、サーバー設定を変更することなく、サイトのセキュリティポストureを大幅に向上させることができます。
主要なセキュリティヘッダー
X-Frame-Optionsヘッダーは、クリックジャッキング攻撃からサイトを守ります。SAMEORIGINを設定すると、自サイト内でのみフレーム表示が可能になり、外部サイトによる悪意ある埋め込みを防ぎます。X-XSS-Protectionヘッダーは、古いブラウザ向けのXSS対策フィルターを有効にします。Content-Security-Policy(CSP)は、許可されたソースからのみリソースを読み込むことを指定する、最も強力なセキュリティヘッダーの一つです。Strict-Transport-Security(HSTS)は、HTTPS接続を強制し、SSLストリッピング攻撃を防ぎます。
.htaccessでの設定方法
.htaccessファイルでセキュリティヘッダーを設定するには、Headerディレクティブを使用します。Header setコマンドで各ヘッダーとその値を指定します。複数のヘッダーを一度に設定することも可能で、X-Frame-Options、X-XSS-Protection、X-Content-Type-Options、Referrer-Policyなどを組み合わせて設定するのが一般的です。CSPの設定は複雑になるため、段階的に導入し、まずはreport-onlyモードで動作確認を行うことをお勧めします。
設定の検証と保守
セキュリティヘッダーを設定した後は、ブラウザの開発者ツールや外部の検証ツールを使って、正しく設定されているか確認しましょう。SecurityHeaders.comなどのオンラインツールでスコアを確認し、改善点を特定できます。セキュリティヘッダーは一度設定すれば終わりではなく、サイトの変更に合わせて定期的に見直す必要があります。特にCSPは、外部スクリプトの追加や新しいドメインの利用に合わせて更新が必要です。.htaccess生成ツールを使えば、主要なセキュリティヘッダーを容易に設定できます。