WordPressのxmlrpc.phpを停止する 高負荷状態を回避

WordPressを使っているサイトのログに

[error] server reached MaxClients setting, consider raising the MaxClients setting

と表示が現れ、高負荷状態でサーバがダウン。エラーメッセージで検索すると、MaxClientsの値を上げれば良いと書かれていますが、負荷が高いのであればMaxClientsの値を上げても意味がありません。

色々ログを調べてみると、WordPressのxmlrpc.phpに対する攻撃が原因のようでした。

xmlrpc.phpはリモートで投稿する時に使う機能ですが、使う事がないため、全てのサイトでxmlrpc.phpを無効にしました。

ちなみに、xmlrpc.phpを削除してもアップデートの時に復活するようですので、.htaccessやNginxで無効に設定します。

■Apacheの場合

<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>

■Nginxの場合

location ~* /xmlrpc.php {
deny all;
}

これで、今回の高負荷状態は避けられました。