本文へスキップ
TYP create

WordPressがPHPの攻撃を受けたときの対策|今すぐ確認したい設定チェックリスト

WordPress
セキュリティのイメージ(南京錠)

WordPressでサイトを運営していると、PHPファイルを狙った攻撃は、いつ起きてもおかしくありません。この記事では、PHPを狙った攻撃からサイトを守るための設定を、サーバー側とWordPress側に分けてチェックリストにまとめました。

レンタルサーバーを使っている方を想定した内容です。設定の名前や場所はサーバーによって違うので、契約中のサーバーのマニュアルも見ながら進めてください。


先にポイント:守りは「3段構え」

  1. 入口をふさぐ:WAFやアクセス制限で、攻撃をサイトに届かせない。
  2. 中身を守る:更新、ログイン保護、権限の見直しで、入られても被害を小さくする。
  3. 戻せるようにする:バックアップを用意して、被害に遭っても元に戻せるようにする。

PHPを狙った攻撃とは?

WordPressはPHPというプログラムで動いています。攻撃者は、サイトに怪しいPHPファイルを置いたり、プラグインやテーマの弱点を突いて不正なコードを実行しようとします。ログイン画面への総当たり(パスワードを何度も試す)も、よくある手口です。

放置すると、サイトの改ざん、スパムの送信、他サイトへの攻撃の踏み台にされるなど、被害が広がります。早く気づいて、小さいうちに止めることが大切です。

セキュリティのイメージ(南京錠)

まず確認したい「攻撃を受けたかも」のサイン

  • サイトの表示が崩れた、見覚えのないページやリンクが出る
  • 管理画面に、身に覚えのない管理者ユーザーがいる
  • サーバーから、不審なアクセスやファイルに関する通知メールが届く
  • アクセスログに、存在しないPHPファイルへのアクセスが大量にある
  • ファイルの更新日時が、操作した覚えのない日付になっている

ひとつでも当てはまれば、次の対策を急いで確認しましょう。被害の確認前に、まずバックアップを取っておくと安心です。

サーバー側の対策

入口をふさぐ設定です。サーバーの管理画面から、数分で確認できます。

  • WAF(ウェブアプリケーションファイアウォール):不正なリクエストを自動で弾く機能です。ドメインごとに有効になっているかを確認します。
  • 海外からのアクセス制限:海外からの管理画面へのアクセスを止めます。日本国内からしか管理画面に入らないなら、有効にしておくと効果的です。
  • PHPのバージョン:古いバージョンのまま使っていないか確認します。サポートが終わったバージョンは、弱点が残ったままになります。

※設定の名前や場所は、レンタルサーバーによって異なります。

WordPress側の対策

入られても被害を小さくする設定です。

  • 更新を最新にする:WordPress本体、テーマ、プラグインを更新します。使っていないものは、無効化ではなく削除しましょう。
  • ログインを守る:パスワードを長く複雑にし、二段階認証を入れます。ログイン試行の回数を制限するプラグインも有効です。
  • 管理者のユーザー名を見直す:「admin」など推測されやすい名前は避けます。
  • xmlrpc.phpを止める:使わないなら無効にして、総当たりの入り口をなくします。
  • 管理画面でのファイル編集を無効にする:wp-config.phpに1行足すだけで、万一ログインされてもコードを書き換えられにくくなります。
  • uploadsフォルダでPHPを動かさない:画像置き場に置かれた不正なPHPが実行されるのを防ぎます。

万一のためのバックアップと復旧

どんなに対策をしても、被害をゼロにはできません。だからこそ、元に戻せる状態を作っておくことが最後の守りになります。

バックアップはUpdraftPlusなどで定期的に取り、サーバー以外の場所(Google Driveなど)にも置いておきましょう。取り方は、WordPressのバックアップ記事で詳しく紹介しています。

バックアップのイメージ(クラウドとサーバー)

対策チェックリスト

  1. サーバーのWAFが有効になっている
  2. 海外からのアクセス制限を確認した
  3. PHPのバージョンが新しい
  4. WordPress・テーマ・プラグインが最新で、不要なものは削除した
  5. ログインの二段階認証と試行回数の制限を入れた
  6. xmlrpc.phpとファイル編集を止めた
  7. uploadsフォルダでPHPが動かない
  8. バックアップが定期的に取れていて、保存先を確認した

よくある質問

メンテナンスページは自分で用意する必要がある?

基本的には不要です。WordPressは更新中に自動でメンテナンス表示を出します。長く止めたいときだけ、プラグインなどで専用ページを用意します。

プラグインだけでセキュリティ対策は十分?

十分とはいえません。プラグインはWordPress側の守りで、サーバーのWAFやバックアップと組み合わせると効果が高まります。

被害が疑われるとき、まず何をする?

先に現在の状態でバックアップを取り、パスワードを変更して、更新と不審なユーザー・ファイルの確認を進めます。自分で判断できないときは、サーバー会社に相談しましょう。