前面讲的都属于MTA基于smtp特征的过滤。我们还可以使用增加MDA套件,实现对邮件更深层的过滤和分析。下面针对病毒附件、广告邮件内容过滤进行的配置。
下面的内容包括三部分:
引用
1、amavisd-new套件
2、clamav套件
3、Spamassassin套件
2、clamav套件
3、Spamassassin套件
一、amavisd-new插件
amavisd-new是一个内容过滤插件,其可以在sendmail、postfix作为MDA,配置防病毒软件、防广告邮件系统等对邮件进行更一步的分析。
amavisd-new注意依赖perl对邮件进行分析,所以需要依赖大量的perl模块。
以红旗DC Server 5.0 for x86为例,下面是其需要的所有perl模块和软件包:
下载文件
点击这里下载文件
1、安装:
rpm -Uvh *.rpm
2、配置/etc/amavisd.conf
amavisd-new配置的内容比较多,但关键配置主要有:
引用
$mydomain = ‘linuxfly.org’; #域名
$MYHOME = ‘/var/amavis’; #工作目录
$inet_socket_port = 10024; #内部端口
$myhostname = ‘dc5test.linuxfly.org’; #以FQDN定义的主机名
$notify_method = ‘smtp:[127.0.0.1]:10025’; #外部连接端口
$forward_method = ‘smtp:[127.0.0.1]:10025’; #外部连接端口
$MYHOME = ‘/var/amavis’; #工作目录
$inet_socket_port = 10024; #内部端口
$myhostname = ‘dc5test.linuxfly.org’; #以FQDN定义的主机名
$notify_method = ‘smtp:[127.0.0.1]:10025’; #外部连接端口
$forward_method = ‘smtp:[127.0.0.1]:10025’; #外部连接端口
然后是配置对病毒邮件、垃圾邮件执行的动作:
引用
$final_virus_destiny = D_BOUNCE; #对病毒邮件的动作
$final_banned_destiny = D_BOUNCE; #对自定义禁止项目的动作
$final_spam_destiny = D_PASS; #对广告邮件的动作
$final_bad_header_destiny = D_PASS; #对带有不良邮件头的动作
$final_banned_destiny = D_BOUNCE; #对自定义禁止项目的动作
$final_spam_destiny = D_PASS; #对广告邮件的动作
$final_bad_header_destiny = D_PASS; #对带有不良邮件头的动作
◎相关动作的定义:
引用
D_PASS 无论邮件的内容是否有问题,该邮件都会转给收件人;
D_DISCARD 邮件被丢弃,而且不会告知收件者与寄信人;
D_BOUNCE 邮件不会传给收件人,但无法传递的讯息会告知寄信人;
D_REJECT 邮件不会传给收件者,但寄信人会收到拒绝的讯息。
D_DISCARD 邮件被丢弃,而且不会告知收件者与寄信人;
D_BOUNCE 邮件不会传给收件人,但无法传递的讯息会告知寄信人;
D_REJECT 邮件不会传给收件者,但寄信人会收到拒绝的讯息。
3、配置/etc/postfix/master.cf
引用
smtp-amavis unix – – n – 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o smtpd_restriction_classes=
-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 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 smtpd_milters=
-o local_header_rewrite_clients=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o smtpd_restriction_classes=
-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 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 smtpd_milters=
-o local_header_rewrite_clients=
-o local_recipient_maps=
-o relay_recipient_maps=
4、配置/etc/postfix/main.cf
最后增加:
引用
content_filter = smtp-amavis:[127.0.0.1]:10024
分别定义上述master.cf中的两个服务名称。
◎可以从系统中下面的地方获得详细帮助信息:
引用
/usr/share/doc/amavisd-new-2.5.2/README.postfix
5、启动服务
service amavisd start
状态:
引用
# telnet localhost 10024
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 [127.0.0.1] ESMTP amavisd-new service ready
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 [127.0.0.1] ESMTP amavisd-new service ready
内文分页: [1] [2] [3]
EMOS 1.3.0 release
Proftpd+Clamav+Mysql+MD5+Quota混合配置
[解]处理auxpropfunc error no mechanism available错误
Postfix进阶管理-procmail部分
Proftpd+Clamav+Mysql+MD5+Quota混合配置
[解]处理auxpropfunc error no mechanism available错误
Postfix进阶管理-procmail部分
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/112720.html