HTML - xmlrpc.php、setup.php の対策

 
1. 概要
2. 調査
3. 対策

1. 概要

 ウェブサーバのログを解析しているとやたら

[日時] [error] [client IPアドレス] script '/ディレクトリ/xmlrpc.php' not found or unable to stat
 というエラーがやたら出ていることに気づきました。  同様の形式の、setup.php へのアクセスも多い。  488件中の半数以上がこれだ。ちなみに上位20件でも

/phpmyadmin/scripts/setup.php
/pma/scripts/setup.php
/MyAdmin/scripts/setup.php
/phpMyAdmin/scripts/setup.php
/scripts/setup.php
/admin/phpmyadmin/scripts/setup.php
/myadmin/scripts/setup.php
/xampp/phpmyadmin/scripts/setup.php
/mysql/scripts/setup.php
/admindb/scripts/setup.php
/admin/scripts/setup.php
/apache-default/phpmyadmin/scripts/setup.php
/admin/phpMyAdmin/scripts/setup.php
/mysqladmin/scripts/setup.php
/cpphpmyadmin/scripts/setup.php
/dbadmin/scripts/setup.php
/cpanelphpmyadmin/scripts/setup.php
/phpMyAdmin2/scripts/setup.php
/_phpmyadmin/scripts/setup.php
/php-my-admin/scripts/setup.php
 てなもんです。

2. 調査

 調べてみると xmlrpc.php というのは、WordPress のモジュールのひとつであるらしく。  これを使うことで標準の管理画面以外からも API を使って、記事の投稿ができるようになるものとのこと。  ここへのブルートフォースアタックでのっとりをしようとしているか、Pingback機能を悪用して当サーバーを踏み台にして攻撃に利用するためにアタックされる事例が多いようだ。(← そのまんま掲載しています。内容をよく理解していません)  WordPress の方には、無効化するプラグインがあるらしいので、それを使おうかな・・・と。  問題は、WordPress でない、通常のページにこれが来てること。「File not found」なので気にしなきゃそれでいいんでしょうけど。  setup.php は言うまでもなく、なにものかのセットアップスクリプトを狙ってのアタックですな。

3. 対策

 まあ、このうぜぇ、ものどもがログに出るのもしゃくだし。  せっかくお越しいただいているので、追い込み先のコンテンツ先を作りまして。  .htaccsess

RewriteEngine On
RewriteBase /
RewriteRule ^.*xmlrpc\.php$ 追い込み先のURI [R=301,L]
RewriteRule ^.*setup\.php$  追い込み先のURI [R=301,L]
 という記述をして、そちらへご案内することにしました。