diary/Kojima/2012-05-08
の編集
http://plamo.linet.gr.jp/?diary/Kojima/2012-05-08
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
diary/Template
[[diary/Kojima]] ・wiki spam check Pythonの練習がてら、httpdのaccess_logから短時間にPOSTを繰り返すIPアドレスを抽出するような スクリプトを書いてみた。 check_spam.py という名前でこのページに添付しておくので、興味ある人はご覧ください。 やってることは単純で、前にチェックした時間(last_checked)を手元に記録しておいて、 access_logに記録されたその時間以後の履歴について、 1)4回以上POSTして、 2)POST間の平均間隔が45秒以下 のアドレスをspam元と判断している。 一応、ログファイルの位置等はPlamo-4.73に合わせているけど、 それらは先頭部分で定義しているので、Plamo以外の環境でも使えるのではないかと。 # httpdのログ形式はcombined format決め打ちだが 一応、添付のスクリプトではコメントアウトしているけど、 spam元のアドレスをconfファイルに書き出して、自動的にbanリストを更新するような機能も付けてみた。 手元では、このスクリプトをcrontabで6時間ごとに実行しているけど、毎回3〜4個ずつbanされるアドレスが増えていく。。 - 1時間おきぐらいに、さまざまに異なるアドレスからspamを繰り返しているところを見ると、botのネットワークが巡回していると見るべきなんだろうなぁ。 -- [[kojima]] &new{2012-05-09 (水) 07:49:31}; #comment
タイムスタンプを変更しない
[[diary/Kojima]] ・wiki spam check Pythonの練習がてら、httpdのaccess_logから短時間にPOSTを繰り返すIPアドレスを抽出するような スクリプトを書いてみた。 check_spam.py という名前でこのページに添付しておくので、興味ある人はご覧ください。 やってることは単純で、前にチェックした時間(last_checked)を手元に記録しておいて、 access_logに記録されたその時間以後の履歴について、 1)4回以上POSTして、 2)POST間の平均間隔が45秒以下 のアドレスをspam元と判断している。 一応、ログファイルの位置等はPlamo-4.73に合わせているけど、 それらは先頭部分で定義しているので、Plamo以外の環境でも使えるのではないかと。 # httpdのログ形式はcombined format決め打ちだが 一応、添付のスクリプトではコメントアウトしているけど、 spam元のアドレスをconfファイルに書き出して、自動的にbanリストを更新するような機能も付けてみた。 手元では、このスクリプトをcrontabで6時間ごとに実行しているけど、毎回3〜4個ずつbanされるアドレスが増えていく。。 - 1時間おきぐらいに、さまざまに異なるアドレスからspamを繰り返しているところを見ると、botのネットワークが巡回していると見るべきなんだろうなぁ。 -- [[kojima]] &new{2012-05-09 (水) 07:49:31}; #comment
テキスト整形のルールを表示する
添付ファイル:
check_spam.py
87件
[
詳細
]