Postfix邮件服务器Amavisd ClamAV SpamAssassin反垃圾病毒模块配置

发布时间:2024-01-27 点击:91
之前博主配置过一台仅发送邮件的功能的邮件服务器,对收件要求不高所以没有配置反垃圾病毒功能。具体配置步骤可以参考这篇文章“centos 6配置postfix mysql认证的邮件服务器步骤”。但是如果您有收件需求了,那么简单的反垃圾病毒还是需要。下面介绍用的比较多的开源套件postfix amavisd clamav spamassassin的配置,这个可以满足一般的需求,是比较简单的邮件反垃圾病毒解决方案。
准备一台服务器,因为需要加入反垃圾和病毒模块,这些对内存要求高很多,不像postfix256mb都可以跑起来。服务器内存至少需要1gb,个人推荐2gb以上。如果是1gb内存的服务器,必须开启swap,不然clam会起不来。另外还是推荐国外服务器,因为国外服务器一般都可以自助做ip反向解析。国外服务器购买:https://vps.nbhao.org/?。
第一步安装postfix,和mysql的用户名密码认证。
参考网址:http://www.szl724.com/?p=2396.html
第二步postfix amavisd clamav spamassassin的简单工作流程如下,spamassassin不用手动起动,启动amavisd的时候会去加载。
安装这些组件很简单,一个命令就行。
# yum install amavisd-new clamav clamav-devel clamd spamassassin第三步接下来先配置clamav病毒扫描程序,修改/etc/clamd.conf文件,设置amavisd-new和clamav通信方式为unix socket,注释tcp和端口。
# vi /etc/clamd.conf
第四步配置amavisd-new,修改/etc/amavisd/amavisd.conf文件,设置domain和hostname为postfix配置的域名。
第五步配置postfix,分别修改/etc/postfix/master.cf和/etc/postfix/main.cf文件。
# vi /etc/postfix/master.cf在文件末尾添加如下行
amavisfeed unix - - n - 10 smtp#10表示maxproc,对应amavisd.conf中的$max_servers -o smtp_data_done_timeout=1200 #超时时间,单位秒,应比postfix的超时时间更长 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20#amavis扫描完成后,使用一个单独的smtp进程将mail回注给postfix,只要本地10025上运行,因此不用开放端口127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o smtpd_restriction_classes= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters,no_address_mappings -o local_header_rewrite_clients= -o smtpd_milters= -o local_recipient_maps= -o relay_recipient_maps=
vi /etc/postfix/main.cf在文件末尾添加如下行
# use amavisd as filter on port 10024content_filter=amavisfeed:[127.0.0.1]:10024第六步重新启动postfix,amavisd和clamd,配置amavisd和clamd开机自动启动。
# service postfix reload# chkconfig amavisd on# chkconfig clamd on# service clamd start# service amavisd start
手动更新clamav的病毒库。
/usr/bin/freshclam如果启动失败,可以查看/var/log/maillog日志。
第七步列下碰到的几个问题和解决办法。
1、服务器禁止ipv6后amavisd启动失败
修改/etc/amavisd/amavisd.conf,添加如下内容。
$inet_socket_bind = \'127.0.0.1\';2、amavisd提示bad header,导致发送的邮件被过滤掉,包括发件人有中文字符,缺少时间等。
修改/etc/amavisd/amavisd.conf,添加或者修改如下内容。
$allowed_header_tests{\'8bit\'} = 0;$allowed_header_tests{\'missing\'} = 0;
参考链接:
1、http://nolabnoparty.com/en/secure-postfix-amavisd-clamav-spamassassin/
2、http://ywzhou.blog.51cto.com/2785388/1591327
3、http://www.iredmail.org/forum/topic8688-iredmail-support-amavisd-not-working-with-ipv6-disabled.html
4、http://forum.ubuntu.org.cn/viewtopic.php?t=208793
5、http://www.iredmail.org/forum/topic9758-iredadminpro-support-exclude-specific-bad-header-emails-from-quarentine.html


购买了云服务器怎么使用
网站没法打开-其他问题
中文域名要多少钱?注册中文域名有什么优势?
阿里云服务器加硬盘多少钱一台啊
云服务器短期租赁
计算云服务器哪家好
开源云服务器怎么关闭
国外云服务器哪个好