以前WordPressでのリニューアルを納品させていただいたお客様から久しぶりに連絡がありました。レンタルサーバー会社からハッキングされているとメールが来たけど自分では対応できないのでなんとかして欲しい、のと事です。
レンタルサーバー会社から届いたメールは、「WordPressが不正アクセスされており迷惑メールが多数送信されているのでブロックしました。不正ファイルを取り除いて、バックアップがあるならば修復してください」との事でした。
このお客様とはリニューアル作業のみで保守契約は結んでいませんが、放置も出来ないので特別に対応することにしました。
このレンタルサーバーの契約はお客様が以前から自身で契約しているところで、FTP接続とコントロールパネルからの操作のみです。
幸い、WordPress自体は破壊されておらず、迷惑メールを送るスクリプトの踏み台設置だけに使われていた模様でした。これについては既にレンタルサーバー会社がBASIC認証をかけて封じてあります。
管理画面にログインすると、何故かWordPressのバージョンが古いままで止まっていました。サーバーのPHPバージョンが5.3と古かったので自動アップデートが出来なかったのです。これが不正アクセスを許した脆弱性である可能性が高いでしょう。レンタルサーバー会社に連絡してPHPのバージョンを可能な限り新しくしてもらい、その上でWordPressを最新版にアップデートします。
迷惑メールの踏み台スクリプトは複数箇所に配置されていました。所有権はapacheなので、FTP権限が奪われたのでなく、WordPressの脆弱性を突かれた可能性が推測されます。これはこちらの権限ではパーミッションが違うので削除出来ません。レンタルサーバー会社に頼んでもいいのですが、今回は作業用phpスクリプトをアップロードして削除しました。
ログには今も世界中からWordPress管理画面への不正ログインが試行されているのが記録されていました。困ったものです。完全に国内向けのサイトなので海外からのIPをブロックしたいところですが、このレンタルサーバーにはそのオプションが生憎ありません。これはWordPressのプラグインで対処することにします。
WordPressを最新版にした後、保護用プラグインとしてJetpack by wordpress.comを使うことにしました。これは総当たり攻撃などから不正なログインを防いでくれます。今回のケースには好適です。
Jetpackを動作させると、程なく攻撃をブロックしたことを知らせるカウントが動作しました。全く油断できません。攻撃は世界中各所から、一つのIPからきっちり5回ずつの攻撃です。失敗が続く事でのブラックリスト登録を避けてのことでしょう。その上、次々に切り替えて攻撃をしてくるので自前のブラックリスト作成はほぼ無意味です。Wordpress.comに蓄積された情報とJetpackプラグインが頼りです。
これで万全とはいかないでしょうが、パスワードの長さを十分に長くして、WordPressのアップデートを欠かさない事を守れば、とりあえずは安心できそうです。
協力してくれたレンタルサーバーのサポート係にお礼を述べて、お客様に報告しました。