xmlrpc.php へのアタック対策 Apache & nginx

xmlrpc.php はwordpressのファイルで、管理画面以外から投稿を受け入れる機能があるファイル。
このファイルを狙ったアタックを検知した。
xmlrpc

このファイルへのアクセスはデフォルトでこんな感じ
urlbarxmlaccess

 

プラグインで防ぐ方法もあるようだが、htaccessでできる
xmlrpcは使わないので0.0.0.0へリダイレクト
ついでにcronとloginにはIP制限する

  <Files ~ "(wp-cron|wp-login)\.php$">
 Order deny,allow
Deny from all
Allow from 許可IP 192.168.0.0/255.255.0.0
AuthType Basic
AuthName "ENTER YOUR NAME & PASSWORD TO LOGIN"
AuthUserFile /home/.user/.htpasswd
Require valid-user
Satisfy any
</Files>

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

HTTPレスポンスが200から404に変わった。
見てみると
xml404
アタックも止まった。うまく行ったようだ。

 

以下は nginxの場合 

confファイルに追加して再起動]


#access denyed
location = /xmlrpc.php {
deny all;
access_log off;
error_log off;
}
#複数ファイルならこう
location ~ (/xmlrpc.php|/moodle/calendar/set.php|/moodle/calendar/view.php)$ {