Linux Server

SpamAssassinのRazor2対応

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

SpamAssassin回りのログをチェックしていたら、razor2のエラーが出ているのに気づきました。

Feb  9 15:11:53 kamatans spamd[6576]: razor2: razor2 check failed: No such file or directory razor2: Can't read conf file: /etc/razor/razor-agent.conf at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Plugin/Razor2.pm line 331.

テストしてみましたが、not vailableになっています。

# cd /usr/share/doc/spamassassin
# spamassassin -t -D razor2 < sample-spam.txt 
 2月 09 23:03:55.558 [1674] warn: config: created user preferences file: /root/.spamassassin/user_prefs
 2月 09 23:03:55.571 [1674] dbg: razor2: razor2 is not available
 2月 09 23:03:55.897 [1674] info: config: failed to parse, now a plugin, skipping, in "/etc/mail/spamassassin/local.cf": ok_languages ja en
 2月 09 23:04:18.890 [1674] info: rules: meta test TO_EQ_FM_SPF_FAIL has dependency 'ALL_TRUSTED' with a zero score
 2月 09 23:04:18.890 [1674] info: rules: meta test URI_DATA has dependency 'ALL_TRUSTED' with a zero score
 2月 09 23:04:18.890 [1674] info: rules: meta test MSMAIL_PRI_ABNORMAL has dependency 'ALL_TRUSTED' with a zero score
…

/etc/mail/spamassassin/local.cfを確認してみると、use_razor2が1となり使用する設定となっています。

# Spamassassinは全てのメールを対象に次のようなユーティリティを使うのがデフォルトになってるが、
# (詳しくは http://www.spamassassin.org/dist/INSTALL で)
# CPU負荷になるものを避けるために当分インストールせずに使用不可にしておく。
use_pyzor 0

# razor2チェックを使用
use_razor2 1
loadplugin      Mail::SpamAssassin::Plugin::Razor2
razor_config    /etc/razor/razor-agent.conf

local.cfは秘伝のタレと化していますので、いままでずっとrazor2はエラー出ていたんだろうな…。ということでちゃんと対応することにします。

razor2は今はパッケージでダウンロード&インストール可能です。

# dnf install pyzor
メタデータの期限切れの最終確認: 0:37:11 時間前の 2021年02月09日 22時22分27秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================
 パッケージ                          アーキテクチャー                     バージョン                                                      リポジトリー                       サイズ
===================================================================================================================================================================================
インストール:
 pyzor                               noarch                               1.0.0-19.20180724git2b8d76d.el8                                 epel                                84 k

トランザクションの概要
===================================================================================================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 84 k
インストール済みのサイズ: 249 k
これでよろしいですか? [y/N]: y

/etc/razor/razor-agent.confを以下のように作成します。

#
# Razor2 config file
#
# Autogenerated by Razor-Agents v2.84
# Sat Feb 29 22:19:37 2020
# Non-default values taken from /etc/razor/razor-agent.conf
#
# see razor-agent.conf(5) man page
#

debuglevel             = 3
identity               = identity
ignorelist             = 0
listfile_catalogue     = servers.catalogue.lst
listfile_discovery     = servers.discovery.lst
listfile_nomination    = servers.nomination.lst
logfile                = razor-agent.log
logic_method           = 4
min_cf                 = ac
razordiscovery         = discovery.razor.cloudmark.com
razorhome              = /etc/mail/spamassassin/.razor
rediscovery_wait       = 172800
report_headers         = 1
turn_off_discovery     = 0
use_engines            = 4,8
whitelist              = razor-whitelist

テストしてみます。

# spamassassin -t -D razor2 < sample-spam.txt 
Feb  9 23:07:37.397 [2328] dbg: razor2: razor2 is available, version 2.84
Feb  9 23:07:37.985 [2328] warn: netset: cannot include 127.0.0.0/8 as it has already been included
 Razor-Log: read_file: 16 items read from /etc/razor/razor-agent.conf
 Razor-Log: Found razorhome: /etc/mail/spamassassin/.razor
Feb 09 23:07:42.412129 check[2328]: [ 2] [bootup] Logging initiated LogDebugLevel=9 to stdout
Feb 09 23:07:42.412246 check[2328]: [ 5] computed razorhome=/etc/mail/spamassassin/.razor, conf=/etc/razor/razor-agent.conf, ident=/etc/mail/spamassassin/.razor/identity
Feb 09 23:07:42.412290 check[2328]: [ 8] Client supported_engines: 4 8
Feb 09 23:07:42.412395 check[2328]: [ 8]  prep_mail done: mail 1 headers=293, mime0=616
…

せっかくなのでuse_pyzorも1にセットします。

# Spamassassinは全てのメールを対象に次のようなユーティリティを使うのがデフォルトになってるが、
# (詳しくは http://www.spamassassin.org/dist/INSTALL で)
# CPU負荷になるものを避けるために当分インストールせずに使用不可にしておく。
use_pyzor 1

# razor2チェックを使用
use_razor2 1
loadplugin      Mail::SpamAssassin::Plugin::Razor2
razor_config    /etc/razor/razor-agent.conf

SpamAssassinはCPUに負荷を掛けますのでリミッターをかけておきます。

/usr/lib/systemd/system/spamassassin.serviceを編集して12-13行目を追加しておきます。

[Unit]
Description=Spamassassin daemon
After=syslog.target network.target
Wants=sa-update.timer

[Service]
EnvironmentFile=-/etc/sysconfig/spamassassin
ExecStart=/usr/bin/spamd $SPAMDOPTIONS
StandardOutput=null
StandardError=null
Restart=always
CPUQuota=30%
Nice=19

[Install]
WantedBy=multi-user.target


systemctl daemon-reload; systemctl restart spamassassinの後、topコマンドで設定が反映されているか確認します。

# systemctl daemon-reload 
# systemctl restart spamassassin
# top
top - 10:26:12 up 11:14,  3 users,  load average: 0.00, 0.02, 0.00
Tasks: 269 total,   2 running, 267 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   2823.6 total,    604.7 free,   1640.0 used,    579.0 buff/cache
MiB Swap:   4152.0 total,   3427.2 free,    724.8 used.    957.0 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                 
   1356 amavis    20   0 1461944 513604   8308 S   0.0  17.8   0:18.23 clamd                                                                                   
   1341 named     20   0  746580 304012   7232 S   0.0  10.5   0:25.37 named                                                                                   
   3016 amavis    20   0  354008 183352  12556 S   0.0   6.3   0:03.65 /usr/sbin/amavi                                                                         
   3015 amavis    20   0  353304 181760  12516 S   0.0   6.3   0:02.45 /usr/sbin/amavi                                                                         
   3010 amavis    20   0  340312 169016  10356 S   0.0   5.8   0:05.29 /usr/sbin/amavi                                                                         
   5680 root      39  19  252268 128792  11004 S   0.0   4.5   0:05.79 spamd                                                                                   
   5687 root      39  19  252268 119904   2116 S   0.0   4.1   0:00.00 spamd child                                                                             
   5688 root      39  19  252268 119584   1796 S   0.0   4.1   0:00.00 spamd child              

"NI"の欄がnice値となり、spamdは19に変更されているのが確認できます。これでプロセスの優先度は劣後し、CPUの使用率も上限30%までに制限されます。

記事は以上!

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-Linux Server
-, , ,

© 1999 - 2021 蒲田ネット