服务器 频道

Linux下邮件系统完美解决方案架设攻略

配置SpamAssassin

    Amavisd-new 通过Mail::SpamAssassin 模块来调用SA的功能,因此这里配置SA和常规配置SA软件有些区别,主要集中在修改local.cf文件上。

    编辑/etc/mail/spamassassin/local.cf文件
vi /etc/mail/spamassassin/local.cf
    将其内容修改为:
report_safe 1 use_bayes 0 auto_learn 0 bayes_auto_expire 1 skip_rbl_checks 1 use_razor2 0 use_dcc 0 use_pyzor 0 dns_available no
    增加Chinese_rules.cf支持

    Chinese_rules.cf是教育科研网的反垃圾邮件小组对大量垃圾邮件和正常邮件进行分析后得出的一个关键字/分数规则集,用于处理中文(简体)垃圾邮件还是比较有效的。这里我们通过如下命令增加到系统:
wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf
    由于该规则每周更新一次,为了达到最好效果,最好在crontab里增加自动更新的内容,输入:
/usr/bin/crontab -e
    然后输入如下的内容:
    0 0 1 * * wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/amavisd restart
    存盘退出即可。最后运行以下调试命令以确认amavisd没有错误:
/usr/sbin/amavisd debug
    如果没有异常提示或报错退出则表示一切都正常,按ctrl+c终止,然后正常启动,若提示pid不存在等错误,不必理会,只要最后启动成功即可:
/etc/init.d/amavisd start
    安装ClamAV

    执行如下命令:
rpm -ivh RPMS/clamav-db-0.88.3-1hzq.i386.rpm rpm -ivh RPMS/clamav-0.88.3-1hzq.i386.rpm rpm -ivh RPMS/clamd-0.88.3-1hzq.i386.rpm
    编辑/etc/clamd.conf文件,去掉 'LocalSocket /var/run/clamav/clamd.sock'的注释,并注释掉 'TCPSocket 3310',我们将使用unix socket而不是TCP,两者不可并存。修改完毕后,保存,变动内容见下:
# Path to a local socket file the daemon will listen on. # Default: disabled LocalSocket /var/run/clamav/clamd.sock
    #TCPSocket 3310
    将clamav加到amavis运行组里,并调整目录权限,否则clamav将无法扫描amavisd-new产生的临时文件
gpasswd -a clamav amavis usermod -G amavis clamav chown amavis.amavis /var/spool/vscan chmod 750 /var/spool/vscan chown amavis.amavis /var/spool/vscan/tmp chmod 750 /var/spool/vscan/tmp
    默认的/var/spool/vscan 目录属性是:
    rwx------ amavis.root
    对于clamav用户而言,则无任何权限访问该目录,因此maillog里amavisd-new会提示:
May 19 08:38:53 as3 amavis[1752]: (01752-01) ask_av (ClamAV-clamd) FAILED - unexpected result: /var/spool/vscan/tmp/amavis-20050519T083853-01752/parts: Access denied. ERROR May 19 08:38:53 as3 amavis[1752]: (01752-01) WARN: all primary virus scanners failed, considering backups
    启动ClamAV及freshclam

/etc/rc.d/init.d/clamd start freshclam --daemon
    将freshclam增加到自启动

    输入如下命令,即可使freshclam一开机就实现自启动
echo "/usr/bin/freshclam --daemon" >> /etc/rc.d/rc.local

0
相关文章