セキュリティのプラグインでワチャワチャしたお話
セキュリティ対策のプラグインで有名なSiteGuard。

SiteGuard WP Plugin
SiteGuard WP Plugin は、管理ページとログインへの攻撃からの保護に特化したプラグインです。
手軽にセキュリティを強化できるので利用しているサイトも多いと思います。
ログインページ変更はデフォルトでリダイレクトしないようにしてほしいとかいろいろ不満はありますが無料ですし。
いろんな機能があって便利なんだけど今回はまった機能が画像認証でございます。
通常は上記のようにキャプチャが表示されるのですが。。。
キャプチャが表示されない現象が発生してしまったので頑張って解決しました。
キャプチャが表示されない
状況としては1台構成から3台構成への変更で発生。
AWSで構築しており1台は管理画面用(Server1)で2台(Server2、Server3)がView用となっていてALBで切り分けている。
ググってもパーミッションの変更やらディレクトリをリネームとかすでに実施済みのものしかヒットしないため参考にならず。
プラグインを調査したところキャプチャ用の画像とテキストファイルが下記ディレクトリに生成されることがわかった。
/DocumentRoot/wp-content/plugins/siteguard/really-simple-captcha/tmp
しかしログイン画面を表示してもServer1にはファイルが生成されずServer2やServer3に生成されてしまう。
ALBの切り分けがうまくいっていないようなのでログを確認していると、どうやら画像の生成にはwp-jsonを呼び出しているようだった。
Server1への切り分けルールを下記のように修正。
パスが*/wp-admin/*または*/wp-login.php*またはwp-json/*
これでServer1に画像が生成されるようになったがログイン画面にキャプチャが表示されない。。。
ここからが長かったのですが、ただただ悩んだだけなので割愛。
悩みながらルールをいじっていたらいつの間にか表示されました。
原因はよくわかっていませんがキャッシュが悪さしていた可能性大です。
とりあえず正常に動作したのでよしとします。
コメント