BOT for JCE を拒否する mod_rewrite 設定(Apache リライト)


「BOT/0.1 (BOT for JCE)」というユーザエージェントからのアクセスが時々500エラーを出しているので、状況確認とブロックを行いました。そのご紹介。

【2013-12-6 修正】エラードキュメントの表示時にブロックがループになっていたので修正しました。

BOT for JCE とは?

BOT for JCE は、CMS Joomla! (じゅーむら)の機能拡張用のプラグイン JCE(WYSIWYGエディタ)の脆弱性を突いて不正投稿を行うプログラムだそうです。なぜ正直に名乗るのか不思議ですが、まあ、みんな適当に使っているのでしょう。

Joomla! 参考情報

BOT for JCE のアクセスログサンプル

BOT for JCE のアクセス形跡は以下の様な感じです。(これ以外にも、200や404などが出る。)

x.x.x.x - - [04/Dec/2013:17:57:05 +0900] "POST /some/directory/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&method=form&cid=20&6bc427c8a7981f4fe1f5ac65c1246b5f=cf6dd3cf1923c950586d0dd595c8e20b HTTP/1.1" 500 4401 "-" "BOT/0.1 (BOT for JCE)"

BOT for JCE をブロックする mod_rewrite 設定

Apache の mod_rewrite (リライト)設定で BOT for JCE をブロックし、403(Forbidden)を返すようにする設定。

RewriteCond %{HTTP_USER_AGENT} BOT.*for.*JCE
RewriteCond %{LA-U:REQUEST_FILENAME} !/[0-9]+\.html
RewriteRule ^.* - [F,L]

2行目の条件を付けておかないと、エラードキュメントの表示時にさらにリライトが行われ、今度はリライトのループで500エラーになります。条件の右辺は、サイトで使用している403エラードキュメントの場所に変更して下さい。