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
なんでunix板なんだろうという素朴な疑問は却下ですか Internet Mail System スレって落ちたんだっけ SpamAssassinは「メールテキスト(ヘッダと本文)分析、 ベイジアンフィルタ、DNS blocklists、 および共同型フィルタリングネットワーク」 を使用する事でスパムを特定するメールフィルタです。 DNS blocklistsは、spamを発信もしくは 中継するサーバのIPアドレスのブラックリスト、 及び、spamの本文中にある、spammerが誘い込もうとする web サービスのURI 文字列から、 ドメイン名を抽出したブラックリストを利用します。 共同型フィルタリングネットワーク (collaborative spam filtering network) は、 メールの本文から「署名」を検出し、これをサーバに登録されている spamの「署名」と照合し、合致していればspamと判定する、というものです。 (参考) ttp://tlec.linux.or.jp/docs/spamassassin.html Mail-SpamAssassin は razor-agents と組み合わせて 使うとかなり強力だよね。 SpamAssassinの設定ファイルは、3種類あります。 以下のディレクトリのパスの記述は、正確には OSもしくはディストリビューションのmanを参考にして下さい。 - /usr/share/spamassassin/*.cf: デフォルト設定が記述されています。 バージョンアップにより、書き換えられるので、 変更しない方が良いでしょう。 - /etc/mail/spamassassin/*.cf: サイト全体の設定を記述します。 $USER_HOME/.spamassassin/user_prefs: 各ユーザー自身の細かい設定が出来ます。 例えばサイト設定でスパム指定されているドメインからのメールでも、 ユーザが希望すれば、受信する事が出来ます。 ただし、サイト設定でuser_prefsの使用が 有効になっている必要があります。 D_BOUNCEとD_REJECTの違いがわかりません おしえてくださいませ 要は >>1 == >>14 の単発質問スレだったのか。 導入してすぐに、部署が違う顔なじみのお姉様達に、 迷惑メール減らしてくれてありがと〜と誉められました。 なんかうれしかった。 >>14 # Notes: # D_REJECT and D_BOUNCE are similar, the difference is in who is responsible # for informing the sender about non-delivery, and how informative # the notification can be (amavisd-new knows more than MTA); # With D_REJECT, MTA may reject original SMTP, or send DSN (delivery status # notification, colloquially called 'bounce') - depending on MTA; # Best suited for sendmail milter, especially for spam. # With D_BOUNCE, amavisd-new (not MTA) sends DSN (can better explain the # reason for mail non-delivery, but unable to reject the original # SMTP session). Best suited to reporting viruses, and for Postfix # and other dual-MTA setups, which can't reject original client SMTP # session, as the mail has already been enqueued. >>19 すみません。違いが良く解りません。エロイ人、解説して。 >>8 ここの設定ファイル、まめにアップしてくれるので 非常に参考になります。 日本語のスパム排除に効果アリアリです。 >>14 >>19 D_REJECT 発信元のsmtpにrejectする。もしくはDSNを送る。 (MTAによってことなる。) D_BOUNCE DSNを送る。 >>24 ハム3000通読ませたら、落ちたyo。ちょっとずつ読み込ませろ。 デーモンとしての動作なら大丈夫らしい。 ハムスパムの読み込ませは、パワーいると思う。 >>26 頼まれて作ったサイトの最初の学習用に、取れ立てspamを一気に 一万ファイル読ませたけど、大じょぶだーたよ。 途中で裏にまわしちゃったので、正確にはわからないけれど 一時間以上はかかったと思う。Debian Sarge/i386でRAM512MB、 SAは3.0.3。Maildir形式。 若干オフトピになるかもしれないけれど、参加者が いるかもしれないので聞いてみる。 RBL.JPのメーリングリストって活発ですか?。流量は?。 一時停止のお知らなどの運用状況『も』流れたりします?。 仕事でも個人でもspammerには頭来てるんで、暇な時は (RBL.JPとは他所のところに)spam報告してるんだけれど、 RBL.JPにも入ってみようかと思っているんだが、どんな様子なのだか、 聞いてみるテスツ。 qmail/qregexにspamassassin使ってます。 7月終わりからのこの一月半くらいで(51日)、 ブロックしたspamメールは 2238通。 うち、rblでブロックしたもの 664通 (30%) helo 時点でブロック 162通 ( 7%) badmailfrom でブロック 1123通 (50%) SpamAssassinブロック 289通 (13%) ですた。 一部あんまり煩い .tw/.kr/.cnは丸ごとパケット 捨ててる場合もあり。 >>29 > ブロックしたspamメールは 2238通。 ブロックしたのにどうやって spam だと判定するのですか? >>31 自分がわかってないのを認めるのが嫌だからって、人がわかっていないという レッテルを張るのはいかがなものか。 キチガイに馬鹿というレッテルを貼ったのは俺の間違いだったヨ。謝るよキチガイ。 >>33 わたしをキチガイ認定するとは浅はかな人ですね. >>38 アップデート対象 ClamAV 0.86.2 to 0.87 ・・・OK Razor2 2.67 to 2.72 ・・・OK SpamAssassin 3.0.1 to 3.1 ・・・NG プラグインエラーが出た use_razor2 1 ok_languages ja en プラグイン有効設定(v310.pre ファイル) Razor2 TextCat spamd 再起動 ・・・OK spamメールテスト ・・・OK SpamAssassin 3.1.0で、spamdではなくspamassassinをprocmailから呼んでます。 RelayCountryを生かしたいのですが、 init.preの loadplugin Mail::SpamAssassin::Plugin::RelayCountry を有効にしてもメールに X-Relay-Countries ヘッダがついてくれません。 何かほかに必要なことがあるのでしょうか? IP::Countryは入っています。 >>41 ttp://www.gossamer-threads.com/lists/spamassassin/users/16555?search_string=relaycountry;#16555 ありがとうございます。 > I don't believe the RelayCountry plugin adds anything visible to the > message. Ok, I didn't get that from the docs (such as they are). I expected the "X-Relay-Countries" header to be added to the message. そのURLの通りspamassassin -tD で実験したらちゃんとチェックしてくれていました。 trusted_networks にプロバイダの(secondaryを含む)メールサーバをちゃんと 書かないとあらゆるメールでJPが入ってしまうので書くべきだけど、 名前じゃなくアドレスで書かないとだめだしプロバイダのネットワーク全体を 許可するのも範囲が広すぎるし、というところがちょっと悩みどころですね。 私の使ってるプロバイダはspammerへの対応をちゃんとしてくれる方らしいので メールサーバなどのアドレスを含むネットワーク全体をtrustしてしまいましたが。 >>43 SAてのは、Emailのメッセージコンテンツで スパムかどうかを判断する、てのがやっぱ恐らく 本筋の使い方、ということなんじゃないすか。 オリジンやリレーで判断するならRBLsあたりで、 ベイジアンフィルタでは結局出現確率しか捉えられないんで、 人間が書いた規則を中心に色んな規則を含めて総合評価できるのがsaじゃないかと。 あとはルールのスコアも自動的に最適値を学習してくれるなら嬉しいんだけど。 マイニングしてルールを自動生成しろとまでは言わないから。 >>45 sa-learn --ham これで学習できるでしょ? cronで自動化はだめなの? 各ルールでのスコアを単純に加算するのではなく、それぞれがマッチした 場合の spam 確率を出し、それをまたベイズの定理で組み合わせるとか。 ベイジアンフィルタからの spam 度: 0.8 URIBL: 0.9 SPF SUCCESS: 0.3 となるメールからは sub mul { $r = 1.0; foreach (@_) { $r *= $_; } $r; } my @probs = (0.8, 0.9, 0.3); my $prod = mul(@probs); $prod / ($prod + mul(map { 1 - $_ } @probs)); => 0.939... と計算する。 んで、スコアが閾値以上・以下なら、それぞれのルールにフィードバック。 環境 redhat9 sendmail8.12.8-4 milter0.3.0-1.0 spamassassin3.10 質問させてください。 spamassassinでベイジアンフィルタを利用しています。 このベイジアンフィルタなのですが、サーバ単位でspam、hamメールを学習させていますが、 各ユーザ毎にham、spamの基準が違い(mailinglist等)、サーバ単位でなく、 各ユーザ単位でベイジアンフィルタの学習を行わせたいと考えています。 ユーザ毎にベイジアンフィルタのデータベースをbayes_seen、bayes_toksをもって、 自分の趣向に合わせてベイジアンフィルタに学習させるイメージです。 user_prefsがユーザ毎に設定できますが、これはヘッダや本文の条件、 ルールを設定できるだけででした。 ご存知の方がいらっしゃいましたら教えて下さい。 よろしく御願いします。 各ユーザが.forwardからspamassassinを呼び出せば済む。 RedHatだとsendmailのMDAがprocmailだったりしそうだから、 .procmailrcに :0fw: spamassassin.lock * < 256000 |/usr/bin/spamc と書くとか。 しっかし、procmailrcはわけわかんね〜。はよmaildropに移行したい… >>50 49です。ありがとうございます。 設定してみます。 procmailでspamassassinの設定する方法はあちらこちらにかいてあるけど qmailでの設定ってほとんど見当たらない。 ユーザごとにいちいち.qmailを編集するのもスマートじゃないし qmail-scannerあたりを書き直せばいいんだろうけど・・・ と思ってたら、vpopmailでの運用をしてたので、案外簡単にできた。 >>52 書き直すまでもなく、使えると思うが。 ttp://qmail-scanner.sourceforge.net/ なるほど!情報ありがとう。 先にSpamAssassinいれといてQmail-Scannerをインストールすれば 良いってことですね。 ところで、Qmail−Scannerにバグがあるみたいです。 添付ファイルを処理する際にカッコがあると、途中でエラーをおこし、 メールが返送されてしまうのです。 一応、修正を行ってみたのですが、旨くいくかどうかは未確認なので 確認してから報告したいのですが、なんかML加入しないとダメみたいですね。 チョットメンドクサイ・・・ procmailで$HOME/.procmailrcを読みに行かなくすることってできるんでしょうか? /etc/procmailrcだけで制御したいのですが、ググって調べてると、 「$HOME/.procmailrcが無いときは/etc/procmailrcが読まれる」 ってなことが書かれてて…。 >添付ファイルを処理する際にカッコがあると はて、どゆこと?>>54 >>55 ユーザプロセスでは ~/.procmailrc を真っ先に読みに行くってのは ソースレベルでの仕様だから、それが嫌ならソースを書き換えてビルドするか、 さもなくば全ユーザのホームディレクトリ上で ln -s /etc/procmailrc ~/.procmailrc するしかないんじゃない? >>56 わかりにくい表現ですいません。 ログにこんなエラーがありました。 Unmatched ( in regex; marked by <-- HERE in m/^ESC$bfc dj8&5f7w2hESC( <-- HERE b.doc$/ at /var/qmail/bin/qmail-scanner-queue.pl line 22 12, <STDIN> line 3221. ESCの部分は端末上反転していたので、実際は\\と思います。 添付されていたのは日本語の入ったPDFとワード書類です。 で、qmail-scanner-queue.plの該当行のソースがこれ。 push(@uufile_list, $uufile) if(!grep(/^$uufile$/,@uufile_list)); 多分$uufileが正しくクオートされておらず、添付ファイル内の「(」が、 正規表現の一部とみなされているようです。 この推測が当たっていれば$uufile --> \Q$uufile\E とすればOKなはずです。(未確認) で、一応は自己解決をみたわけですが、SpamAssassinのコミュニティに報告するのが メンドクサイ仕組みなので、なんかどうでもいいやっていう気になってます。 >>58 添付ファイル名やその中身に括弧文字が 入っていて起こる鰓てのは初耳す。 qmail-scannerの versionと、そのメールを作った ソフトは何ですか(Winのoutlookとか thuderbirdとか、 **xのmewとか。。。?) お話の感じだと、これ、SAの問題ではないと思う。 >>59 qmail-scanner-queue.pl 1.25です。 メールを作ったソフトの方は折り返し戻っていってしまったので、 すぐには確認できませんが、送信者からの以前の話からすると Macのソフトらしいです。たぶんEudora? それはともかく、該当行の変数名からしてuuencodeされたファイルと思うのですが、 それが正しければSAの問題じゃないでしょうか・・・ >>60 エラーが起きてるのは、qmail-scanner-queue.pl の、sub check_and_grab_attachments の中ですよね。 uuencode/binhexしたファイル名をいろいろいじったやつ を添付して試してみてるんだけど、症状再現しないす。 うちも qmail-scanner 1.2.5、んで、SA 3.1。 >>61 あ・・・qmail-scannerの問題であってSAの問題じゃないのかな? 症状の再現性については、良くわからないけど 他の添付ファイルでいままで問題が起こったことがないので、 特殊な例かもしれません。 問題を起こす添付ファイルは手元に届いていないし、 届いたとしてもそのまま丸投げするわけに行かないので、 もうちょっと掘り下げてみます。 bsfilter と共用してる人いる? それって意味ある? (片方だけ使うよりも、spam と判断する 確率あがる?) bsfilter、spamassassin はどちらも、 ベイズ推定に基づいてるので、あまり意味がないように感じてるんだけど、効果があるか気になった。 >>63 ほとんど意味無いと思う。 SpamAssassinのベイジアンフィルタだけを使わないで、bsfilterを多段にかける とかだったらまだわかるが。 >>64 SA のベイジアンってそのまま使うと日本語考慮してくれなくね? >>65 あーなるほど。 bsfilterって最初から日本語化されてたっけ? bsfilterをnkfとkakasiで日本語化して使うなら、SpamAssassinも そうやって使うというのはどうだろ。 ちなみに、ベイジアンフィルタ使わなくても、設定でほとんど排除出来るよ。>>63 中国語やらのspamもとんでくるしcharsetの指定とかがめちゃくちゃなのも多いので、 日本語だけ対応していても仕方がない。 実際spamassassinだけで日本語も中国語もほぼ全て弾けてるよ(カスタムルール有)。 たまに英語のspamが抜けてくるけど、一日一通以下(受け取るSPAMは100超/日)。 false alarmは登録したサイトの広告的なメールマガジンみたいなものだけ経験がある。 これは受け取り望んでることがわからなければどこからどうみてもSPAMだよなあ、 と思ったので学習は諦めてwhitelistに入れた。 sa-learn --hamとか--spamって何を学習させているんですか? メールの内容を見ているの?ヘッダ部分だけ? >>69 ありがと。 でもその割には、同じ内容のスパムが、何度も来るんだよね。 >>70 そりゃBAYES_99になっても、他のスコアが低ければ通っちゃう罠 >>63 全く無駄ではないと思う。 ごく稀にSAが取りこぼすspamを捕捉するときがある。 多少の取りこぼしが気にならないなら、入れる必要はないけど。 精度はDNSBLやRazor2とか使えて自動学習してくれる分、SAの方に 分があるように思う。 あと、bsfilterはhamの学習がうまくいかないことがたまにある。 false alarmの可能性も同様に増えるから、そのリスクの見積もりと SAのみの場合にどれだけ不満かの兼ね合いだろうね。 >>71 そなのですか?あちゃあ。 BAYES_99は絶対にアウトにする方法ってありますか? これするとまずい事もあるのですかね。 >>74 BAYES_99 のスコアをやたら大きな値にしておけばいいんじゃない? まずい事っていうか、ベイズを 100% 信じる!という運用ポリシーだと 自分を納得さることが出来るの? (俺には出来ない) いろんなスコアの積み重ねで spam 判定を行うという仕組みは良く 出来てて、納得して利用しているけどなあ。 >>74 推測が必要ない確定的なものはprocmailで捨てれば? >>75-76 サンクス!! (もともと>>68 です) sa-learn --spamで学習させるという事は絶対にスパム!!wということですよね。 つまり人為的に学習させているわけだけど、BAYES_99のスコアをめちゃ高くしておくと、自動学習でのエラー、つまりハムをスパムと判定してしまったときに、困りますよね。 これはsa-learn --hamで修正するのでしょうけど。あれ?この場合、どっちが勝つんだろ? 仕組みが複雑すぎる.................. >>77 ベイジアンフィルターの原理わかってる? sa-learn --hamでそのメールをhamと学習させても、それ以前の 学習結果によって同じメールがBAYS_99と判別されることだってあるぞ。 あと、スコアリングについてまるで理解できてなさげだな。 >>80 具体的に述べよ。でも、たぶんできるよwww 各ユーザーがベイジアン学習させるタイミングっていつ? レン鯖で使っているんだけど、なかなか学習効果でないんですよ。 razor2 ほかと組み合わせないと、思ったほどの効果はすぐにでない。 sa-learn --spamの学習は、各自のspamボックスを sa-learn --spam --mbox /home/*/mail/spam でなめさせるから良いと思うけど、 間違ってspamに入ってしまったのを、 訂正学習させるのはおまいらどうやってます? sa-learn --ham --mbox /home/*/mail/notspam とか訂正ボックス作れば良いのかな。 autolearn=spam が付いてる奴は既に学習済み、再学習する必要なし。 autolearn=no のみ sa-learn すべし。 なんか学習させ過ぎるとある時点を境にspam検出率が物凄く落ちるような・・・ いつも参考にしていたサイトがディスク障害でデータ消失だって。 ttp://ssss.jp/~trombik/email/spamassassin.html サルベージしていった方がいいかなぁ。 qmail/vpopmail SpamAssassin3.1.0 qmail-scanner1.25 の環境です。 存在しないメールアドレス宛に着た場合、 ~vpopmail/domain/example.jp/user1/auto-whitelist ~vpopmail/domain/example.jp/user1/auto-whitelist.mutex が自動生成されてしまいます。 その為、ユーザーディレクトリが訳のわからない状況になってしまい、 このファイルの自動生成を停止させることはできますか? 検索してみたら、生成先のパスを変更する解説は多かったんですが、 自動生成停止は見つからなかったので、お願いします。 SPAM判定されたものの行き先フォルダをscoreごとに分けてみた。 5-10: 1 10-20: 3 20-: 10 くらいの割合。 サブジェクトを眺めて誤判定がないか確認するのが楽になった。 scoreに応じて色が変わる(段階的または連続的に)というのも面白いと思ったが wanderlustでそこまでするのは大変そうなので見送り。 sendmail+spamassassin+milter で構築しておりやす 外部MTAへ送信するときもX-Flagが付加されているようで 自分自身が送信したメールがX-Spam-Flag:YESって笑えないことも 対策はないでしょうか? 特定ドメインはチェックしないという設定が逢ったような気が。 milter-spamc を使っていたわけで spamass-milter の方がよさげかな 試してみます Spamassasin+Postfixで2年ぐらい前に利用してたのですが、 当時、1時間に2-3000通ぐらいしかメールできなくてしぶしぶ外した経験があります。 最近はハードのスペックも上がってきたし、また検討しているのだけど、 みなさんの負荷具合ってどうなんですかね。 実際運用してる方どうですか?どれぐらいのペースでメールの送受信できます? なんとなく平均これぐらいは飛ぶよ、ってのがわかればいいんですけど。 当時使ってたマシンのスペックは? それが無いと比較できないよ >>96 以前古い処理能力の低い機械をメールゲートウェイにしていた頃は 並列度を上げるより下げた方が実質の処理能力があがったことはある >>97-98 当時はCeleronの600MHzぐらいのやつで、他のアプリもごりごり動いてたw まぁ今回はP4-3GHzぐらいのやつで専用のメールゲートウェイにしようかと思うのだが、 メルマガが配信されることがあるサーバなので、できれば懐は広くしておきたいわけよ。 1時間で数万通とかは余裕?平均がどんなもんかしらないのでアレだけど > Celeronの600MHz って全然2年前じゃないじゃん、5年以上前じゃない? まあ少なくともパフォーマンスの良いシステムはいくらでも有るわけだから 心配ならそれにしとけば問題ないと思うね 取りあえず2chで使ってるくらいのにしといたら ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる