Wordfence の最適化が「いいえ」から「はい」になるまでの道のり

パソコン
スポンサーリンク

はじめに

WordPress のセキュリティ対策プラグイン「Wordfence」を導入すると、管理画面の Firewall 設定に「WAF 自動プリペンド有効」という項目が表示されます。
通常は「はい」になっているのが理想ですが、環境によっては 「いいえ」のまま動作してしまう ことがあります。

今回は、自分の環境(Apache + PHP-FPM + サブディレクトリ /wpm に WordPress)で、「いいえ」から「はい」に切り替わるまでの道のりを記録します。


状況と問題点

  • サイトは /var/www/html/wpm/ にインストール
  • Apache + PHP-FPM(FastCGI)で動作
  • Wordfence を最適化したものの、UI に「WAF 自動プリペンド有効:いいえ」と表示される

実際の挙動はどうだったか?

phpinfo() をブラウザ経由で確認すると、

auto_prepend_file /var/www/html/wpm/wordfence-waf.php no value

と表示。
Local Value には入っているが、Master Value が no value なので Wordfence の診断が「はい」とならない状態でした。


解決までに試したこと

1. .user.ini の整備

  • /var/www/html/.user.iniauto_prepend_file=/var/www/html/wpm/wordfence-waf.php を記入(クォート無しで1行のみ)。
  • SELinux ラベルを調整し、キャッシュをクリアするため php-fpm / httpd を再起動。

👉 これで phpinfo の Local Value は正しく表示されたが、UI は「いいえ」のまま。


2. FPM プール設定で強制

  • /etc/php-fpm.d/wp-frontend.conf に以下を追加 php_admin_value[auto_prepend_file] = /var/www/html/wpm/wordfence-waf.php
  • さらに /etc/php-fpm.d/wp-admin.conf にも同じ行を追加

👉 フロントと管理画面両方のリクエストで確実に auto_prepend_file が有効になるようにした。


3. 再確認

再度 phpinfo() を確認すると:

auto_prepend_file /var/www/html/wpm/wordfence-waf.php /var/www/html/wpm/wordfence-waf.php

Local Value と Master Value の両方に設定が入りました 🎉


結果

Wordfence の Firewall 診断もついに:

  • WAF 自動プリペンド有効:はい
  • WAF の読み込みに成功:はい

と表示が揃いました。

つまり UI 表示と実防御が一致 し、精神的にも安心できる状態になったわけです。


まとめとポイント

  • Wordfence の「はい/いいえ」表示は phpinfo の Master Value を基準に判定している。
  • .user.ini だけでは Local Value にしか効かない場合がある。
  • FPM プールごとに php_admin_value[auto_prepend_file] を設定することで、Master Value にも反映され、UI も「はい」に変わる。
  • phpinfo() で Local / Master の両方が揃っているかを確認するのが最重要チェックポイント。

おわりに

Wordfence の最適化で「自動プリペンド有効:いいえ」と表示されても、実際には防御が効いている場合もあります。
しかし、UI も「はい」に揃えたいなら php-fpm プール設定を調整するのが肝でした。

これで「精神的にも安心」な状態で運用できます。同じように悩んでいる方の参考になれば幸いです。