Random Circuits
Experiment log

WordPressの更新通知が止まらないと思ったら、古いWordPressが残っていた

止めたはずのWordPress更新通知が届く

WordPressを運用していると、

「WordPressが自動更新されました」

というメールが届くことがあります。

今回のサイトでは、現在使用しているWordPressについて更新通知の設定を確認していたため、

「もう来ないはずでは?」

と思っていました。

ところが、再び更新メールが届きます。

最初は設定が効いていないのかと思いました。

しかしメールに記載された時刻を見て、少し気になる点がありました。

FTPで確認すると別のWordPressが存在した

現在使用しているWordPressは、

/cms/

に設置しています。

ところがFTPでサーバーを確認すると、

/wp/

という別のディレクトリが残っていました。

以前使用していた古いWordPressです。

さらにFTP上のファイル更新時刻を確認すると、

更新通知メールが届いた時刻とほぼ一致していました。

つまり更新されていたのは現在運用している /cms/ ではなく、

昔の /wp/ に残っていたWordPress

だった可能性が非常に高くなります。

原因が分かれば話は単純ですが、通知メールだけを見ていたら現在のWordPressが更新されたと思ってしまいます。

サイトをリニューアルしても古いWordPressが残ることがある

Webサイトを長期間運用していると、

などに古いWordPressが残っていることがあります。

リニューアル時に新しいWordPressを別ディレクトリへ作り、切り替え後も旧環境を念のため残したケースです。

気持ちはよく分かります。

実際、古いサイトをすぐ削除するのは少し怖いものです。

しかし問題は、

使っていないWordPressでもサーバー上に存在する限りプログラムとして動く

ということです。

管理画面へアクセスできればログイン攻撃の対象にもなりますし、古いプラグインやテーマに脆弱性があれば侵入経路になる可能性もあります。

いきなり削除せずアクセスできない状態にした

今回も、

「使っていないなら削除してしまえばいい」

とも考えられます。

ただ、古いサイトには何が残っているか分かりません。

データベースとの関連もあります。

そのため、いきなりファイルやデータベースを削除するのではなく、

まず旧WordPressのディレクトリを外部から利用できない状態にする

ことにしました。

FTPから旧ディレクトリのパーミッションを一時的に変更してアクセスを遮断。

ブラウザからアクセスすると403 Forbiddenになることを確認しました。

これなら元に戻す必要が出た場合にも、パーミッションを戻せます。

403になればすべて安全というわけではない

注意したいのは、

403になったから永久に安心、という意味ではない

ことです。

今回行ったのは、古いWordPressが通常のWebアクセスから動き続ける状態を一度止めるための措置です。

最終的には、

などを確認したうえで、不要な環境を整理する方がいいでしょう。

古いWordPressは意外なところに残っている

WordPressの保守というと、現在表示されているサイトだけを見がちです。

しかし同じサーバー内に、

「昔使っていたWordPress」

「制作会社が作ったテスト環境」

「リニューアル前のバックアップ」

などが残っていることがあります。

しかもそれらが古いPHPや古いプラグインのまま動作していると、現在のサイト以上に危険な場合があります。

更新通知は異常を見つけるヒントにもなる

今回の場合、少し邪魔に感じた自動更新通知メールが、結果として古いWordPressの存在を見つけるきっかけになりました。

通知時刻とFTPのタイムスタンプを照合したことで、

「更新されているのはこっちだ」

と判断できたわけです。

WordPressで身に覚えのない更新通知が届いたら、

設定だけを見るのではなく、同じサーバー内に別のWordPressが残っていないか

を確認してみる価値があります。

長く運用してきたWebサイトほど、現在のサイトだけでなく、

サーバー全体を一度棚卸しする

ことが大切なのかもしれません。