勉強したことのメモ

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の記事情報をpostIDを指定して取得する方法
他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法

他所のサーバからWPの記事IDを指定した上で、当該IDのタイトル・アイキャッチ画 ...

WordPressで閲覧者にテーマを変更させるプラグイン(Theme Switcher)
WordPressで閲覧者にテーマを変更させるプラグイン(Theme Switcher)

「新規サイトを○○みたいなイメージでWordPressのテーマを見繕って欲しい」 ...

WordPressにてAdvanced Custom Fieldsを用いて連載(シリーズ)記事機能を実装する方法
WordPressにてAdvanced Custom Fieldsを用いて連載(シリーズ)記事機能を実装する方法

先日「Series」プラグインで連載(シリーズ)記事機能の実装方法をメモしたが、 ...

WordPressでメモリを節約しつつ高速化する設定方法
WordPressでメモリを節約しつつ高速化する設定方法

メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...

WordPressで実行されているSQL文をページ上に表示する方法
WordPressで実行されているSQL文をページ上に表示する方法

WordPressにてWP_Queryで記事を取得しようとしたものの希望の挙動に ...