ttt

getttyent

(FreeBSD) portupgradeしたら、SpamAssassinのspamdが起動しなくなって焦る

2010-05-11 23:42:58 | デジタル・インターネット

先日、portsのmail/p5-Mail-SpamAssassinをportupgradeしたら、spamdが起動しなくなっちゃいまして、少々焦りました。

ログを見たら、「sa-updateを実行したか?」 みたいなことが書かれていたので、言われたとおり、sa-updateを実行したところ、無事、spamdが起動しました。あ~よかった。

あとになってSpamAssassinのドキュメントをチェックしたら、ちゃんと書いてありますね。

Note for Users Upgrading to SpamAssassin 3.3.0
-----------------------------------------------

- Rules are no longer included with SpamAssassin "out of the box".  You will
  need to immediately run "sa-update", or download the additional rules .tgz
  package and run "sa-update --install" with it, to get a ruleset.

ルールファイルは、SpamAssassinとは分離されたので、sa-updateコマンドでインストールしてね! っていうわけですか。

FreeBSDのportsで表示するメッセージでも、そのことを表示して欲しい・・・あ~・・・なんかそれ以外にもいろいろ書いてありますね・・・書ききれないくらいに。

まあフリーウェアを使う以上は、自己責任ですね。

ちなみに、portsでは、mail/spamass-rulesってのがあります。うっかり、「なるほど!これをインストールすればいいんだな」と、早とちりして、1時間くらい悩みました。

こっちは、追加ルールファイルですね。

うちでは、これを使ったら誤判定が増えた気がするので(非スパムを、スパムと判定)、1日でpkg_deleteしました。

sa-updateについても、1つ、よくわからないことがありました。

ファイアーウォールがあって、直接、インターネットに接続できない環境でsa-updateを実行すると、どうしても、ルールファイルをダウンロードできません。
sa-updateは、http proxyにも対応していると、ドキュメントに書かれているのにおかしいな~と。

sa-update -v -D してみると、こんなログが見えます。これは失敗したとき。

channel: attempting channel updates.spamassassin.org
channel: update directory /var/db/spamassassin/3.003001/updates_spamassassin_org
channel: channel cf file /var/db/spamassassin/3.003001/updates_spamassassin_org.cf
channel: channel pre file /var/db/spamassassin/3.003001/updates_spamassassin_org.pre
channel: metadata version = 923114
dns: query failed: 1.3.3.updates.spamassassin.org => NOERROR
dns: query failed: mirrors.updates.spamassassin.org => NOERROR
assassin.org' record found, channel failed
diag: updates complete, exiting with code 4
Update failed, exiting with code 4

なんだか、DNSを引きに行ってます。どうやら、ダウンロードするファイル名を求めるのに、DNSを使っているようです。なぜ、そんなことを?!

こんな感じのDNSクエリをするらしいです。1.3.3は、version 3.3.1をひっくり返したもの?

% dig 1.3.3.updates.spamassassin.org TXT

; <<>> DiG 9.4.3-P2 <<>> 1.3.3.updates.spamassassin.org TXT
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26530
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0

;; QUESTION SECTION:
;1.3.3.updates.spamassassin.org.        IN      TXT

;; ANSWER SECTION:
1.3.3.updates.spamassassin.org. 2929 IN TXT     "932302"

直接インターネットへアクセスでいる環境でsa-update -v -Dしてみた場合

channel: attempting channel updates.spamassassin.org
channel: update directory /var/db/spamassassin/3.003001/updates_spamassassin_org
channel: channel cf file /var/db/spamassassin/3.003001/updates_spamassassin_org.cf
channel: channel pre file /var/db/spamassassin/3.003001/updates_spamassassin_org.pre
channel: metadata version = 932302
dns: 1.3.3.updates.spamassassin.org => 932302, parsed as 932302
channel: current version is 932302, new version is 932302, skipping channel
diag: updates complete, exiting with code 1
Update finished, no fresh updates were available

という感じ。しかも、

% head -1 /var/db/spamassassin/3.003001/updates_spamassassin_org.cf
# UPDATE version 932302

というわけで、「932302」というのが、ルールファイルのバージョン番号ということですか。なるほど。

以上のように、ファイルをダウンロードする前に、まずDNSを見に行ってしまう仕組みになっているために、、http proxyは使えても、DNSは使えない、という環境では、sa-updateは失敗してしまうのでした。

http://spamassassin.apache.org/
の「Download」というリンクの先に行くと、

SpamAssassin sa-update rules tarball, for use if you cannot run sa-update to download these automatically after installing. (signatures: GPG MD5 SHA1)

というのがあるので、そこからファイルをダウンロードできるようになっています。

ただし、ミラーサイトの中には「ハズレ」もあって、ファイルが無かったサイトもありました。

昨日(2010/05/10)試したときは、この3つのファイルがダウンロードできました。

Mail-SpamAssassin-rules-3.3.1.r923114.tgz
Mail-SpamAssassin-rules-3.3.1.r923114.tgz.asc
Mail-SpamAssassin-rules-3.3.1.r923114.tgz.sha1



あとは、こんな感じで、*.tgzファイルからインストールしてくれました。

# sa-update --install /ダウンロード場所/Mail-SpamAssassin-rules-3.3.1.r923114.tgz

インストールされたルールファイルはこちら。

# ls /var/db/spamassassin/3.003001/
updates_spamassassin_org        updates_spamassassin_org.cf

# ls /var/db/spamassassin/3.003001/updates_spamassassin_org/
10_default_prefs.cf                     25_replace.cf
20_advance_fee.cf                       25_spf.cf
20_aux_tlds.cf                          25_textcat.cf
20_body_tests.cf                        25_uribl.cf
20_compensate.cf                        30_text_de.cf
20_dnsbl_tests.cf                       30_text_fr.cf
20_drugs.cf                             30_text_it.cf
20_dynrdns.cf                           30_text_nl.cf
20_fake_helo_tests.cf                   30_text_pl.cf
20_freemail.cf                          30_text_pt_br.cf
20_freemail_domains.cf                  50_scores.cf
20_head_tests.cf                        60_adsp_override_dkim.cf
20_html_tests.cf                        60_awl.cf
20_imageinfo.cf                         60_shortcircuit.cf
20_meta_tests.cf                        60_whitelist.cf
20_net_tests.cf                         60_whitelist_dkim.cf
20_phrases.cf                           60_whitelist_spf.cf
20_porn.cf                              60_whitelist_subject.cf
20_ratware.cf                           72_active.cf
20_uri_tests.cf                         72_scores.cf
20_vbounce.cf                           STATISTICS-set0-72_scores.cf.txt
23_bayes.cf                             STATISTICS-set1-72_scores.cf.txt
25_accessdb.cf                          STATISTICS-set2-72_scores.cf.txt
25_antivirus.cf                         STATISTICS-set3-72_scores.cf.txt
25_asn.cf                               languages
25_dcc.cf                               local.cf
25_dkim.cf                              regression_tests.cf
25_hashcash.cf                          sa-update-pubkey.txt
25_pyzor.cf                             user_prefs.template

25_razor2.cf

ちなみに、portsのspamass-rulesでのインストール先は、/usr/local/etc/mail/spamassassin/ でした。

# ls /usr/local/etc/mail/spamassassin/
20_dnsbl_ahbl.cf                bogus-virus-warnings.cf
70_sare_adult.cf                chickenpox.cf
70_sare_bayes_poison_nxm.cf     evilnumbers.cf
70_sare_genlsubj0.cf            init.pre
70_sare_header0.cf              init.pre.sample
70_sare_html0.cf                local.cf
70_sare_obfu0.cf                local.cf.sample
70_sare_oem.cf                  mangled.cf
70_sare_random.cf               mime_validate.cf
70_sare_specific.cf             random.cf
70_sare_spoof.cf                sa-update-keys
70_sare_stocks.cf               v310.pre
70_sare_unsub.cf                v310.pre.sample
70_sare_uri0.cf                 v312.pre
72_sare_bml_post25x.cf          v312.pre.sample
72_sare_redirect_post3.0.0.cf   v320.pre
99_FVGT_Tripwire.cf             v320.pre.sample
99_sare_fraud_post25x.cf        v330.pre
airmax.cf                       v330.pre.sample
backhair.cf                     weeds.cf

こんなかんじで、1~2時間ほど、ドタバタしてしまいました。


コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。