2021
01.24

xmlrpc.phpへのDoS攻撃

Wordpress, 技術情報

WordPressディレクトリ直下にxmlrpc.phpがあります。
xmlrpc.phpファイルはアプリなどのXML-RPCを使った更新機能として用意されています。
ただ、DDoS攻撃、ブルートフォースアタックの対象にされてしまうことがあり、対象にされている間はサーバの動作が重くなるか、もしくはアクセスできなくなります。
特定のIPアドレスから大量のアクセスがあったり、CPU使用率が高い場合は、DDoS攻撃やブルートフォースアタックの対象にされている可能性があります。

CPU31.5%    POST /xmlrpc.php HTTP/1.1

xmlrpc.phpにPOSTしている行が大量にあれば今回の対応策にあてはまるので、Apacheのログがあるディレクトリに移動し、下記のようにgrepで検索しても良いでしょう。

grep "xmlrpc.php" access_log

緊急対応としてはxmlrpc.phpを削除するという方法もありますがxmlrpc.phpはWordPressをアップデートした時に復活してしまうので、中長期的には根本的な対応が必要です。
対応策は数多くありますが、ここで紹介する対応策はプラグインによる制限と、.htaccessファイルを使った制限です。

もしまだアタックを受けていないとしても、下記の対応はしておいた方が良いでしょう。

【対策1】

.htaccessファイルでxmlrpc.phpへのアクセスをリダイレクト

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

【対策2】

Disable XML-RPC Pingbackをインストール

Disable XML-RPC Pingbackプラグインを導入して、xmlrpc.phpへのアクセスを制限することもできます。
.htaccessファイルに設定していればこのプラグインは不要です。

Disable XML-RPC Pingbackプラグインを導入後、xmlrpc.phpページにアクセスすると次のようなメッセージが表示されます。

XML-RPC server accepts POST requests only.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments