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
今日の昼ぐらいから急にSpamAssassinがSIGPIPEで死ぬようになって難儀している。 procmailで食わせているんだけど、毎回死ぬわけでもなく、時々。 インストールしてあるものを何か入れ替えたわけでもないし、ディスクが足りてない わけでもない。何故だろう……。 俺のセブンセンシズによればハードディスクが壊れかかっている。 そうか、ディスクか。 ……でもログとSMARTの情報を見たけど別段おかしくはなさそうだ。 メモリーが壊れかかっているのを感じるぞ。 うおー、燃え上がれ俺のコスモ!memtest86拳 >>305 するどい。調べてみたところ、razor-users MLでの報告を発見。 それによるとどうやら c303.cloudmark.com というサーバだけが、なぜかときどき 空のgreetingを返してくれて解析に失敗して死ぬらしい。 servers.catalogue.lst からc303を外して様子をみてみる。どうもありがとう。 お世話になってます。ところでちゃんとしたルールを自作して役に立ちたいのですが、 ルール作成のマニュアルはどこを参照したらよろしいでしょうか? 本家のDOCを斜め読みしたのですが、いまいち解りにくく。 ttp://wiki.apache.org/spamassassin/RuleDescriptionTemplate ttp://spamassassin.apache.org/tests_3_2_x.html ttp://svn.apache.org/repos/asf/spamassassin/tags/spamassassin_release_3_2_5/rules/ s-jis → jis → 正規表現 このツールなら見かけたけど。 豚切りスマソ uriとかrawbodyって何。 fullはメイル全体を正規表現によるマッチングの対象とします。 したがって、"^"はメイル全体の先頭、"$"はメイル全体の末尾を意味します。 添付ファイルのヘッダを引っ掛けたいなら、 mimeheader の使用をお勧めします。 >>307 >>309 精進頼む 対象説明 header ヘッダ (MIME復号化済み) body ボディのテキストパートのみ (MIME復号化済み、HTMLタグ等の除去あり) nbody ボディのテキストパートのみ(MIME復号化済み、 HTMLタグ等の除去あり、UTF-8に変換済み) uri ボディに記述されたURI rawbody ボディのテキストパートのみ(MIME復号化済み) full 生メッセージ全体(MIME復号化なし) ttp://www.emaillab.org/spamassassin/docs/plugin-OSC20061028.pdf ttp://stock.sharpdecimal com このスペースが無いuriに困りましたw 誰かSpamAssassinのマニュアルとかドキュメントのあるURLを教えてくれないか?! >>312 ttp://spamassassin.apache.org/ >>313 dクス でもできれば、もう少しこう・・・温かみのある場所を頼む! Docs ってあるだろ そこ見ろよ 温かみって具体的になんなんだよ >>315 まあそう責めるなよ docsが不親切なのは事実だし、普及の妨げ要因なわけだし。 >>312 何が解らないんだよ? >>315 そこにあるドキュメントだと、どーも理解が難しくてつらかったんだよ! >>316 単純にspamassassinで、どういう設定したらこーなるよ〜ってのを調べたかったんだ docsのMail::SpamAssassin::Conf を見ればある程度わかってきたから あとはぐぐってがんばってみるよ >>317 結局クグルしかw ググっても解らん事はここで質問すると、 後続ユーザーの為にもなるから良いんじゃね? ttp://tlec.linux.or.jp/docs/user_prefs こういう、実践的なコードを読みながらマニュアルとつけあわせした方が 近道じゃないか? >>319 そのマニュアルが解りにくいって何度言ったら(ry user_prefsは、>>310 のリンク先の文章程度のが無いと理解できないのでは? 鯖管はともかく、事務系の一般ユーザーが正規表現なんかは無理。 spamassassinでググると、日本SpamAssassinユーザ会がトップw 壁が高すぐwwwwwww そもそも一般ユーザも使えるというだけで 一般ユーザの積極的な利用に配慮しているとは言い難いから 多少やさしく書いたところで>>320 の言うような対象者は読まんだろ 素人フレンドリーにしたいなら 設定を作成する前処理系でも作ればいいと思うぞ そこまで大袈裟な話では無いのでは。 user_prefsを子ユーザーが書き込むGUIはいくつか有るし。 俺様ルールが書けるだけでとりあえずは十分でしょ。 今はこのマニュアルすら、まともなのは無い訳で。 向上心のないただの脳なしのくせにどうしてえらそうなんだ? 天才なおまいらがマニュアル分かりやすく訳してから晒してくれ 情報が少ないのは求められてない証拠 それではいかんと思うなら自分で行動を起こせ オレは困ってないから興味ないわ >>327 ハイハイさみしいのね。 情報が少ないのは、ユーザーが少ないからw 本家DOCが、ここまで糞なのも珍しい。 一般ユーザはすり抜け分をMUAの学習型フィルタで簡単に対処できるよな なのにややこしいルールを書きたい一般ユーザがどれだけいるんだ? >>329 イタイヤツ? >簡単に対処できるよな 簡単に対処できるよな 簡単に対処できるよな できない場合がある。 >なのにややこしいルールを書きたい一般ユーザがどれだけいるんだ? ややこしいルールは書きたくないだろ普通。 簡単なルールを書きたいユーザーは多い。 ただユーザーそのものが少ないがw ユーザーが増えない理由位は想像できるよな? Outlook/Thunderbird/Shurikenなどにはビルトインのフィルタがあるし Outlook Express、Beckey!、秀丸などでもフィルタを追加できる ユーザはルールを記述するよりもGUIの方が喜ぶと思うぞ で、そういった手元のフィルタを有効に出来ない場合がどれだけある? 簡単なルールを書きたいユーザが多いのはお前の周囲だけだったりしないのか ユーザ数に執着するところも理解できない うまく使えるやつは使うしお前みたいなのは使わなきゃいいだけなのにな >Outlook Express、Beckey!、秀丸などでもフィルタを追加できる これは大変だろ? そもそも、他人と情報を共有するのが難しい。 >お前の周囲だけだったりしないのか お前、人と直接話す機会少ないだろ?友達も少ないとか...... rf[:@ZwE|6b@Zw7\4t>wwww >ユーザ数に執着するところも理解できない 執着しているのは、むしろお前なのでは? ところでお前は何がしたいんだ?お前が作ったDOCでも有るまいて? ただのかまってちゃんなら消えろ。 その言葉をそっくりお返しするぜ 草を生やしたがるやつにはろくなのがいねえわ 俺は前衛だって上から目線だからひとりぼっちなんだよ。 まあシコシコと一人上手やってろ。 このままじゃ、いずれ消滅するソフトだし。 >>327-328 どちらも違う。 本家MLを見るとわかるが、ユーザ数は少なくはない。 結構活発に投稿されている。 そして、同じような内容の質問が度々見受けられる。 なのに、文書は更新されない。 これは開発メンバーにやる気がないと考えるのが妥当じゃないか。 >>337 よく知ってる/使い込んでる連中にもやる気がない、が抜けてる 訳すもなにも見たまんまじゃないの? trusted_networks: スパム送信したり3rd party relayするような悪い子じゃないと仮定する。 善意の第三者なので悪い子から送りつけられちゃったスパムをリレーしてくるかも知れないけど 自分でスパムの送出源になったりヘッダを改竄したりはしない。 internal_networks: そのアドレス内にあるサーバは自組織内のメールサーバ(つまり そこが送り出すメールは全て自組織発)か自組織のMX。 メールサーバ自身もそれを使ってメールを送る人も、誰も悪いことしないいい子ちゃん。 自分が使ってるISPのメールサーバは、その子自身に悪意がないことはまあ仮定できる。 でも自分と同様にそれを使ってメールを出すISPのユーザの中にスパマーもいるかも知れない。 だからtrusted_networksには指定してもいいけどinternal_networksに指定するのは甘過ぎる。 これでわかるように、internal_networksはtrusted_networksより厳しいので、 常にtrusted_networksの部分集合になるはず。 んで、trusted_networksが指定されてinternal_networksが指定されない場合、 internal_networksはtrusted_networksの値を使う。 ……と書いてあるがほんとかね。その仕様はマズいんじゃないの。 より甘いもののデフォルト値としてより厳しいものを使うというなら安全だけど より厳しいもののデフォルト値としてより甘いものを使うのって安全じゃないよねえ。 >>340 ありがとう、助かったよ いきなり PBL/DUL check とか FP とかいう意味不明な略語が出てきて全くわからなかった よければこれらの略語の意味を教えてくれないか 安全か否かの話なんだが trusted_networks と internal_networks は仮想ヘッダの作成に使われる trusted_networks は X-Spam-Relays-Untrusted / X-Spam-Relays-Trusted の判断に internal_networks は X-Spam-Relays-External / X-Spam-Relays-Internal の判断に 仮想ヘッダはデバッグ出力で見ることができる これらは全く別の判断で、相互に影響し合うものじゃないから 片方の設定値がない場合はもう片方の設定を引っ張ってくる、という仕様じゃないかな そのあたりは本題と関係ないと思ってすっとばしたんで知らん。というのもなんなので…… PBLはopen relayとかの悪い子メールサーバのリストじゃなかったっけ? うっすらとした記憶によればDULはたぶんDial Up List。FPは知らない。 > これらは全く別の判断で、相互に影響し合うものじゃないから あなたのいう「判断」は仮想ヘッダを生成するかどうかの判断だよね? それらの仮想ヘッダの役割はいってみればtrusted_networks/internal_networks (によるそのメールの仕分け)を後段に渡すだけなので、生成が独立なのは当たり前じゃないかな。 ありがとう > あなたのいう「判断」は仮想ヘッダを生成するかどうかの判断だよね? ビミョーに違う 仮想ヘッダってのは Received: 行を正規化したもので 生成の際、何処までが trusted で何処から untrusted なのかを決める指標が trusted_networks で 何処までが internal で何処から external なのかを決める指標が internal_networks これらは設定しないと、 SA は設定がないなりに何とか切り分けようと努力する つまり、設定されていなくてもそれなりに動作し、仮想ヘッダは必ず生成される 今手元で確認したんで断言できる > 生成が独立なのは当たり前じゃないか それが正直今までわからなかった もしかすると internal にあって trusted にない IP が何か関係するのかと思ってた > > 生成が独立なのは当たり前じゃないか > > それが正直今までわからなかった > もしかすると internal にあって trusted にない IP が何か関係するのかと思ってた そのあたりは後段のルールの役割でしょうね。 あなたの着目した部分の役割というのは 要するにメールが経由したパスの信頼性を分類して、後段が扱いやすくすることだと思います。 FP は False Positive で、PBL は Public BlackList じゃないかな。 >>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 動作的には問題ないようにも見えるけど、よく分からん。 read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる