#pginfo(1 1JB6aUIfxj6 admin 3 none none 3 all all 0 y4OdEchkB5o ゲスト 1 ) *qmailでspamassassinとかとか [#cb8a1b4e] あ qmail+vpopmail環境にspamassassin+clamav+razorかな。
http://spamassassin.apache.org/
Fedoraならyumコマンドでインストール可能
日本語ユーザ会http://spamassassin.jp/download/sa3.2/でUTF-8対応パッチが出ているのでこれを適用したSpamAssassinをインストールする
wget http://spamassassin.jp/download/sa3.2/packages/rhel/spamassassin-3.2.4-1.jsaug.src.rpm rpm -ihv spamassassin-3.2.4-1.jsaug.src.rpm cd /usr/src/redhat/SPECS rpmbuild -ba spamassassin.spec cd ../RPMS/i386 rpm –test -Uhv spamassassin-3.2.4-1.jsaug.i386.rpm 足りないモジュールがある場合はインストール perl関係のモジュールはrpmforge-releaseをインストールしておくと楽 rpm -Uhv spamassassin-3.2.4-1.jsaug.i386.rpm chkconfig spamassassin on chkconfig –list spamassassin
spamassassinのルールファイルを日本語対応にするためにTLECで公開されているルールファイルを組み込む 日本語ユーザ会のルールファイルを適用する http://spamassassin.jp/download/rules/jp_rules-20060729.cf ただしこのルールファイルは古い形式なので、上記UTF-8対応パッチ適用spamassassinには そのまま適用できない。修正が必要(nbodyをbodyに変更する)
SpamAssassinの設定ファイルは/etc/mail/spamassassinにインストールされる このディレクトリ内の.cfファイルは無条件に読み込まれるため注意!
# wget http://spamassassin.jp/download/rules/jp_rules-20060729.cf # cp jp_rules-20060729.cf /etc/mail/spamassassin/jp_rules-20060729.cf.org # cd /etc/mail/spamassassin # sed “s/nbody/body/g” jp_rules-20060729.cf.org > jp_rules-20060729.cf.mod
local.cfの修正、以下を追加 normalize_charset 1 include jp_rules-20060729.cf.mod use_bayes 1 bayes_auto_learn 1 bayes_path /home/vpopmail/.spamassassin/bayes bayes_file_mode 0666
perl-Encode-Detectが必要なのでインストール # yum install perl-Encode-Detect
spamassasinの設定をvpopmail対応に変更するために /etc/sysconfig/spamassassinを修正 #SPAMDOPTIONS=“-d -c -m5 -H” &color(red,white){← コメントアウト}; SPAMDOPTIONS=“-d -m5 -v -u vpopmail –virtual-config-dir=/home/vpopmail/domains/%d/%l/.spamassassin”
起動時にpidファイルを作成できるように権限を修正 chown vpopmail. /var/run/spamassassin/
spamassassin –lintを実行してエラーがないことを確認する
clamavのインストール [#rcfdfaf7] yumでrpmforgeのリポジトリからインストール # yum install clamd clamav # service clamd start 設定ファイルの変更 # service clamd stop # vi /etc/clamd.conf user qscand # chown qscand: /var/log/clamav # chown qscand: /var/run/clamav # service clamd start Qmail-Scanner [#uc48595d] http://qmail-scanner.sourceforge.net/ 動作 Qmail-Scannerのqmail-scanner-queue.plスクリプトが qmail-queueバイナリから実行された後に、オリジナルのqmil-queueが実行される サポートされているVirus Scanner Clam Anti-Virus - an Open Source anti-virus scanner Spam Assassin Daemon (see FAQ for details) Trend's InterScan VirusWall Virus scanner Sophos's “sweep” virus scanner H+BEDV's antivir scanner Kaspersky's AVPLinux scanner MacAfee's (NAI's) virus scanner Command's virus scanner F-Secure Anti-Virus scanner F-Prot Anti-Virus scanner InocuLAN Anti-Virus scanner BitDefender Linux Edition Central Command's Vexira anti-virus scanner ESET NOD32 Anti-Virus scanner Sophie: Daemon front-end to Sophos Sweep (see FAQ for details) Trophie: Daemon front-end to Trend iscan (see FAQ for details) AVG Anti-Virus
必要モジュール qmail-1.03とqmailqueue patchまたはNetQmail 1.05 http://www.courier-mta.org/maildrop/ maildropに含まれているreformineが必要なのです setuidgid perl-suidperl
下ごしらえ # yum -y install pcre-devel # yum -y install gamin-devel # yum -y install gdbm-devel # wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2 # rpmbuild -tb –clean maildrop-2.0.4.tar.bz2 /usr/bin/ld: cannot find -lstdc++のエラーで停止する場合 libstdc++-develがインストールされていないのが原因 # cd /usr/src/redhat/RPMS/i386/ # rpm -ihv maildrop-2.0.4-1.4.i386.rpm # rpm -ihv maildrop-man-2.0.4-1.4.i386.rpm # # wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # tar -zxvf daemontools-0.76.tar.gz error.hのパッチ適用 # cp daemontools-0.76.errno.patch admin/ # cd admin # patch -p0 < daemontools-0.76.errno.patch # cd daemontools-0.76 # ./package/compile # cp command/setuidgid /usr/local/bin/ # # yum -y install perl-suidperl # # groupadd -g <GID> qscand # useradd -M -d /tmp -s /sbin/nologin -g <GID> -u <UID> qscand # wget http://jaist.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-2.01.tgz # tar zxvf qmail-scanner-2.01.tgz # cd qmail-scanner-2.01 # ./configure –install –scanners clamdscan,verbose_spamassassin –notify none # cp contrib/test_installation.sh /root
qmail+vpopmailから呼び出せるように設定 # echo “:allow,QMAILQUEUE=\”/var/qmail/bin/qmail-scanner-queue.pl\“” » /home/vpopmail/etc/tcp.smtp # tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp
qmail起動ファイルに以下の環境変数を追加する QMAILQUEUE=“/var/qmail/bin/qmail-scanner-queue.pl” export QMAILQUEUE
maildroprcの作成 # vi /etc/maildroprc logfile “maildrop.log” if (!/^X-Spam/:h) {
exception { xfilter "/usr/bin/spamc" }
} to “./Maildir/”
**Razor [#xd327b41]
# wget http://jaist.dl.sourceforge.net/sourceforge/razor/razor-agents-2.84.tar.bz2 # wget http://jaist.dl.sourceforge.net/sourceforge/razor/razor-agents-sdk-2.07.tar.bz2
# tar xvjf razor-agents-sdk-2.07.tar.bz2 # cd razor-agents-sdk-2.07 # perl Makefile.PL # make # make test # make install
# tar xvjf razor-agents-2.84.tar.bz2 # cd razor-agents-2.84 # perl Makefile.PL # make # make test # make install
# su - vpopmail $ razor-admin -d -create -home=/home/vpopmail/.razor 最後にrazor-admin finished successfully. /home/vpopmail/.razorディレクトリが生成される # service spamassassin restart