歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  環境:

公司註冊了正式域名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,且不需要你的許可。


[火星人 ] 如何在防火牆上設置Sendmail(1)已經有683次圍觀

http://coctec.com/docs/linux/show-post-70020.html