SpamAssassin
apache.orgの傘下になって、ますます勢いづくスパムメールの暗殺者 SpamAssassin これでSPAM業者を失業に追い込もう....... とまでには、まだまだ遠い道のりだよ(w 学習しろ!!学習しろ!!学習しろ!! sa-learn --spam --mbox /home/hiroyuki/mail/spam ハムをスパムと間違えないで、一生のお願いだから。 スパム業者の荒らしはスルーってことで。 おまいら、まったりとお願いします。 本家 ttp://spamassassin.apache.org/ 2005-06-06: SpamAssassin 3.0.4 released! キーワード local.cf user_prefs spamassassin ベイズ推定 ベイジアンフィルタ ホワイトリスト AWL bayes_journal auto-whitelist >>344-345 ありがとう プロバ規制でずっと書き込めなくて 今はダイヤルアップで書いてる >>339 言われてみればそれもあるかも 少なくとも開発のペースはすっかり落ちてるし sa-update しても更新されない ところで、ふと思ったんだけど、 spam自体が下火になりつつある、ってことはないかな? なんか、あんまり増えたって気がしないのは自分だけかな? >spam自体が下火になりつつある、ってことはないかな? ない >なんか、あんまり増えたって気がしないのは自分だけかな? うん ヘッダに autolearn=no が付加されたものは、 『スパムじゃないと判断したし、何も学習してないよ』 ということなんでしょうか。 また、ヘッダに付加された autolearn=ham は一体何なのでしょうか。 >>348 SpamAssasin に学習させるときは spam か ham かで学習させる。 autolearn=yes は強化学習したって事じゃないかな。 そのヘッダの意味はわからないけど、ham はスパムフィルターの用語では スパムでないメッセージのこと。 これ精度めちゃくちゃ低いなぁ…調教次第なのかな? POPFILEだとほぼ完璧に振り分けてるのに迷惑メールを ザクザク受信トレイに放り込むし、閾値上げるとちょっとした 重要メールまで迷惑メールにするし、いやはや。 少なくとも ベイジアンフィルタ は学習なしには機能しないよ? 月に1万通くらいスパム認定しているが、スパムじゃないのをスパム認定したのは 3、4通くらい。それもメールアドレスが ***.@*** みたいなイレギュラーアドレス。 すり抜けたスパムが5、6通くらいかな。結構快適。 学習した結果って外に出したり共有したりできないの? 関係ないけどpostgrey入れてみたら超快適 3日間様子を見たけど、1日平均100通のspamが0だった postfixもほとんど弄らないでいいし、ホント入れるだけに近い まぁ原理的にトラフィックが増えてしまうんだけど、中小なら この程度の対策で良いのかもなーと トラフィックは増えないよ。 セッション数は増えるけど、本文は流れないから通信量は減る。 あそっか おー、そうだね、なるほど。うまうま ところで懸念事項ってあるのかな? postgreyってSpamAssassinいらなくなるよね >>362 最低限postgrey + spammass-milter。Greylistingだけでspamをblockできると 思っているのなら、甘すぎ。 targrey/postgreyはまともに遅延に対処するspammerには効果無し まともに再送するやつらには効かないね。 ここんとこ、そのまともに再送してくるbotがいて困る。 Check your email servers - blackholes.us DNSBL is dead http://isc.sans.org/diary.html?storyid=7360 SpamAssassin 2010 Bug ttp://it.slashdot.org/story/10/01/02/0027207/SpamAssassin-2010-Bug spamassasin使ってる人に質問 /usr/local/bin/spam-filter の 下記送信先に、spamメールが配送されますが、 それをどこにも送らないようにするにはどうすればいいでしょうか。 cat | $SPAMASSASSIN -x > in.$$ grep -e "^X-Spam-Status:.Yes" in.$$ \ && $SENDMAIL "送信先" < in.$$ \ || $SENDMAIL "$@" < in.$$ >>369 ttp://pc11.2ch.net/test/read.cgi/mysv/1083212079/207 ttp://pc11.2ch.net/test/read.cgi/mysv/1119304945/737-738 いろんなところにマルチ乙。 そもそも/usr/local/bin/spam-filterって自分で作るファイルだから、 ぐぐって解説サイトのスクリプトを丸々コピペしてる人しか同じような環境の人はおらんよ。 全部他人任せのやつには自宅鯖をする資格無し。 >>369 cat | $SPAMASSASSIN -x > in.$$ grep -e "^X-Spam-Status:.Yes" in.$$ && rm -Rf / でも単にコピペだけして奇術の中身を考えない輩にはいい薬だと思う >>371 && rm -Rf / ってをいをい… 3.3系って日本語対応パッチは不要(パッチがなくとも同等の機能が最初からある) になっているのでしょうか? RTFのみ添付のスパムに加算するためのルールはどう書けばよいのでしょうか? どなたかご教示お願い致します。 TLECのuser_prefsが全然更新されなくなってしまった… やめちゃったのかなぁ >>379 ありがとう! 現在は元の tlec.linux.or.jp に戻っているようです。 連投失礼。 tlecのuser_prefsが更新されないと、途端に日本語スパムが溢れてきて 松田さんの偉大さを知りました。 SpamAssassinには日本語対応パッチ当ててるんですが、やはり手動避け設定は 強力ですね。 >>381 日本語対応パッチの有無って関係あるの? >>382 日本語対応パッチしてても、ベイジアンフィルタを抜けてくるのは圧倒的に 日本語のスパムが多くて、いちおうパッチの効果はあるようには思うんですが やはり日本語スパムは手動避けがまだ必要なんだなと。 /home/$user/Maildir/cur には正常メールとスパムメールが混在した状態です。 間違えて sa-learn --ham /home/$user/Maildir/cur をやってしまったのですが、 学習を初期化(なかったことに)する方法はあるのでしょうか? >>385 sa-learn --forget /home/$use/Maildir/cur sa-learn(1) - Linux man page http://linux.die.net/man/1/sa-learn --clear Wipe out existing database とかあるな 今度は、tlec.linux.or.jp 自体に接続できなくなってしまったな 移動先: http://www.flcl.org/ ~yoh/user_prefs > cron.daily に設定されている方が結構多いようで、朝の4時〜5時にアクセスが集中しています。 > それ以外では、一時間毎に設定されている方が数人程度。 > 面白いのは、午前11時になると一時間の間、1分毎にダウンロードする人。 crontab の設定ミスですね。(笑) > さ*らのweb鯖を使ってる方、貴方ですよ。^^; 自分は、半年に一回くらい。 >>390 おおーありがと! 俺ははてなアンテナに登録してて、メール来たときにwget。 >>390 よく自動でアップデートできるな・・・ 俺は、アップデート用のスクリプト使っても怖くてcronで更新する 気にはなれん TLECのuser_prefs使ってたら国内のホストでもRCVD_IN_CHINAや RCVD_IN_CHINA_KR、RCVD_IN_TAIWANと誤判定される物が増えたので。 blackholes.us絡みの記述を削除。 blackholes.usの代わりにcc.wariate.jpでテスト中。 >>394 1ヶ月が経とうとしてますが、どんな具合ですか ここ半月ほどsa-updateで新しいデータが配信されていないように思うんだが そういうものかな SpamAssassin 3.3.1に上げたんだけど、この警告が非常に気になる。 warn: netset: cannot include 0:0:0:0:0:0:0:1/128 as it has already been included あとTLECのuser_prefsの箇所でもこんな感じで出てるんだけど、これって何だろ? warn: netset: cannot include 124.83.168.15/32 as it has already been included warn: netset: cannot include 124.83.168.16/29 as it has already been included warn: netset: cannot include 124.83.168.24/30 as it has already been included warn: netset: cannot include 124.83.168.28/31 as it has already been included もちろん、二重に読み込んだりはしてない。 0:0:0:0:0:0:0:1/128 ってのはv6じゃないかな カーネルのv6サポート外せば治まるんでは host 124.83.168.15 ってやってみ user_prefs の trusted_networks に記述がある筈 trusted_networks で重複しているならそいつは古いから >>390 から落とすべし >>398 どうもです。user_prefsを最新のものにしても変わらず…。 警告をよく見たら、自分で設定した trusted_networks も同じ表示があった。 warn: netset: cannot include 192.168.0.0/24 as it has already been included 動作的には問題ないようにも見えるけど、よく分からん。 そりゃ、そのメッセージ通り 「192.168.0.0/24 は包含できない、それは既に包含済みだから」 動作も問題ないのは当然 TLECが消滅ってなんで? これ消えると、spamassassin布教的には痛いっす。 ttp://www.spamassassin.jp/ ここにインスコマニュアル移して欲しかったorz JLAの体制変わったから追い出されたのかね。 TLECはもう解散したのかな。 旧JLAの"ユーザーの集い"っていう面が排除されてるよね。 最も有益なカテゴリーだったのに。 >>402-403 (1)旧JLA鯖が壊れた (2)JLAは解散した なので、追い出された訳じゃない。 JF,JMも同様に鯖を失い、彼等はSourceForgeに移行した。 TLEC自体は存続している。 TLECは地方ローカルのユーザーズグループなので、 webコンテンツを移行させるという切迫した事情がないので、 現状放置中。 SAインストールマニュアルは当面 web archiveで我慢して。 http://web.archive.org/web/20071009153650/tlec.linux.or.jp/docs/spamassassin.html そのうち時間ができたら何とかしたいな(希望的観測) >>409 一般社団法人 日本リヌックス協会 設立 4:41 PM 投稿先 JLAからのお知らせ 投稿者 JLA事務局 「任意団体 日本リヌックス協会」は 2010年6月30日をもって解散し、 その残余財産および会員を 一般社団法人 日本リヌックス協会 に引き継ぐ ことを総会決議しました。 http://www.flcl.org/ ~yoh/user_prefs のルールを使っているのですが、203.138.0.0/16内のアドレス a. [IPネットワークアドレス] 203.138.0.0/24 b. [ネットワーク名] INFOSPHERE f. [組織名] InfoSphere (株式会社NTTPCコミュニケーションズ) から送られてくるメールが header PRIMETELECOM_CN X-Spam-Relays-Untrusted =~ /^\[ ip=203\.(?:1[3-9]\d|20[0-8])(\?:\.\d{1,3}){2} / describe PRIMETELECOM_CN [CN]Beijing Primezone Technologies Inc. score PRIMETELECOM_CN 1.5 のルールに引っ掛かってしまっています。 あと、RCVD_IN_CHINA,RCVD_IN_CHINA_KR,RCVD_IN_TAIWANなるルールにも 引っ掛かっているのですが、これは ttp://bui.asablo.jp/blog/2010/10/31/5459612 の現象と同じかと思います。 多くの方が利用されているかと思いますので、修正のご検討をお願いいたします。 そのネットワーク空間を cc.wariate.jp 使って引いてみると JP で認識されるね 1.1.138.203.cc.wariate.jp text = "JP" 1.1.138.203.jp.cc.wariate.jp を正引きすると 127.0.0.2 1.1.138.203.cn.cc.wariate.jp を正引きすると Non-existent domain と、こちらも正しく動作してる >>411 御報告有難うございます 今しがた修正しました 御確認願います tlec氏、今年の3月頃に大幅に変更したscoreありますか? その頃からspamのスコアが下がって通り抜けちゃうメールが散見されるんですが そうかな? 実名出さない方向で考えたんじゃない? まあたしかに「半ズボン氏」みたいなイメージが無いわけではないけど、、、 >>414 今はCVSみたいなリビジョン管理を全くやっていないので、 以前と何処を変更したかについての詳細は正直わかりません。 但し、概ね以下のようなルールで変更してます。 ・X-Spam-Relays-Untrusted で始まるIPアドレス範囲は、気が付いたらその都度変更しています。 これには変更日を記録していません。 ・上記以外の、正規表現ベースのルールを変更する際には、変更日を記録しています。 例えば↓ # added 2011.03.09 by [yoh] もしかして、すり抜けてしまったspamはyahoo.comのwebメイルサービスを悪用した奴ではないでしょうか。 # added 2011.03.05 by [yoh] # for checking US and EU Yahoo! webmail spam. trusted_networks 115.178.12.0/23 124.108.96.0/20 124.108.112.0/20 183.177.64.0/19 67.195.0.0/16 68.142.192.0/18 76.13.0.0/16 77.238.188.0/22 98.136.0.0/14 これをコメントアウトして、すり抜けてしまったspamを再度SAに通してみて、引っかかるようならビンゴです。 不評であれば削除します。 そうでない場合は、もし宜しければ、すり抜けてしまったspamのサンプルをzipで幾つか頂ければ、解析します。 >>417 なかのひと様、いつもお世話になっております。 以前はCVSだったと思うのですが、今は違うのですね。 以下、個人用ルールとのマージのためにGitでバージョン管理したものがあります。 (はてなアンテナ等で気付いた時だけなので歯抜けになっていると思われますが) https://github.com/unpush/tlec_user_prefs/commits/master かなり以前、リビジョン化したものを公開してもよいかメール差し上げた のですが、もしかして届いてなかったでしょうか… もし上記公開に不都合があれば停止しますので宜しくお願いします。 >>418 >>406 辺りに説明しました通りで、 旧JLA鯖がCVSでうpしていた関係で、自ずとリビジョン管理されていた訳でして。 今は単にsshで上書きしているだけです。 >かなり以前、リビジョン化したものを公開してもよいかメール差し上げた >のですが、もしかして届いてなかったでしょうか… え゛、届いてないです。(汗 >もし上記公開に不都合があれば停止しますので宜しくお願いします。 いえ、止める理由なぞありません。 つかむしろどんどんやってください(笑) それと、今はほぼ毎日ペースで更新しています。 >>419 快諾ありがとうございます。 やはり届いてなかったですか…2008年頃だったようです。BAYES_99だったりして(汗 毎日ペースとは知りませんでした。はてなアンテナだと拾いきれてないかもですね。 もし気が向いたら、GitHubなんか使ってみませんか? >>417 呼びかけ方が悪かったのはスマンかったです。 spamはいったん削除してしまったので一部ヘッダだけメモで残してある状態。 まだすり抜けが多いようなら今度はまとめてzipでお送りしますのでよろしくお願いします。 ひとまず、自分でヘッダを見て気づいたのは X-Mailer : tpmbwnaln-50 みたいにX-Mailerが[a-z]+(-|\s)(\d){2} (で正規表現あってるかなあ?)みたいな ランダム文字列メーラを名乗ってますね。 あと X-Nat-Received : from [202.181.99.22]:... と言うのが必ずついてて同じところから爆撃食らってるのかなあ…程度が 素人で分かる限界でした。 >>421 X-Nat-Receivedというヘッダは初めて見ます。 手元でgrepしたら、1通だけヒットしました。 今年の1/6に、さくらから送信されている日本語spamです。 しかし、 >X-Mailer : tpmbwnaln-50 こんな、いかにも引っ掛けてくださいと言わんばかりのX-Mailerは付いていませんでした。 避けられてるのかな? また新たなハニーポットを仕掛けないとダメかな? 次に受信したら是非サンプルをください。お願いします。 >>422 ありがとうございます。 自分でもにらめっこしながら、ううん…と悩んでいたのですが X-Nat-Received : from [202.181.99.22]:51905 [ident-empty] by smtp-proxy.isp with TPROXY id 1302654519.9882 って入ってて、この202.181.99.22が悪人かと思ったんですがよく見ると 自分の鯖のIPでした。(自分がさくらインターネットです) さくら内に悪質スパマーがいると言うより、配信先のIPを見てダミーで 突っ込まれてる気配… お手数かと思いましたが、まだ鯖に残っていたメールをサンプルに添付して 送りましたので、ご確認いただけると助かります。よろしくお願いしますです。 >>423 昨日返信しましたが、メイルのやりとりだけじゃ情報が共有できないのでこちらにも書きます。 頂いたサンプルの一つを spamassassin -d <sample.txt>spamassassin -t -D 2>&1|lv しまして、 デバッグ出力を見ました。 > この202.181.99.22が悪人かと思ったんですがよく見ると自分の鯖のIPでした。 デバッグ出力に現れた直近のIPアドレスは、そのIPアドレスではない別のIPアドレスでした。 その、直近のIPアドレスを trusted_networks に指定したら、スコアが改善されました。 メイルサーバを運用されている方は、 trusted_networks を正しく設定してください。 自分のメイルサーバのIPアドレスは必ず trusted_networks に設定してください。 これだけでスコアがかなり改善される筈です。 因みに、件の X-Mailer は header RNDXMAILER X-Mailer =~ /^[a-z]{4,}[ \.-]\d{2}/ で引っ掛けられると思います。 >>424 メール返信してないですね、すんません。 晒しといた方がよさげなので、こっちで返信します。 X-Nat-Received :はこちらで借りてるレンタル鯖(さくらインターネット)が勝手に 付けてるヘッダみたいなので、何の意味か鯖会社に問い合わせて、ルールに 書き込むか再検討することにしました。 > デバッグ出力に現れた直近のIPアドレスは、そのIPアドレスではない別のIPアドレスでした。 このアドレスは、調べ直したら鯖側でウイルスチェックする際に投げてるウイルスチェック専用鯖のようで、 調べたら複数あるようなのでまとめてtrusted_networksに突っ込むことにしました。 今までこの設定、蔑ろでした…。 > header RNDXMAILER X-Mailer =~ /^[a-z]{4,}[ \.-]\d{2}/ これ、本来のX-Mailerで間違ってヒットしちゃう可能性があって少し不安なので、 控えめのスコアで導入してみました…。 >>394 や>>411 にて指摘されている、blackholes.usが使えなくなってる件って なかのひと様のuser_prefsでは修正されないんでしょうか? >>426 すいません、見落としていました。 今該当箇所を削除しました。御確認願います。 cc.wariate.jp はこれから試してみます。 cc.wariate.jpで書き換えてみました。 一応、kr/cn/twのspamで動作確認しました。御確認願います。 これらはスコアを低くして積極的に利用していないのですが、何か良いアイディアが ありましたら、御教示頂ければ幸いです。 中の人に要望を出せるんなら、 include private_prefs を記述する順番を一番最後にしてもらえないだろうか。 自分のprivate_prefsでrequired_scoretか他のscore上書きしたいんだけど、 多分順番で後に読んだ方が優先されるよね? >>420 > もし気が向いたら、GitHubなんか使ってみませんか? 初めて知りました(恥 tdiaryも使ってるんですね。 どう使うのかよくわからないので暫く時間がかかりますが、前向きに検討します。 もしかしたら複数人のコラボレートもできるかな? >>431 コラボも出来ますよー。あと分散型なので、オフラインでも良い感じに使えます。 Gitは最初使い方を覚えるのがちょっと分かりにくいですが、慣れればすごく快適です。 以下参考までに。 Pro Git - Table of Contents http://progit.org/book/ja/ Git入門 - ドキュメント http://www8.atwiki.jp/git_jp/ >>428 SpamAssassin単体では積極的に活用し辛いかもしれません。 自分はBAYES_99等と判定したメールの自動削除トリガーにする為、spam発信の 多い国(ロシア等)も自前で追加してProcmailの条件判定に利用しています。 まつださんのuser_prefs(2011/4/20頃のもの)を使わせて頂いています。 最近OCNのham(複数の相手)が、結構な確率でspam判定されおり、 どうにかならないかと調べています。 spam判定されているメールのヘッダを確認すると、該当しているルールは X-Spam-Status: Yes, score=18.3 required=13.0 tests=BAYES_99,CONTENT_TYPE_PRESENT,DIRECTOCNDYN,DYN_ONEGAI, DYN_RENRAKU,DYN_UPRSBLRLY,FAKEDWORD_ATMARK,HTML_MESSAGE, ISO2022JP_BODY,MIMEPDF,MIMEQENC,OCNNEJP,ONEGAI,QENCPTR1, QENCPTR2,RENRAKU,SPF_PASS,THREAD_INDEX,UNPARSEABLERELAY99, UNPARSEABLE_RELAY autolearn=spam version=3.3.1 となっています。(あくまで一つのメールの例です) BAYES_99を先にどうにかしろ、と言われそうですが、それはひとまず置いておいて UNPARSEABLE_RELAYがなぜ付くのかが分かりません。 spamassassin -t -x < スプール内の当該メール をすると出てきません。 これはどうしてなのでしょうか・どうにかならないのでしょうか? 何かアドバイスなどありましたら、よろしくご教示お願いいたします。 >>436 なんかDYN_ペケペケなルールに一杯ひっかかってるね OCNだと引っかかる理由でもあるのかしら あと中の人、include private_prefsを重複してるよ 追加の疑問です。 >>436 でも該当しているDIRECTOCNDYNですが、このメールは OCNエンドユーザ→OCNメールサーバ→受信サーバ という経路でメールが到達しているようです。 この経路でDIRECTとなるであれば、恐らく全てのOCNからのメールはDIRECTですよね。 国内プロバイダは、ほぼOP25Bを実施している言っても良いのではないかと思われる今 OCNの動的アドレスユーザにspammerが多いだろう、というルールは有効なのでしょうか? >>435 そういうお話だと、kr/cn/twだけじゃ足りないですね。 最近はin/ph辺りも増えているので。 APNICを網羅するのがベストでしょうけど、ルールどうやって書くんだろ(汗 一回のDNSBL問い合わせで済ませなきゃならないんですよね。 >>436 > spam判定されているメールのヘッダを確認すると、該当しているルールは > X-Spam-Status: Yes, score=18.3 required=13.0 > tests=BAYES_99,CONTENT_TYPE_PRESENT,DIRECTOCNDYN,DYN_ONEGAI, > BAYES_99を先にどうにかしろ、と言われそうですが、それはひとまず置いておいて > UNPARSEABLE_RELAYがなぜ付くのかが分かりません。 いやそれより先に DIRECTOCNDYN をどうにかしないといけないので、 該当メイルのヘッダだけでもください。お願いします。 できるだけ早急に修正したいと思います。 UNPARSEABLE_RELAYの話はその後で。 >>437 >あと中の人、include private_prefsを重複してるよ それはない(きぱっ >>429-430 参照。 DLした生user_prefs見てください。 >>439 遅くなりましたが >>436 の OCN の件、メールを送らせていただきました。 お手数ですが、ご確認ください。 DIRECTOCNDYN中にメイルサーバのIPが一つ混じっていましたので、除去しました。 他は未だ調査中です。 >>436 メイルしましたが、こちらにも書きます。 頂いた false positive なヘッダのうち、 RCVD_IN_PBL が現れている 二つのヘッダを再度検証し直しました。 いずれも、 ocn の動的 IP -> ocn の SMTP 鯖 -> 独自ドメインの受信 SMTP 鯖 というリレーです。 SAは、ある程度のスコアに達しそうな場合に DNSBL を探索する動作 であるようです。 手近の spam 本文と頂いたヘッダを組み合わせて、ocn の SMTP 鯖の IP アドレスを trusted_networks に入れた場合と外した場合とで、 デバッグ出力を比較したところ、 ocn 鯖 IP を入れたら RCVD_IN_PBL が出力され、ない場合には RCVD_IN_PBL が現れませんでした。 つまり、 SA は Untrusted なリレーホストのうち、直近の IP のみ DNSBL に問い合わせする仕様になっています。 頂いたヘッダに出力された SA のルールを見る限り、trusted_networks に ocn 鯖 IP を登録していなければ、 RCVD_IN_PBLは現れないと思い ます。 独自ドメインの受信 SMTP 鯖 が最終的な受信 SMTP サーバであるな ら、 trusted_networks に ocn の SMTP サーバを登録する必要はない と思います。 user_prefs を公開している鯖に ssh login できなくなってしまいました。 このため、 user_prefs を更新できない状態が続いています。 鯖オーナ氏に問い合わせていますが、なにぶんあちらもお忙しい方なので いつ修復されるかわかりません。 こちらも何とか他の手段を講じたいとは思いますが、こちらも多忙&技術力+情報不足のため すぐに対処できない状態です。 進捗状況が変化したら追ってこちらに報告したいと思います。 user_prefs を公開しているサーバに ssh login できなくなっていた問題ですが、24日14時半頃に解決しました。 user_prefs も更新しました。 取り急ぎ御報告まで。 required_score っていくつくらいにしてますか? required_score 6.0って妥当? read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる