ワードプレス(WordPress)セキュリティ

WordPressに不正侵入されサーバー停止になった案件、原因追及と対策案にChatGPTを活用しました

この記事は約8分で読めます。

WordPressに不正侵入されサーバー停止WordPressに不正侵入がありサーバー停止になった案件に対応しました。ホームページ(WordPressで構築)の表示に不具合があります。なにより、サーバー会社からの警告メールがあり、その内容がかなり深刻でした。
そこで、現状調査をしたうえで対応を検討しました。不正侵入により不正なファイルが多数埋め込まれているような状況でした。

WordPressサイトに不正侵入された案件

サーバー会社からの警告で事態を把握

「サポートにて実施したセキュリティ調査について」というメールがエックスサーバーから管理者あてに届いていました。その内容の一部は以下のとおりです。

お客様のサーバーアカウントにおいて
前述の不正なファイル(ウイルス、マルウェアなど)が検出されるとともに、
日本国外からの不審なアクセスを確認いたしました。

[不審なアクセスログの一部] ————————————————————
*mailer.php” *zwso.php HTTP/1.1″ 200 – “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64)
————————————————————

上記ログに記載されているファイルにつきましては、
不正に設置または改ざんされている可能性が高くございます。

mailer.phpとかzwso.phpというファイルは、もともとのWordPressには存在しないファイルです。これらが不正に埋め込まれているようです。

不正なファイルはパーミッションを「000」にして動作できないようにロックしました。このゆおなファイルがサーバー内に多数ありました。

このメール内容やサーバーのアクセスログなどを見たうえでChatGPTを使い、現状分析と対策案について検討しました。

その内容は以下のとおりです。

不正侵入された原因

この問題は、WordPressなどのプログラムに脆弱性管理パスワードの流出が原因で、不正アクセスを受けたことに起因します。不正プログラムが設置され、大量のメール送信やファイル改ざんが行われていました。

具体的には、日本国外からの不審なアクセスとともに、攻撃者によるマルウェアの設置が確認されています。

対策

以下の手順で対応することをお勧めします。

  1. PCのセキュリティチェック
    • ウイルス対策ソフトを最新バージョンに更新し、PC内のスキャンを実施します。
    • 使用しているソフトウェア(ブラウザやプラグイン)の更新を確認。
  2. 不正ファイルの削除
    • サーバー管理パネルにログインし、リストアップされた不正プログラムを削除します。
    • 必要に応じて、該当ドメインを初期化し、クリーンなデータを再アップロードします。
  3. WordPressの更新
    • 使用中のWordPress、プラグイン、テーマを最新バージョンにアップデートします。
    • 必要に応じて、安全性の確認済みのものに置き換えます。
  4. パスワードの変更
    • WordPress管理画面、FTPアカウントなど、すべてのパスワードを安全なものに変更します。
  5. サーバー設定の調整
    • WAF(Webアプリケーションファイアウォール)を有効化。
    • サーバーの「php.ini設定」でallow_url_fopenallow_url_includeを「無効」に設定。
  6. バックアップの利用
    • 必要に応じて、自動バックアップ機能からデータを復元し、不正プログラムが含まれていないことを確認。

注意

  • セキュリティ対策を実施しない場合、さらなる攻撃やサーバーの制限強化が行われる可能性があります。
  • 迅速に対策を実施し、再発防止を徹底してください。

追加のサポートが必要な場合、エックスサーバーのサポート窓口に相談することも有効です。

流出した可能性があるパスワードについて

エックスサーバーからの警告文では、流出した可能性が高いのはWordPressのログイン情報であると推測されます。

理由として以下が挙げられます。

  • 不正アクセスが主にWordPressの脆弱性やログイン情報の流出を起因としていると説明されています。
  • FTPやサーバーアカウントの直接的な不審なアクセスは確認されていないと記載されています。

つまり、WordPressの管理パスワードがブルートフォース攻撃(総当たり攻撃)やその他の方法で推測・流出した可能性が高いです。

PCのウイルス感染の可能性について

メール内の内容では、「念のためPCのセキュリティチェックを行ってください」とされています。これは、必ずしもPCがウイルス感染していると断定しているわけではなく、以下の可能性に対処するための予防策です:

  • WordPressの管理パスワードがPC内のキーロガーなどによって盗まれた可能性
  • PCからFTP情報やその他の認証情報が漏洩した可能性

ただし、今回の状況からすると、PCがウイルス感染している可能性は低いと考えられます。根本原因として指摘されているのは、WordPressの脆弱性やパスワード流出であり、直接的にPC感染の証拠が提示されているわけではありません。

結論

  • パスワード流出の主な対象:WordPressの管理ログイン情報。
  • PCの感染可能性:高いとは言えませんが、念のためウイルススキャンを実施することが推奨されます。

これらを踏まえ、早急にWordPressのログインパスワードや関連するアカウント情報を強固なものに変更し、セキュリティ対策を強化してください。

対策はサーバーのバックアップファイルから復元

管理者のPCにはウイルススキャンを実施

WordPressの管理者権限があるログイン情報が漏洩した可能性が高いので、その情報を保存してあるすべてのPCについて、ウイルススキャンを実施してもらいます。

サーバーを問題のない時期の内容に復元する

このサーバーへの侵入は2025年になってからのようですので、2024年12月末ころには問題がないはずです。調べたら12月27日までのバックアップデータがありました。

そこで、エックスサーバーの復元機能を使いました。

いったん手動でのバックアップを作成しておきます。これで自動バックアップから復元できるようにデータ取得を実施しました。

そのうえで、自動バックアンプファイルから12月27日のバックアップデータからの復元を実施しました。

予防的な対策

サーバーを復元したら、今後は予防的な対策を実施しておきましょう。
以下はその対策案の一覧です。

WordPress本体やプラグインの最新化

  • WordPress本体、テーマ、プラグインを常に最新バージョンに保つ。
  • 使用しないテーマやプラグインは削除。
  • プラグインの更新が止まっているものは別のプラグインに切り替えを検討。

セキュリティプラグインの導入

  • WordPress向けのセキュリティプラグインをインストールして設定。
    • 例: Wordfence, Sucuri, iThemes Security
  • 不正アクセスや改ざんの兆候を検知・通知。

二要素認証(2FA)の導入

  • 管理画面へのログインに二要素認証を導入。
  • プラグイン(例: Google Authenticator, Authy対応)で簡単に設定可能。

ファイルとディレクトリの権限設定

  • サーバー上のファイルやディレクトリの権限を適切に設定。
    • ファイル: 644
    • ディレクトリ: 755
    • wp-config.php: 600

定期的なマルウェアスキャン

  • サーバー上のファイルを定期的にスキャンして不正ファイルを検出。
  • サーバー会社が提供するセキュリティスキャンツールも活用。

バックアップの確保

  • 自動バックアップの設定:
    • データベースとファイルを定期的にバックアップ。
    • プラグイン例: UpdraftPlus, BackWPup, All-in-One WP Migration
  • バックアップデータはサーバー外(例: Dropbox, Google Drive)に保存。

管理者アカウントの強化

  • 管理者アカウントの名前を「admin」にしない。
  • パスワードは長く、複雑で、一意のものに設定。
  • 不要なユーザーアカウントを削除。

アクセス制限

  • サーバーの .htaccessnginx 設定で管理画面(wp-admin)やログインページへのIP制限を設定。
  • 国別アクセス制限(例: 日本以外からのログインをブロック)。

Web Application Firewall(WAF)の導入

  • サーバー会社が提供するWAFを利用して攻撃を防ぐ。
  • WordPress用のクラウド型WAF(例: Cloudflare)も併用。

もしものことが起きた時の対策

早期検知

サイトに異常があった場合は、以下のチェックを行う:

    • サイトが改ざんされていないか。
    • 不審なファイルやスクリプトがアップロードされていないか。
    • サーバーアクセスログに不審なリクエストがないか。

即時対応

  • サイトをメンテナンスモードにしてアクセスを一時停止。
  • 不審なファイルやスクリプトを削除。
  • サイトのバックアップから正常な状態に復元。

被害範囲の確認

  • 他のファイルやデータベースに感染が広がっていないか確認。
  • サーバー全体の再スキャンを実施。

パスワードのリセット

  • WordPressアカウント、FTP、データベース、サーバー管理画面のすべてのパスワードを変更。

セキュリティ専門家への相談

  • 大規模な改ざんやデータ漏洩が発覚した場合、専門家(例: サーバー会社、セキュリティ企業)に相談。

再発防止策の導入

  • 改ざん後の再発を防ぐため、上記の予防策を強化。
  • セキュリティ設定の見直しや、不正アクセスに対応したプラグインの活用。

日常的な管理フローの例

  1. 週次チェック:
    • WordPressの更新状況やバックアップの確認。
    • セキュリティプラグインのスキャン結果確認。
  2. 月次点検:
    • サーバーのアクセスログやエラーログを確認。
    • 管理画面やFTPのユーザー権限の再確認。
  3. 年次点検:
    • サーバー契約内容や利用中プラグインの再評価。
    • セキュリティルールの更新。

予防策をしっかり講じることで、問題の発生を最小限に抑えることが可能です。また、迅速な対応計画を立てておくことで、もしもの際にも被害を最小限に抑えることができます。