TechCrunchのこの記事「全世界のWordPressサイトに大規模攻撃; デフォルトのアドミンユーザ名’admin’がねらわれている」にドキッとした方も多いのではないだろうか。
弊社で管理しているサイトの90%はWordPressでできているといっても過言ではないので、正直他人事ではないです。
対策としてとれる方法は次の通り。(簡単順)
- 新しく管理権限ユーザーを作って、adminユーザーを削除する。adminユーザーの持っていた投稿は新しいユーザーに移す
- WPのDBを直接書換え。adminのIDと名前を書き換えるだけなので影響が少ないが、phpMyadminなどでの操作が必要。
UPDATE wp_users SET user_login=’newuser’, user_nicename=’newusername’ WHERE ID=xxx; - 追記:WPをマルチサイト対応にしている場合は、wp_sitemetaのsite_adminsも変更すること。
そうしないと、ネットワーク管理者になれなくなる。 - adminのログインに二段階認証を入れる
2番目の対策でやれば楽ちんなんだけど、今後adminだけの話ではなくなる可能性は十分あるので、今回は3番目の二段階認証でやってみることにします。まず、スマホ(Android)に AUTHYをインストール。iPhoneでもたぶん同じ。
- PCから、AUTHYにSign Inする。CLOUDFLAREなどの大手も使っているみたいだから大丈夫だと思う。
- Email、Country、Cellphone、Passwordを入れる。Countryは「Japan(+81)」、Cellphoneは頭のゼロを取る「9012341234」
- そうすると、携帯にメッセージ(SMS)が来る。https://www.authy.com/install からアプリをインストールしてねというメッセージなので、Playストアで AUTHYをインストールする。(無料)
- Android版 AUTHYをインストールする際も、Country、Cellphone、Passwordを聞かれるので再度入力。6桁のPINコードがメッセージ(SMS)で送られてくるので、それを入力すればインストール完了。
- Android版 AUTHYを起動すると、20秒ごとに TOKENが表示される。
スマホ(Android)で AUTHYが動くようになったら、PCでログイン。
- AUTHYでログイン。EmailとPasswordは先ほど入力したもの。
- Authy Token画面になるので、携帯に表示された TOKENを入力する。
- ダッシュボードが表示されたら「Create new application…」をクリック。Application Nameは適当に決める。
- Api Tutorial画面になったら、「or go to your dashboard」をクリック。
- 左サイドバーにいま決めた「Application Name」が表示されるので、これをクリック。
- このページの「Api Key」をコピーしておく。
AUTHYの「Api Key」が無事入手できたら、WordPressにプラグインを入れる。
- プラグインの新規追加で「Authy Two Factor Authentication」を検索、追加。
- 有効化したら、Settings画面で「Api Key」を設定。誰(権限)に対して二段階認証を行うかも設定できる。
- 「Disable external apps that don’t support Two-factor Authentication」にチェックを入れると、外部アプリが二段階認証をパスすることになるので、よく考えて設定すること。しない方がいいと思う。
- これが済んだら、ユーザープロフィールに移って、個人ごとの設定を行う。
- Two-Factor Authentication を Enableに。Country、Cellphoneを入力したら、携帯にメッセージが送られてきて完了。
※ 山本一郎氏がYahoo!に書くくらいだから、相当底辺まで広まったとみて、adminを変更する2番目の方法をとりました。