2026年8月3日
2026年8月3日
WordPressのセキュリティヘッダーを設定する方法
はじめに
WordPressサイトを安全に運用するためには、適切なセキュリティヘッダーの設定が重要です。これらのヘッダーはウェブサーバーとクライアントブラウザ間でやりとりされるHTTPヘッダーで、サイトに対する攻撃や不正アクセスを防ぐ役割があります。
症状・背景
このテーマが必要になる主な場面:
- <サイトが頻繁に不正アクセスを受けている>
- <スパムコメントやアタックが増加している>
- <脆弱性スキャンツールで問題点が指摘された>
- <セキュリティ上のリスクを低減したい>
手順・設定方法
ステップ1: HTTP Strict Transport Security (HSTS) を有効にする
# WordPressサイトのwp-config.phpファイルを開く
nano /var/www/html/wp-config.php
# 以下の行を追加してHSTSヘッダーを有効化
define('FORCE_SSL_ADMIN', true);
header("Strict-Transport-Security: max-age=31536000; includeSubDomains");
# ファイルの保存と終了
CTRL + X, Y, ENTER
ステップ2: Content Security Policy (CSP) を設定
# .htaccessファイルを開く
nano /var/www/html/.htaccess
# 以下の行を追加してCSPヘッダーを設定
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://*.google-analytics.com; object-src 'none';"
# ファイルの保存と終了
CTRL + X, Y, ENTER
ステップ3: X-Frame-Options を設定
# .htaccessファイルを開く
nano /var/www/html/.htaccess
# 以下の行を追加してX-Frame-Optionsヘッダーを設定
Header set X-Frame-Options "SAMEORIGIN"
# ファイルの保存と終了
CTRL + X, Y, ENTER
ステップ4: 設定後の動作確認
# curlコマンドを使用してHTTPレスポンスヘッダーを確認する
curl -I https://yourdomain.com/
注意事項
- <実践的な注意点1>: HSTSの設定は一度有効にすると容易に解除できません。
- <実践的な注意点2>: CSPの初期設定では一部のJavaScriptが動作しない可能性があります。
- <セキュリティ上の注意>: これらのヘッダーを適切に設定することでサイトの安全性を高めますが、完全なセキュリティにはなりません。
- <パフォーマンス/運用上の注意>: セキュリティヘッダーはサイトのパフォーマンスに影響を与える可能性があります。
まとめ
1. <キー1>: HSTSを使用してHTTPS通信を強制する
2. <キー2>: CSPで許可するソースを明確にする
3. <キー3>: X-Frame-Optionsヘッダーでクリックジャッキング攻撃から保護
4. <キー4>: 設定後の動作確認を行うこと
5. <キー5>: 安全な設定の適切な管理と監視
関連記事: