6月は本ブログのCMS「Wordpress」に不運が続きました。いや、ボクの不注意や怠慢なのですが、サイト自体が不調だと記事作成に向き合うのが億劫になりますね。気持ちよく、前向きに記事作成に取り組めるように、自戒を込めて、今回起きた事象と対策について記録をしておきます。
スパムサイトに自動リンクが貼られる悪意あるプラグインを仕込まれたときの対応と対策
5月末にサイトにアクセスして2ページ目(サイトにランディングした後に、どこかのリンクをクリックすると)に、「おめでとうございます!当選しました」というような良くあるスパムサイトが表示されるようになりました。このようなページに当サイトからアクセスされた方は申し訳ございませんでした。本事象に関しては、原因はすぐに特定することができました。
サーバーへのファイル転送で使っているFTPソフトで、上記のようにサーバー上のファイルを「日付検索」して、直近で更新されたフォルダ・ファイルを確認します。すると、見覚えのないフォルダがプラグインディレクトリで発見されました。こちらを削除することで問題は解決。スパムサイトへ勝手にリンクされることはなくなりました。この間、10分ほど。これで一件落着かと思いました。が、本当の戦いはこれからでした。
2~3日すると、再び同じ不正プラグインがインストールされています。原因は分かっているので、即プラグインを削除して対応は終了。対策として、ログインページのURLとパスワードを変更した上で、ファイルのスキャンを行いました。以下のプラグインを使用しました。
- ログインページURLの変更:SiteGuard WP Plugin
- ファイルスキャン:Wordfence Security
ファイルスキャンでは問題は検出されなかったけれど、再び2~3日で同様のプラグインがインストールされます。今度はレンタルサーバー(Xサーバー)側で対策を行います。管理画面から、以下のファイヤーウォールの設定をすべて「オン」にしました。
しかし、また同様に不正プラグインがインストールされます。次にサーバーとFTPのログインパスワードを変更します。この対応が最後になったのは、パスワードがランダムな英数字に設定されていて、ここは突破されるところではないだろうとタカを括っていたから。しかし、この変更を行うことで、それ以後、プラグインがインストールされることはなくなりました。段階的な対応になってしまったことで、時間がかかりましたが、解決しました。
ページのロード(読み込み)が終わらないときの対応と対策
マルウェアへの対応が終わり、ホっとしたのも束の間。それからしばらくすると、当サイトでよく活用している2枚の写真を重ねて表示し、スライダーでビフォー・アフターを見せることができるプラグイン「Twenty20 Image Before-After」を使って表示させている画像が表示されなくなりました。最初は当該プラグインの不調を疑い、サイトやプラグインのフォーラム等で情報を探しましたが、有力な情報は得られませんでした。
次に、Google DevelopperToolsで調査しました。ネットワーク画面でスクリプトが躓いていたりしないかを確認すると、どうやらページ自体の読み込みが終わらないことに気が付きます。読み込みを強制終了してみると、ビフォーアフターの画像が表示されました。ここで、プラグインが原因ではないことに気が付きます。引き続き、ディベロッパーツールでページのロードが終わらない原因を究明しますが、ウェブフォントやアドセンスが疑わしい状況などが見られましたがイマイチ、ピンとこず。。
ウェブフォントの問題を検証するためにテーマを変更してみたり、アドセンスの問題を検証するために広告を外してみたりと取り組みますが、いずれも解消せず。次に、全プラグインをひとつひとつ検証する対応に移りました。ここで活躍したのが、昨年サーバー移転時に設定していたステージングサイトです。稼働中のサイトですべてのプラグインを外すのは勇気がいりますが、ステージングサイトでなら、ためらわずに一気に外すことができました。(ステージングサイトでも同様の現象が起きていました)すると、ページのロード問題が解消されていました。
そこから、ひとつひとつプラグインを有効化していきます。まずは問題に気が付くきっかけとなった「Twenty20 Image Before-After」を有効化します。問題なく画像が表示されました。それからひとつひとつと有効化していく過程で、問題のプラグインが分かりました。コメント機能を拡張する「Disqus」プラグインでした。ただ、このプラグインを使っている他のサイトでは問題が出てなさそうだったりするので、ボクの環境特有な可能性もありますが、もともとけばけばしい広告表示や、読み込みの重さが気になっていたこともあって、これを機にDisqusは止めることに決めました。
止めるにあたっても、Disqus利用中に残していただいたコメントがWordpressに残っていないという問題もありましたが、Disqusからコメントをダウンロードし、MySQLデータベースに直接登録することでコメントを移すことができました。いろいろハードルがありましたが、なんとか乗り越え、記事作成に注力ができる環境になったと思います。
今回の諸問題の教訓を短くまとめておきます
- 不正対策には油断せずに、面倒くさがらずに、ログイン・パスワードを変更する
- サイト表示に不具合がある場合は、面倒くさがらずにプラグインをひとつひとつ見直し、検証する
- 思い切った検証ができるようにステージングサイトを準備しておく
この3つですかね。もしもし、また何かの問題が起こったときにはためらわずに上記を実行します : )
コメント - comments -