[WordPress]なぜ私のWPが狙われるのか?xmlrpc.php編
2月頃から私のワードプレスにログインできない、表示できないということが発生。
これまでサーバー周りは勉強したことがなかったのでなかなか原因が特定できず、ネットの諸先輩方の情報を基にやっと、最近になって「海外からの異常アクセスがあった」ということが判明。
「異常なアクセス」とは、「通常の閲覧(訪問)ではなく、存在しないページを表示しようと短時間で試みるアクセス」のことと私は定義します。その理由は、私が利用しているレンタルサーバーでは「異常なアクセス」に関するログ(履歴)は自動で残るようになっているからです。それに対し、閲覧だけの一般の訪問者の方のログは残りません。
難解なので1つずつ解決するために、その「異常なアクセスのログ」の中から一つ「xmlrpc.php」を取り上げます。
一例
/home/byte/www/xmlrpc.php’ not found or unable to stat
not found なのでサーバーのステータスコードでいえば HTTP 404。後半の unable to stat は固定メッセージの模様
WordPressに標準装備されている「メールからの記事投稿機能」のためにあるのが「xmlrpc.php」ファイルだそうです。この「メールからの投稿」を使う人は現状のままで使うしかありません。
ですが、私のように「メールからの投稿をしない」そして「異常なアクセスを少しでも減らしたい人」は次の方法があるそうです。
参考元、謝辞:リズムファクトリー様「XMLRPC.PHPにDOS攻撃を受けた時の対処法」
https://rfs.jp/sb/wordpress/wp-lab/xmlrpc-php-ddos.html
上記より
・xmlrpc.phpがあると、DDos攻撃(wikipedia)や総当たり攻撃(wikipedia)の対象にされる
・そのページの複数の対処法から私は「xmlrpc.php にアクセスしてきたら、存在しないサイト 0.0.0.0 に飛ばす」方法にしました。
この一文
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]
を、WordPressのあるフォルダ内の .htaccessファイル の下記の部分に追加する。
補足)
・ ” は半角です。全角だと機能しません。コピペ時にご注意下さい
・ここでは \ ですが実際は ¥です。文字コードによるもので意識する必要はありません。
記述例
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L] # twindrive
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
※” # twindrive”(# 私の名)はなくても良いです。独自に追記した文であることを明示しただけです
実際に挿入した画面 タップ(クリック)で拡大します。
試しに
https://私のWordPressのアドレス/xmlrpc.php
に Microsoft-Edge でアクセスすると下のような画面になりました。
タップ(クリック)で拡大します。
一方で、私のWordPressでどこの国のどの企業からの異常アクセスが最も多いのか?
中国
で、企業名としては
ALISOFT
で、wikipediaによれば中国のアリババグループの企業だそうです。
私の推測ではアリババクラウドコンピューティングを使っている可能性があるので、犯人が「中国の企業、中国人」とは言い切れません。
その理由はそのクラウドを使えば他国、他者でも可能だからです。
8