乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      postfix增加spf過濾

       芥納須彌 2016-02-15

          

      說明:
      公司的郵件服務(wù)器經(jīng)常收到垃圾郵件,通過查看/var/log/maillog日志看到有很多來源為bsoibsfs.com這種不規(guī)則,ping也ping不到的域名。如
      Jul 28 07:40:37 FD10 postfix/qmgr[20316]: 5470414C83D6: from=, size=14177, nrcpt=3 (queue active)
      這主要是因為網(wǎng)路上有人通過搭建郵件服務(wù)器,任意偽造發(fā)件人地址,從而發(fā)送垃圾郵件。
      要解決這個,可以通過配置郵件服務(wù)器支持 SPF,對每封進入的郵件進行SPF驗證,過濾這些這種亂七八糟的域名。

      SPF通過在域名中添加txt記錄,向支持SPF功能的郵件服務(wù)器提供驗證信息,心使別人能驗證自己;另一方面也可以驗證別人。配置spf需要會進行大量dns查詢,因此郵件服務(wù)器的dns請選擇離自己最近的dns。

      解決:有兩個兼容的策略模塊給postfix使用,一個是用Python編寫,另一種是用Perl編寫的。Perl包滿足最基本的要求,Python包配置復(fù)雜一點。
      第一種方式:
      1. 安裝SPF模塊(Perl)

      # wget https:///postfix-policyd-spf-perl/trunk/release2.010/+download/postfix-policyd-spf-perl-2.010.tar.gz
      # perl -MCPAN -e 'install version'
      # perl -MCPAN -e 'install NetAddr::IP'
      # perl -MCPAN -e 'install Mail::SPF'
      # perl -MCPAN -e 'install Sys::Hostname::Long'
      # tar zxvf postfix-policyd-spf-perl-2.010.tar.gz
      # cd postfix-policyd-spf-perl-2.010
      # cp postfix-policyd-spf-perl /usr/libexec/postfix/policyd-spf-perl

       
      2. 配置Postfix支持SPF檢查

      # vi /etc/postfix/master.cf  //添加以下內(nèi)容:
      ## spf check
      policy-spf unix -       n       n       -       -       spawn
        user=nobody argv=/usr/bin/perl /usr/libexec/postfix/policyd-spf-perl

       

      # vi /etc/postfix/main.cf  //添加以下內(nèi)容:
      smtpd_recipient_restrictions =
              ......,
              check_policy_service unix:private/policy-spf

       
      3. 重新載入postfix服務(wù)

      # service postfix reload

       
      4. 域名增加SPF記錄:
      給自己的域名添加TXT記錄,含義:
      *@dspam.org.cn賬戶只能在116.254.202.94的IP發(fā)送郵件,否則SPF驗證不通過。

      # dig -t txt dspam.org.cn
      dspam.org.cn.           600     IN      TXT     "v=spf1 ip4:116.254.202.94 ~all"

       
      下面這條,是查找我自己的域名

      # nslookup -query=txt gaingreat.com
      ;; Got SERVFAIL reply from 218.85.157.99, trying next server
      Server:         114.114.114.114
      Address:        114.114.114.114#53
      
      Non-authoritative answer:
      gaingreat.com   text = "v=spf1 a mx ~all"
      
      Authoritative answers can be found from:

       
      5. 配置成功后,Postfix的SPF檢查日志如下:

      # tail -10f /var/log/maillog
      postfix/policy-spf[15857]: Policy action=PREPEND Received-SPF: softfail (www.haiyun.me: Sender is not authorized by default  //錯誤,可以看到softfail
      postfix/policy-spf[15726]: Policy action=PREPEND Received-SPF: pass (qq.com: Sender is authorized to use 'qq@qq.com'  //#正確,pass

       
      6. Policy-spy默認不阻止驗證失敗的發(fā)件人郵件,會在郵件頭部添加Received-SPF: softfail標簽,如果要對其處理可使用Postfix過濾規(guī)則header_checks進行匹配操作

      # cat /etc/postfix/header_checks  //添加header_checks匹配規(guī)則,拒絕未添加txt的域名,及txt認證不通過的
      /Received-SPF: none/   REJECT
      /Received-SPF: softfail/   REJECT

       
      7. 編輯主Postfix主配置文件應(yīng)用此規(guī)則:

      # cat main.cf
      header_checks = pcre:/etc/postfix/header_checks

       
      8. 再次測試效果,這時再查看/var/log/maillog就可以看到以下這條記錄,已經(jīng)reject掉了

      Jul 28 16:47:31 FD10 postfix/cleanup[9605]: 7408314C86BC: reject: header Received-SPF: none (smartech.com.tw: No applicable sender policy available) receiver=unknown; identity=mailfrom; envelope-from="qtaqw@smartech.com.tw"; helo=smartech.com.tw; client-ip=101.71.37.109 from unknown[101.71.37.109]; from=<qtaqw@smartech.com.tw> to=<tech@lala.com> proto=ESMTP helo=<smartech.com.tw>: 5.7.1 message content rejected

       
      第二種方式,這種方式我還沒有嘗試,有興趣的可以去試下。
      1. 安裝SPF模塊(python)

      # wget https:///pypolicyd-spf/1.1/1.1/+download/pypolicyd-spf-1.1.tar.gz
      # tar zxvf pypolicyd-spf-1.1.tar.gz
      # cd pypolicyd-spf-1.1
      # python setup.py build
      # python setup.py install

       
      2. 配置Postfix支持SPF檢查

      # vi /etc/postfix/master.cf  //添加以下內(nèi)容:
      ## spf check
      policy-spf unix -       n       n       -       -       spawn
          user=nobody argv=/usr/bin/python /usr/bin/policyd-spf
      # vi /etc/postfix/main.cf   //添加以下內(nèi)容:
      smtpd_recipient_restrictions =
              ......,
              check_policy_service unix:private/policy-spf

       
      3. 重新載入postfix服務(wù)

      # service postfix reload

       
      附錄:
      附錄1:使用最新版的pypolicyd-spf,需要python-2.6以上版本支持

      附錄2:spf只能針對那些偽造的域名進行認證
      如果來信地址為lalal@qq.com這種合法的且經(jīng)過認證的,比如lalal@qq.com郵箱被盜,被拿來發(fā)垃圾郵件這種,則只能通過郵件內(nèi)容過濾來過濾垃圾郵件。知道的spamlock這個插件,可以實現(xiàn)內(nèi)容過濾,目前還沒嘗試!?。?/p>

      附錄3:spf會屏蔽沒有做txt域名解析記錄的域名,如果我們又需要接收他們的郵件怎么辦。
      這時就需要使用postfix的白名單黑名單。具體詳見:postfix白名單黑名單

      附錄4:安裝perl -MCPAN -e ‘install Mail::SPF’安裝時,一直出現(xiàn)。導(dǎo)出Mail::SPF模塊無法安裝上

      This package fails to build on current sid:
      
        t/00.00-class-misc.t .......... ok
        t/00.01-class-util.t .......... ok
        t/00.02-class-request.t ....... ok
        t/00.03-class-result.t ........ ok
        Unknown error on DNS 'A' lookup of 'example.com' (EDNSError) at /tmp/buildd/mail-spf-perl-2.9.0/blib/lib/Mail/SPF/Server.pm line 573.
        # Looks like you planned 23 tests but ran 19.
        # Looks like your test exited with 255 just after 19.
        t/00.04-class-server.t ........ 
        Dubious, test returned 255 (wstat 65280, 0xff00)
        Failed 4/23 subtests 
        [...]
        Test Summary Report
        -------------------
        t/00.04-class-server.t      (Wstat: 65280 Tests: 19 Failed: 0)
          Non-zero exit status: 255
          Parse errors: Bad plan.  You planned 23 tests but ran 19.

      這可能是因為Mail::SPF需要調(diào)用的Net::DNS(版本>=0.75)跟libnet-dns-perl不太兼容。具體可以看 libnet-dns-resolver-programmable-perl: broken with newer Net::DNS
      可以通過給Net::DNS打補丁,補丁在https://rt./Public/Bug/Display.html?id=95901,但我這補丁一直打不進去 – -,直接下載Net-DNS-0.72.tar.gz,舊版的Net::DNS直接編譯安裝,ok

      # wget http://www./download/Net-DNS-0.72.tar.gz
      # tar zxvf Net-DNS-0.72.tar.gz 
      # cd Net-DNS-0.72
      # less README 
      # perl Makefile.PL 
      # make
      # make install
      # perl -MCPAN -e 'install Mail::SPF'可以!

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多