WordPressが攻撃されたようなので原因と対策を考えてみた

先日、Amazonアカウントがあわや乗っ取りということを書いたばかりですが、今度はWordPressで似たようなことが発生。

すぐにパスワードを変更すると同時に、このようなことが起こった原因と対策を調べました。

WordPressからパスワードリセットの通知メール

Amazonアカウントが乗っ取れそうになったときに、二段階認証を設定しておいたおかげで回避できたということを先日書きました。

Amazonからのパスワード変更通知二段階認証のおかげでAmazonアカウントの乗っ取りを回避できた

そのわずか2日後、今度はWordPressからパスワードリセットのメールが。
wordpressパスワードリセット

私はそのようなリクエストはしておらず、誰かがパスワードリセットを試みたことがすぐにわかりました。

WordPressのパスワードリセットは、ログイン画面で「パスワードをお忘れですか?」の文字をクリックして、次の画面でユーザー名かメールアドレスを入力すればリクエストできます。
WordPressログイン画面

ログイン画面は、デフォルトではURLの最後にwp-login.phpと入力すればアクセス可能。

このログインURLが変更されていなければ、誰でもこの画面に辿り着くことができ、パスワードリセットをリクエストできてしまうのです。

簡単なユーザー名やメールアドレスは攻撃をしやすくしてしまう

パスワードリセットをリクエストするためには、ログイン画面でユーザー名かメールアドレスを入力しなくてはいけません。

推測されやすいユーザー名(ブログ名と同じとかadminとか)やinfo@XXXみたいなメールアドレスを設定していたりすると簡単にパスワードリセットのリクエストができてしまいます。

パスワードリセットのリクエストができたからといって、すぐに不正侵入されるわけではありませんが、他人にそんなリクエストをされるのはなんとも気分が悪いものです。

ユーザー名やメールアドレスだけでなく、パスワードも「1234」「password」など単純なものである場合は、非常に危険なのですぐに変更しましょう。

一般的に攻撃は不特定多数に対して総当りで行われます。そのような攻撃は手動ではなくプログラムを使って行われるため、簡単なログインIDとパスワードを使っていて、不正ログイン対策のプラグインなどが適用されていなければ、標的になったが最後、あっという間に不正侵入されます。

WordPressの管理画面への不正侵入対策

不正侵入対策には様々なものがありますが、新たに行ったことも含めて、現状は次のとおりです。


  • WordPressは常に最新の状態に保つ
  • ログインパスワードは複雑なものにする
  • 投稿者名の表示をユーザー名以外に変更する
  • 安全性を高めるプラグインを導入する

WordPressは常に最新の状態に保つ

WordPressの更新は基本中の基本ですが、できていない人も多いかもしれません。特にWordPressをインストールしたまま放置しているブログなどがある場合は要注意。

レンタルサーバ会社に勤めていたときに多かったのがこれで、既知の脆弱性を突かれて特定のバージョンで更新が止まっているWordPressが一斉にクラックされていました。

同一サーバで複数のウェブサイトやブログを運用している場合、放置しているサイトがクラックされたら、同居している別のサイトも道連れになる可能性大です。不要なサイトはちゃんと削除しましょう。

ログインパスワードは複雑なものにする

これまでずっと、WordPressのパスワードは8桁程度の記憶できるものにしていました。簡単なものならすぐにログインできるし、8桁で数字も含めていれば大丈夫かなと油断していたんですね。

しかし今回のパスワードリセットリクエストでまずいと感じて、桁数が長く、パスワードジェネレータを使った乱数のようなパスワードに変更しました。

パスワード記憶アプリなどを使わないといけませんが、安全性を高めるためなのでしょうがないですね。

投稿者名の表示をユーザー名以外に変更する

WordPressの管理画面で「ユーザー>あなたのプロフィール」を選ぶと「ユーザー名」「ニックネーム」の欄があります。

ユーザー名はWordPressのインストール時に決めたもので、変更できません。ニックネームは任意の名前に変更可能です。

同じページに「ブログ上の表示名」というプルダウンメニューがあり、ここではユーザー名やニックネームが選べます。ここでユーザー名が選択されていると、コメント欄などでそれが公開されてしまいます。

ニックネームをユーザー名と違うものにして、ブログ上の表示名として選びましょう。

安全性を高めるプラグインを導入する

パスワードリセットをリクエストされる前から、Login LockDownというプラグインを使っていました。

Login LockDown

現在のバージョンでは、5分以内に3度パスワードを間違えると、同一IPからのログインを1時間ブロックする初期設定になっていて、ブルートフォース攻撃(総当りによってパスワードを割り出す攻撃)への効果的な対策になります。

セキュリティ系のプラグインは他にも色々とありますが、最低限、Login LockDownぐらいは入れておくとよいでしょう。

SiteGuard WP Pluginもセキュリティ系のプラグインとしては有名ですね。以前、インストールしましたが厳しすぎて自宅以外からログインができずに困ったことがあり(設定で変えられるんだと思いますが)、削除してしまいました。

ただ今回のことでセキュリティを高めねばと強く実感しているので、導入を再検討します。

いわいのあとがき

Amazonの次はWordPressが攻撃され、利用者が多いサービスは標的にされやすいことを実感。日頃からきちんと対策しておかないといけませんね。

普段は自宅の2階が仕事場ですが、宅急便が届いたときに気付けないことがよくあります。1階のピンポンが2階には聞こえないんですよ。

いまどきなんで、スマホでどこからでもカメラの映像が確認できて、音声対応で録画もできて、電源がないところでも取り付けられるように電池で動いてなんていう製品ができれば1万円台でないかなと思ってたらありました!安心の国産。前向きに購入を検討します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です