萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Amavisd-new配置本地域跳過反垃圾檢查

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

  默認為:

  @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’);

  # 若收件人位於此列表中,則不進行垃圾郵件檢測

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

  將對發送郵件不檢查,但檢查接收的郵件

copyright © 萬盛學電腦網 all rights reserved