ログイン履歴を保存できるプラグイン「狂骨」をインストールした知人から、こんな話がありました。
「管理者アカウントを admin 以外にしていて、author リンクとかはサイトに一切表示していないのにそのアカウントへのアタックが観測されるんだけど…」
原因が良くわからなかったのですが WordCamp Kobe 2013 の懇親会での LT で謎が解けました。
要約すると…
「WordPress では /?author={user_id} にアクセスすることで、著者アーカイブにリダイレクトされる。
その URL からログインユーザ名を取得することが可能。
通常最初に追加されるユーザのユーザ ID は 1 なので、攻撃者は /?author=1 に対してリクエストしてくる。」
ってことです。
そんなわけで、気持ち悪い人は以下のようなプラグインを使用して著者アーカイブのスラッグ自体を変更してあげましょう。
他の対処法としては、みやさんが作ったプラグイン「Force email login」でログインユーザ名ではなく、登録されたメールアドレスでログインするようにする方法も有効ですね。
以下に「Edit Author Slug」の設定方法を説明します。
インストールして有効化したら、ユーザープロフィール画面を表示しましょう。
「ニックネーム」をユーザー名とは違う物にします。
「ブログ上の表示名」も「ユーザー名」以外のものを選びましょう。
「Edit Author Slug」プラグインが有効になっているとプロフィール設定画面の下の方に「Edit Author Slug」という項目が表示されているはずですので、ここで slug をユーザー名からニックネームに変更すればおっけです。
例えば、このプラグインでスラッグを「admin」にして、以下の URL で解説してる方法で admin でログインしようとするユーザを速い段階でたたき落とすのも手ですね。
[WordPress] ユーザ名「admin」でのログインを拒否する
http://lab.dogmap.jp/ では、この対策を行っていますので http://lab.dogmap.jp/?author=1 にアクセスしても、ユーザ名とは違うスラッグが返されるようになっています。
ちなみに dogmap.jp には、ユーザID 1 のユーザが存在しないので、404 が返ります。