歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 如何在防火牆上設置Sendmail(1)

如何在防火牆上設置Sendmail(1)

日期:2017/2/27 14:18:13   编辑:更多Linux
  環境: 公司注冊了正式域名company.com,防火牆運行Linux且用專線接入ISP,是通往Internet的唯一通道, 用來處理公司內部出去的郵件和發往公司內部用戶@company.com的所有郵件。在內部局域網上(僅一 個網段,沒有子網)有一台供內部用戶收發郵件的Linux郵件服務器,兩台機器均運行Sendmail 8.9.3 Sendmail 8.9.3的新特性 Sendmail 8.9.3包含幾個新的特性,如果配置不當,你的Sendmail可能不能正常工作。這些特性主要是 幫助過濾掉垃圾郵件和阻止你的站點被用來作為第三方的mail relay主機(什麼是third-party mail relay? 附文章),你能根據你的站點所要求的政策配置這些參數。 1.Mail relay 在Sendmail 8.9.3中Relaying默認被拒絕了,這個特性可能使得運行Sendmail的Linux郵件服務器不允許 你向它發送郵件,有幾種方法來解決。 a. Default 默認情況下,你能簡單地創建文件/etc/mail/relay-domains,它包含你希望接受relay的系統的域名, 例如company.com 。如果不能做反向DNS查找,你應該清楚指明IP范圍,如要允許內部網段上所有用戶向 其發送郵件,設為192.168.11 ,注意:你無法設置這裡為company.com而允許你公司出差在外的旅行用戶 (撥當地ISP)來發送郵件。因為你撥到當地ISP後得到的動態IP地址屬於當地ISP,反向DNS解析後的域名 為ISP的域名,甚至有的不能夠做反向DNS。解決辦法是設置發送郵件服務器為當地ISP的服務器 優點: 如果你僅僅需要relay mail from a few system,這可能是最簡單的解決辦法,它阻止你的服務器 扮演作為relayer,但允許郵件通過。 缺點:你不能不保持文件不斷更新,如果你是ISP,你必須不斷保持這個文件被更新,更新後還要重新啟動 Sendmail ( killall -HUP sendmail ) b. promiscuous_relay 這個特性允許你relay來自任何地方的郵件。(不被建議的) 優點: 你不必擔心郵件被拒絕 缺點: 任何人能用你的系統作為mail relay,這個參數的使用取消了8.9.3中新增的反relay 特性。 c. relay_entire_domain 這個特性允許來自在類W中設置的所有域的郵件被允許relay.默認地,這將是*.company.com 優點: 你不會擔心來自你的域中的所有郵件被拒絕,你的域以外的系統不能被relay mail除非在 /etc/mail/relay-domains文件中被指定或/etc/mail/Access中被指定。如果你僅僅想relay 你自己的域中的主機,可以用這個參數來代替/etc/mail/relay-domains. 注意: 你需要設置反向DNS,當內部LAN上的主機連接到SMTP服務器上來時能被反向解析到本地域內。 如192.168.11.12被解析到sh12.asiansources.com . 缺點:你可能不想允許你公司的其它組織relay mail。 d. relay_hosts_only 這允許你基於個別的主機名relay mail.不是域名。 優點:細調relay許可權限,基於全稱主機名,不是全稱域名。 缺點:需要你指定或者在文件/etc/mail/relay-domains或者在access 數據庫中的系統主機名。如果用 /etc/mail/relay-domains,文件將是 company.com mailgate.company.com othername.com mailgate.othername.com 2. Mail blocking a. accept_unresolvable_domains 默認地,如果發送者的域名(指發送者郵件地址後面的域名)不能被DNS解析 ,郵件被拒絕的。 如: MAIL from: wkeys@nonexistent 501 < wkeys@nonexistent>…Sender domain must exist


用參數accept_unresolvable_domains 跨越這個並接受來自任何域或IP地址的郵件。 b. access_db 這個特性使得sendmail尋找數據庫文件(默認是/etc/mail/access.db),決定是否接受或拒絕mail或者你甚至 能設定一個客戶化的錯誤信息,這個特性也能用來控制relay許可。 優點:真的允許你細調將接收從誰來的郵件,如我不想接受來自不能被解析的域的郵件,但對個別域有例外。 c. accept_unqualified_senders 默認地,如果發送者的域不是全稱域名,sendmail將拒絕這個連接。如 mail from: 553 …. Domain name required 用這個特性跨越默認的情況以致連接將能被接受。 優點:我建議總是用全稱域名地址,然而在內部郵件網關上,你可能不能控制其他本地系統如何發送給你郵件, 這將允許你接受帶非全稱發送者地址的郵件。 缺點:你丟失了一些跟蹤郵件來自哪裡的能力,不要在防火牆上用它。 d. blacklist_recipients 這允許你阻止不想接受的郵件帳號發來的郵件。需要在/etc/mail/access中設置。 e. relay_based_on_MX 如果一台主機有MX記錄指向你的站點,這個特性使得能從他們接受郵件。 優點:如果他們有MX記錄指向你你就不需要加任何主機到access database. 缺點:這將允許第三方的mail relay,且不需要你的許可。



Copyright © Linux教程網 All Rights Reserved