勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

WordPressのxmlrpc.phpに対する攻撃の対策方法

   2024/02/25  WordPress

サーバーの死活監視をしているシステムから、1つのサイトが落ちているとアラートがきた。ロードアベレージが跳ね上がっており、apacheのアクセスログを確認すると海外のIPからWordPressのxmlrpc.phpに対してアクセスが集中していた。以下に対策方法と、これは何だったのかをメモ。

 

対策方法

ファイアウォールで該当のIPを遮断。

-A RH-Firewall-1-INPUT -s xxx.xxx.xxx.0/24 -j DROP

WordPressのhtaccessでxmlrpc.phpへのアクセスを制限。index.phpのリライトルールの前の行に以下を追記。

RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]

 

xmlrpc.phpとは

WordPressに対して外部から記事の投稿を行う為のファイル。スマートフォンのアプリとかから投稿する際に、このファイルを使っているみたい。

 

結局何だったのか

xmlrpc.phpを狙った攻撃でよくあることらしく調べると結構な記事数が見かけられた。

 - WordPress

  関連記事

Contact form7でフォーム送信時に別サーバへもデータを送信する方法
Contact form7でフォーム送信時に別サーバへもデータを送信する方法

contact form7でフォーム送信時に別サーバーでフォーム内容をPOST送 ...

Advanced Custom Fieldsでチェックボックスの記事を取得
Advanced Custom Fieldsでチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...

WordPressでテーマファイル内で共通の変数を設定及び使用する方法
WordPressでテーマファイル内で共通の変数を設定及び使用する方法

WordPressでテーマ内の共通変数を設定し使用したかった。例えば記事一覧ペー ...

WordPressでスケジュール実行される日時を調べる方法
WordPressでスケジュール実行される日時を調べる方法

WordPressであるシステムを実装し、その際に毎日1回スケジュール実行(WP ...

WordPressのテーマファイル内で取得したオブジェクトを指定のフィールド名でソートする方法
WordPressのテーマファイル内で取得したオブジェクトを指定のフィールド名でソートする方法

WordPressのテーマファイル内で記事やカテゴリ一覧等を取得するとオブジェク ...