TechCrunchのこの記事「全世界のWordPressサイトに大規模攻撃; デフォルトのアドミンユーザ名’admin’がねらわれている」にドキッとした方も多いのではないだろうか。

弊社で管理しているサイトの90%はWordPressでできているといっても過言ではないので、正直他人事ではないです。
対策としてとれる方法は次の通り。(簡単順)

  1. 新しく管理権限ユーザーを作って、adminユーザーを削除する。adminユーザーの持っていた投稿は新しいユーザーに移す
  2. WPのDBを直接書換え。adminのIDと名前を書き換えるだけなので影響が少ないが、phpMyadminなどでの操作が必要。
    UPDATE wp_users SET user_login=’newuser’, user_nicename=’newusername’ WHERE ID=xxx;
  3. 追記:WPをマルチサイト対応にしている場合は、wp_sitemetaのsite_adminsも変更すること。
    そうしないと、ネットワーク管理者になれなくなる。
  4. adminのログインに二段階認証を入れる

 
 
2番目の対策でやれば楽ちんなんだけど、今後adminだけの話ではなくなる可能性は十分あるので、今回は3番目の二段階認証でやってみることにします。まず、スマホ(Android)に AUTHYをインストール。iPhoneでもたぶん同じ。

  1. PCから、AUTHYにSign Inする。CLOUDFLAREなどの大手も使っているみたいだから大丈夫だと思う。
  2. Email、Country、Cellphone、Passwordを入れる。Countryは「Japan(+81)」、Cellphoneは頭のゼロを取る「9012341234」
  3. そうすると、携帯にメッセージ(SMS)が来る。https://www.authy.com/install からアプリをインストールしてねというメッセージなので、Playストアで AUTHYをインストールする。(無料)
  4. Android版 AUTHYをインストールする際も、Country、Cellphone、Passwordを聞かれるので再度入力。6桁のPINコードがメッセージ(SMS)で送られてくるので、それを入力すればインストール完了。
  5. Android版 AUTHYを起動すると、20秒ごとに TOKENが表示される。

 
 
スマホ(Android)で AUTHYが動くようになったら、PCでログイン。

  1. AUTHYでログイン。EmailとPasswordは先ほど入力したもの。
  2. Authy Token画面になるので、携帯に表示された TOKENを入力する。
  3. ダッシュボードが表示されたら「Create new application…」をクリック。Application Nameは適当に決める。
  4. Api Tutorial画面になったら、「or go to your dashboard」をクリック。
  5. 左サイドバーにいま決めた「Application Name」が表示されるので、これをクリック。
  6. このページの「Api Key」をコピーしておく。

 
 
AUTHYの「Api Key」が無事入手できたら、WordPressにプラグインを入れる。

  1. プラグインの新規追加で「Authy Two Factor Authentication」を検索、追加。
  2. 有効化したら、Settings画面で「Api Key」を設定。誰(権限)に対して二段階認証を行うかも設定できる。
  3. 「Disable external apps that don’t support Two-factor Authentication」にチェックを入れると、外部アプリが二段階認証をパスすることになるので、よく考えて設定すること。しない方がいいと思う。
  4. これが済んだら、ユーザープロフィールに移って、個人ごとの設定を行う。
  5. Two-Factor Authentication を Enableに。Country、Cellphoneを入力したら、携帯にメッセージが送られてきて完了。

※ 山本一郎氏がYahoo!に書くくらいだから、相当底辺まで広まったとみて、adminを変更する2番目の方法をとりました。

@live.jpあてに転送したメールが届かないという相談がありました。
ログを調べてみると確かにブロックされてエラーになっています。

postfix/smtp[]: : to=<xxx@live.jp>, orig_to=<info@kdp-satooya.com>, relay=mx2.hotmail.com[65.55.37.120]:25, delay=1.1, delays=0.01/0/0.47/0.67, dsn=5.0.0, status=bounced (host mx2.hotmail.com[65.55.37.120] said: 550 SC-001 (COL0-MC4-F17) Unfortunately, messages from 49.212.132.42 weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to end of DATA command))

550 SC-001:
ポリシーを理由にメールが Outlook によって拒否されました。拒否された理由は、メールの内容が迷惑メールの特徴に似ていることか、IP/ドメインの評価に関連している可能性があります。電子メールまたはネットワーク管理者のどちらでもない場合は、電子メールまたはインターネット サービス プロバイダーに連絡して支援を依頼してください。

うちのサーバーIP(49.212.132.42)が丸ごとブロックされているみたいです。
どうやら、なんらかのアルゴリズムでスパム発信元認定されたみたいです。
同様の現象は OCNでもSO-NETでも起きているので、うちも大手並み扱いされるようになったかと放置しておいてもいいのですが、いやそれはよくないので、解決策を探しました。

https://support.msn.com/eform.aspx?productKey=edfsmsbl2&ct=eformts
このURLからIPアドレスを送ったら、ものの30分ほどで解除してくれました。表現的には『軽減済み』ですけどね。

同じくこの問題で困っている方、参考になさってください。