ここもそうだけれども、ベースにWordPressを使ったサイトを幾つかメンテしておりまして。
それは良いのだけれども、ログインページに対してやたらと攻撃を仕掛ける輩がいらっしゃるようで。
WordPressのログインは「http://foo.ver/wp-login.php」にアクセスするというのはWordPressをお使いの方なら周知の事だけれども、これが逆手に取られて攻撃の対象になっているらしい。
将来的にURLを可変にするとかそういう話もあるようだけれども、今の所、管理者アカウントデフォルトのadminは使うなとか、パスワードを厳重にしろとか、アクセスできるIPアドレスを制限してしまうとか、対策としてはどうかなぁという感じ。
当然国外からのアクセスならpfに突っ込んでしまうのだけれども、
国内ISPからの動的割り当てと思われるIPからのアクセスだと、pfに突っ込んで終わりというわけにも行かない。
# 攻撃元のIPとかは敢えて隠しません。torとか使っていて踏み台にされているだけだとは思うのだけれども。
全部洗い出してabuseに投げてやろうかとも思ったけれども、それも面倒。
どうすっかなと、Google先生に聞いてみたら「Stealth Login Page」というプラグインがあるらしい。
導入して有効化すると設定に「Stealth Login Page」の項目が追加される。設定内容は
- Enable Stealth Mode
チェックを入れるとStealth Login Pageの動作が有効になる。 - URL to redirect unauthorized to
有効なログイン用URL以外にアクセスした場合、リダイレクト先のURLを指定 - String used for the “question” および String used for the “answer”
wp-login.phpに付加するパラメータを指定。
だけ。
指定後、「Save Settings」ボタンをクリックすれば有効になる。
たとえば、「String used for the “question”」に「xxxx」、「String used for the “answer”」に「yyyy」と設定した場合、有効以後ログインするには「http://foo.var/wp-login.php?xxxx=yyyy」というURLにアクセスする必要がある。
これで、攻撃側には正式なログインページが分からなくなるから、セキュリティはかなり上がるはず。
一方、今まで通り「http://foo.var/wp-login.php」にアクセスすると「URL to redirect unauthorized to」に指定したURLにリダイレクトされるので、404辺りで返すようにすれば良いんだと思われ。
# おいらは某警視庁のサイトに飛ばすようにしたんだけれども(爆)。
ちなみに、「String used for the “question”」と「String used for the “answer”」に全角文字を使ったらログインできなくなったので、半角文字のみにしておいたほうが無難かもしれない。
万が一ログインできなくなった場合は、該当WordPressが使用しているデータベースのwp_optionsテーブルに、option_nameカラムが「slp_settings」という名称のレコードが存在しているので、これを消去すれば元に戻る。
※現在、プラグインの仕様が変わってしまい、デフォルトのログインページ(wp-login.php)にauthorization codeが追加される形になっている。昔の仕様に戻して欲しいなぁ。
# 自分用に改変前のバージョンをアップしておく。(まずかったら消しますので)
WordPress.orgからも入手可能
コメント