勉強したことのメモ

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

  関連記事

WordPressでカスタムフィールドとCSVファイル投稿する方法
WordPressでカスタムフィールドとCSVファイル投稿する方法

WordPressでカスタムフィールド設定している環境に、CSVファイルアップロ ...

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

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

WordPressダッシュボードに投稿・固定ページ・カテゴリ・タグ一覧ページにIDを表示させてソート可能にする方法
WordPressダッシュボードに投稿・固定ページ・カテゴリ・タグ一覧ページにIDを表示させてソート可能にする方法

WordPressダッシュボードの投稿(記事)・固定ページ・カテゴリー・タグ一覧 ...

Advanced Custom FieldsでGoogleMapの使用する方法
Advanced Custom FieldsでGoogleMapの使用する方法

Advanced Custom FieldsでGoogleMapを使用したかった ...

WordPressでユーザー毎にフラグを持たせ分岐処理を行う方法
WordPressでユーザー毎にフラグを持たせ分岐処理を行う方法

WordPressでユーザー毎に何らかのフラグを持たせて、フラグによって分岐処理 ...