Qmail系統下防止濫用mail relay方案(2)

來源:互聯網
上載者:User
這種方法僅僅適用於使用者IP地址固定的情況,例如某單位擁有自己的一個C類地址,並且擁有自己的區域網路,該郵件伺服器僅僅是提供給區域網路使用者收發電子郵件。

  設定自己伺服器為非open relay的最簡單的辦法就是將你的郵件伺服器的所有網域名稱(若DNS的MX記錄指向該機器,也應該包括該網域名稱。例如你的機器有三個網域名稱mail.linxuaid.com.cn、mail1.linuxaid.com.cn,而且linuxaid.com.cn的MX指向mail.linuxaid.com.cn,則qmail的rcphosts的應該包括mail.linuxaid.com.cn、mail1.linuxaid.com.cn和linuxaid.com.cn)。這將只允許客戶串連到伺服器以後才能寄送電子郵件,而不允許使用者通過MUA來通過伺服器轉寄郵件,而要支援客戶使用MUA來發送郵件,必須允許客戶使用伺服器轉寄郵件。qmail-smtpd支援一種有選擇性的忽略rcpthosts檔案的方法:若qmail-smtpd的環境變數RELAYCLIENT被設定,則rcpthost檔案將被忽略,relay將被允許。但是如何識別一個郵件寄件者是否是自己的客戶呢?就是判斷髮送郵件者的源IP地址,若該IP地址屬於本網,則認為該寄件者為自己的客戶。

  這裡就要使用ucspi-tcp軟體包的tcpserver程式,該程式的功能類似於inetd-監聽進入的串連請求,為要啟動的服務設定各種環境變數,然後啟動指定的服務。tcpserver的設定檔是/etc/tcp.smtp,該檔案定義了是否對某個網路設定RELAYCLIENT環境變數。例如,本網是地址為192.168.10.0/24的C類地址,則tcp.smtp的內容應該設定如下:

  127.0.0.1:allow,RELAYCLIENT=""
  192.168.10.:allow,RELAYCLIENT=""
  :allow

  這幾個規則的含義是指若串連來自127.0.0.1和192.168.10則允許,並且為其設定環境變數RELAYCLIENT,否則允許其他串連,但是不設定RELAYCLIENT環境變數。這樣當從其他地方到本地的25號串連將會被允許,但是由於沒有被設定環境變數,所以其串連將會被qmail-smptd所拒絕。

  但是tcopserver並不直接使用/etc/tcp.smtp檔案,而是需要先將該檔案轉化為cbd檔案:

  [ideal@aidmail /etc]$ # tcprules tcp.smtp.cdb tcp.smtp.temp < tcp.smtp

  然後在/service/qmail-smtpd目錄下的run檔案中應該具有如下的內容:

  /usr/local/bin/tcpserver -v -p -x /etc/tcp.smtp.cdb

  可以看到,tcpserver利用了/etc/smtp.cbd檔案。若本地有多個網路,則需要這些網路都出現在/etc/tcp.smtp檔案中。

  這樣就實現了允許本地客戶relay郵件,而防止relay被濫用。

三.防止mail relay被濫用的方法二方法一對於區域網路應用場合來說是足夠了,但是如果對於象263或163這樣的電子郵件系統來說,這種解決方案就不大適合,因為這些郵件系統的使用者遍布全世界各個地方,因此使用者可能從任何一個IP串連過來發送信件,因此就需要尋找其他的方法來限制郵件系統的relay功能被濫用。

  若在qmail系統中使用vpopmail,則可以利用vpopmail專門針對漫遊使用者的配置選項來實現防止郵件系統的relay功能被濫用。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。