こちらのトピックで言ったCrackerTrackerのセキュリティ検知ですが、あまりにも頻発するので本腰を入れて調査しました。
日本語のドキュメントでは情報が無かったので、自分への備忘録をも含め、ここに掲載したいと思います。
自分のフォーラムで頻発するのは、次のような検知メッセージです。
| 引 用: |
SECURITY ALERT » » » »
CBACK CrackerTracker has detected a potential attack on this site with a worm or exploit script so the Security System stopped the script.
If you can see this page after including a new MOD into your board or after clicking on a link please contact the Board Administrator with this error message and a description what you have done before you could see this page, that the Admin has the possibility to fix the problem. |
これは普通に記事を投稿しようと「送信」ボタンを押した直後に表示されます。
但し、必ず表示されるというわけではなく、どういったタイミングで表示されるのか全く不明です。
とりあえずエラーメッセージでググったところ、海外のページがヒットしました。
色々と開いて見たんですが、総じて「デバッグモードにしてエラーログを見るといい」ということのようでした。
まず「phpbb/ctracker/engines/ct_security.php」を開き、31行目辺りにある
| define('CT_DEBUG_MODE', false); |
を
| define('CT_DEBUG_MODE', true); |
に変更します。
CrackerTrackerがデバッグモードで動作するようになり、フォーラムの上部にその旨の警告メッセージが出ます。
その状態でSECURITY ALERTが出るまで待ちます。
SECURITY ALERTが表示される因果関係が分かれば待つ必要は無いのですが、今回のケースでは前述の通り、どういったタイミングで表示されるか分からない為、そうせざるを得ませんでした。
かなり長い間頑張って、ようやくSECURITY ALERTが表示され、その時点で「phpbb/ctracker/logfiles/logfile_debug_mode.txt」にエラーログが書き込まれます。
これは管理画面からCrackerTrackerのログファイル管理→デバックエントリで確認することができます。
そのエラーログにはPossible solution:が載っていて、それに基づいてファイルを編集することによって問題を解決できるようです。
以下にそのエラーログのサンプルを掲載します。
恐らく環境によって解決方法は違うので、以下のエラーログは見るだけにした方が良いと思います。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Script-Filename: /folder/phpBB/posting.php
----------------
Request-Method: POST
Matching rule: url
In variable: helpbox
Possible solution:
------------------
#
#-----[ OPEN ]------------------------------------------
#
/folder/phpBB/posting.php
#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'common.'.$phpEx);
#
#-----[ BEFORE, ADD ]------------------------------------------
#
define('CT_SECLEVEL', 'MEDIUM');
$ct_ignorepvar = array('helpbox');
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM |
MODのインストールでは見慣れた書式なので、修正するのは非常に簡単でした。
修正が終わったら、忘れずに「phpbb/ctracker/engines/ct_security.php」の
| define('CT_DEBUG_MODE', true); |
を
| define('CT_DEBUG_MODE', false); |
に戻してください。
いま変更が終わったばかりでその後の経過は分かりませんが、とりあえずデバッグ方法として参考にしてください。