管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>服务器教程

Amavisd-new配置本地域跳过反垃圾检查

  Amavisd-new是一个非常强大的反垃圾软件, 但很多时候我们需要对自己本地域的邮件跳过反垃圾检查, 本文就是对如何使本地域跳过amavisd-new的反垃圾检查的几种实现方法的讨论.

  概述:本文讲解了通过四种方法来实现对本地域跳过反垃圾检查,前三种方法都有不足之处,第四种方法是比较好的实现方式.

  本地域跳过反垃圾检查四种方法

  方法一:

  通过submission跳过检测.

  这个方法唯一的缺点就是,使用OE或Foxmail等代理软件的用户必须修改smtp默认的端口号(默认是25).

  编辑postfix/master.cf

  启用submission这个进程,加入认证方式和过滤策略,保存后退出

  submission inet n – n – - smtpd

  -o smtpd_etrn_restrictions=reject

  -o smtpd_sasl_auth_enable=yes

  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

  -o content_filter=smtp-amavis:[127.0.0.1]:10026

  这里过滤策略用得是smtp-amavis:[127.0.0.1]:10026

  修改amavisd.conf

  打开amavisd的监听端口,以后amavisd将监听10024,10025,10026这三个端口

  $inet_socket_port = [10024, 10026];

  大部分人的配置只是打开了10024,如$inet_socket_port = 10024.

  接着添加对10026端口的策略,如果你的配置中已存在对10026端口的策略,请注释掉.

  $interface_policy{’10026′} = ‘CHECKBYPASS’;

  $policy_bank{‘CHECKBYPASS’} = { # mail from submission and smtps ports

  bypass_spam_checks_maps => [1], # don’t spam-check this mail

  bypass_banned_checks_maps => [1], # don’t banned-check this mail

  bypass_header_checks_maps => [1], # don’t header-check this mail

  };

  保存后退出

  重启postfix和amavisd

  netstat -tnlp 看看端口状态

  tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 18525/master

  587既是submission的监听端口.

  现在设置outlook或foxmail

  修改发件设置中smtp端口号为587即可,别忘了在防火墙中放开587.

  用本域用户试发一封邮件看看.

  amavis[30236]: (30236-16) Passed CLEAN, CHECKBYPASS [222.45.26.224] [222.45.26.224] -> , Message-ID:

  , mail_id: ALw5YMALJbGF, Hits: -, size: 1605, queued_as: 1FFA8474002, 182 ms

  如果出现”Hits: -”部分,说明设置成功了

  方法二:

  修改@mynetworks.

  编辑amavisd.conf

[Ok3w_NextPage]

  默认为:

  @mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10

  10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 );

  加入你要跳过过滤的IP网段

  例如:

  @mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10

  10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 222.45.26.0/24 );

  同时修改MYNETS策略成如下

  $policy_bank{‘MYNETS’} = { # mail originating from @mynetworks

  originating => 1, # is true in MYNETS by default, but let’s make it explicit

  os_fingerprint_method => undef, # don’t query p0f for internal clients

  bypass_spam_checks_maps => [1], # don’t spam-check internal mail

  bypass_banned_checks_maps => [1], # don’t banned-check internal mail

  bypass_header_checks_maps => [1], # don’t header-check internal mail

  };

  保存后重启amaivsd

  以后来自222.45.26.0/24的邮件都跳过检测. 111cn.net

  同样会看到如下记录

  amavis[15750]: (15750-11) Passed CLEAN, MYNETS LOCAL [222.45.26.132] [222.45.26.132] -> , Message-ID:

  , mail_id: VbR2kBqI-F1W, Hits: -, size: 11378, queued_as: E741F1D94001, 450 ms

  这种方法也不是万金油,他也只能跳过来自@mynetworks中地址的邮件

  第二种方法只支持通过在本地域发送.直接用邮件客户端发送可能会有问题,除非客户端处使用的IP在mynetworks里,

  方法三:

  在amavisd.conf加入以下两行:

  @bypass_spam_checks_maps = (%bypass_spam_checks, @bypass_spam_checks_acl, $bypass_spam_checks_re);

  @bypass_spam_checks_maps = qw ( localdomain1 localdomain2 );

  这种方法将对发送和接收的邮件都不进行、跳过反垃圾检查.

  方法四:

  设定白名单

  $sa_auto_whitelist = 1; # turn on AWL (default: false)

  下面设定白名单的位置,注意,这些指定的文件必须存在,否则Amavis将无法启动,而且,注意这些文件的权限,Amavis必须要能够访问到。

  # 指定白名单

  read_hash(%whitelist_sender, ‘/var/lib/amavis/whitelist’);

  # 指定黑名单

  read_hash(%blacklist_sender, ‘/var/lib/amavis/blacklist’);

[Ok3w_NextPage]

  # 若收件人位于此列表中,则不进行垃圾邮件检测

  read_hash(%spam_lovers, ‘/var/lib/amavis/spam_lovers’);

  将对发送邮件不检查,但检查接收的邮件

tech首页 更多tech