本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
ある日、自分のWordPressサーバにアクセスしようとしたら、
データベースへの接続エラー
と表示されて接続できない状態へ
ログを確認するとWordPressにxmlrpc.phpに大量のアクセスが
#/less/var/log/apache/access.log 185.130.5.165 - - [02/Apr/2016:07:04:05 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 185.130.5.165 - - [02/Apr/2016:07:04:07 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 185.130.5.165 - - [02/Apr/2016:07:04:08 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 185.130.5.165 - - [02/Apr/2016:07:04:15 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 185.130.5.165 - - [02/Apr/2016:07:04:27 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 185.130.5.165 - - [02/Apr/2016:07:04:36 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 185.130.5.165 - - [02/Apr/2016:07:04:45 +0900] "POST /xmlrpc.php HTTP/1.0" 500 561 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
これは、xmlrpc.phpを使うことで標準の管理画面以外からもAPIを使って、記事の投稿ができるようになる機能を悪用しようとしたもの。ここへのブルートフォースアタック(パスワードクラック)をかけているか、Pingback機能(自分の投稿に対してリンクが張られたことを知らせる)を悪用し、踏み台にして攻撃をしようとしているらしい。早急に対策をとる。WordPressをインストールしたディレクトリの.htaccessへ以下を追記
<Files "xmlrpc.php"> order deny,allow deny from all </Files>
これ以降、サーバ高負荷状態でアクセスできないという事は無くなった。だけど、気づいいたらWordPressスマホアプリからアクセスできない!
スマホ投稿はしたいのに、、、。どうもこのアプリはxmlrpc.phpを利用するらしい。そこで、ドコモスマホがとるIPアドレス範囲を許可する事で対応できる事にしました。
このサイトでIPアドレスを調べ.htaccessへ反映
<Files "xmlrpc.php"> order deny,allow deny from all allow from 1.66.96.0/21 allow from 1.66.104.0/23 allow from 1.72.0.0/21 allow from 1.72.8.0/23 allow from 1.72.10.0/24 ... </Files>
これで様子を見ます
上記サイトから、allow from IPアドレスとするにはExcelを利用するのが便利です。作成した.htaccessは下記のようになります。(2017/04/21現在)
ドコモからのアクセス許可の例
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> <Files "xmlrpc.php"> order deny,allow deny from all allow from 1.66.96.0/21 allow from 1.66.104.0/23 allow from 1.72.0.0/21 allow from 1.72.8.0/23 allow from 1.72.10.0/24 allow from 1.75.0.0/21 allow from 1.75.8.0/22 allow from 1.75.12.0/23 allow from 1.75.14.0/24 allow from 1.75.16.0/20 allow from 1.75.152.0/21 allow from 1.75.196.0/22 allow from 1.75.208.0/21 allow from 1.75.224.0/19 allow from 1.78.0.0/19 allow from 1.78.32.0/21 allow from 1.78.40.0/22 allow from 1.78.64.0/19 allow from 1.78.96.0/22 allow from 1.79.6.0/23 allow from 1.79.8.0/21 allow from 1.79.16.0/21 allow from 1.79.24.0/22 allow from 1.79.28.0/23 allow from 1.79.30.0/24 allow from 1.79.32.0/21 allow from 1.79.66.0/23 allow from 1.79.68.0/22 allow from 1.79.72.0/21 allow from 1.79.80.0/20 allow from 1.79.96.0/21 allow from 1.79.176.0/21 allow from 49.96.0.0/18 allow from 49.96.216.0/21 allow from 49.96.224.0/21 allow from 49.96.242.0/23 allow from 49.96.244.0/23 allow from 49.97.1.0/24 allow from 49.97.2.0/23 allow from 49.97.4.0/24 allow from 49.97.16.0/22 allow from 49.97.31.0/24 allow from 49.97.32.0/23 allow from 49.97.34.0/24 allow from 49.97.39.0/24 allow from 49.97.40.0/23 allow from 49.97.42.0/24 allow from 49.97.47.0/24 allow from 49.97.48.0/23 allow from 49.97.50.0/24 allow from 49.97.55.0/24 allow from 49.97.56.0/21 allow from 49.97.64.0/20 allow from 49.97.88.0/22 allow from 49.97.92.0/22 allow from 49.97.96.0/19 allow from 49.98.7.0/24 allow from 49.98.8.0/21 allow from 49.98.16.0/23 allow from 49.98.32.0/19 allow from 49.98.64.0/18 allow from 49.98.128.0/17 allow from 49.104.0.0/18 allow from 49.104.64.0/20 allow from 49.104.80.0/21 allow from 49.106.200.0/21 allow from 49.106.208.0/20 allow from 49.106.224.0/22 allow from 49.106.228.0/23 allow from 110.163.6.0/23 allow from 110.163.8.0/22 allow from 110.163.12.0/23 allow from 110.163.216.0/21 allow from 110.163.224.0/22 allow from 183.74.0.0/21 allow from 183.74.8.0/23 allow from 183.74.192.0/20 </Files>
AUからのアクセス許可
2019/03現在
スマホタブレットからのアクセス許可 IPアドレス
allow from 106.128.0.0/13 allow from 106.180.16.0/20 allow from 106.180.32.0/20 allow from 106.180.48.0/22 allow from 111.86.140.128/27 allow from 182.248.112.128/26 allow from 182.249.0.0/16 allow from 182.250.0.0/15