电竞比分网-中国电竞赛事及体育赛事平台

分享

postfix的UCE 開源郵件技術(shù)社區(qū)

 小若兮 2006-03-23



postfix的UCE

所謂UCE控制就是指控制postfix接收或轉(zhuǎn)發(fā)來(lái)自于什么地方的郵件。

  缺省地,postfix轉(zhuǎn)發(fā)符合以下條件的郵件:

  * 來(lái)自客戶端ip地址符合$mynetworks的郵件。

  * 來(lái)自客戶端主機(jī)名符合$relay_domains及其子域的郵件。

  * 目的地為$relay_domains及其子域的郵件。

  缺省地,postfix接受符合以下條件的郵件:

  * 目的地為$inet_interfaces的郵件。

  * 目的地為$mydestination的郵件。

  * 目的地為$virtual_maps的郵件。

  但是我們也可以通過(guò)下面的規(guī)則來(lái)實(shí)現(xiàn)更強(qiáng)大的控制功能。

  1. 信頭過(guò)濾

  通過(guò)header_checks參數(shù)限制接收郵件的信頭的格式,如果符合指定的格式,則拒絕接收該郵件??梢灾付ㄒ粋€(gè)或多個(gè)查詢列表,如果新郵件的信頭符合列表中的某一項(xiàng)則拒絕該接收郵件。如:

  header_checks = regexp:/etc/postfix/header_checks

  header_checks = pcre:/etc/postfix/header_checks

  缺省地,postfix不進(jìn)行信頭過(guò)濾。

  2.客戶端主機(jī)名/地址限制

  通過(guò)smtpd_client_restrictions參數(shù)限制可以向postfix發(fā)起SMTP 連接的客戶端的主機(jī)名或ip地址??梢灾付ㄒ粋€(gè)或多個(gè)參數(shù)值,中間用逗號(hào)隔開。限制規(guī)則是按照查詢的順序進(jìn)行的,第一條符合條件的規(guī)則被執(zhí)行??捎玫囊?guī)則有:

  reject_unknown_client:如果客戶端的ip地址在DNS中沒有PTR記錄則拒絕轉(zhuǎn)發(fā)該客戶端的連接請(qǐng)求。可以用unknown_client_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為450)。如果你有用戶沒有作DNS記錄則不要啟用該選項(xiàng)。

  permit_mynetworks:如果客戶端的ip地址符合$mynetworks參數(shù)定義的范圍則接受該客戶端的連接請(qǐng)求,并轉(zhuǎn)發(fā)該郵件。

  check_client_access maptype:mapname:根據(jù)客戶端的主機(jī)名、父域名、ip地址或?qū)儆诘木W(wǎng)絡(luò)搜索access數(shù)據(jù)庫(kù)。如果搜索的結(jié)果為REJECT 或者 ‘[45]XX text‘ 則拒絕該客戶端的連接請(qǐng)求;如果搜索的結(jié)果為OK、RELAY 或數(shù)字則接受該客戶端的連接請(qǐng)求,并轉(zhuǎn)發(fā)該郵件。??梢杂胊ccess_map_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為554)。

  reject_maps_rbl:如果客戶端的網(wǎng)絡(luò)地址符合$maps_rbl_domains參數(shù)的值則拒絕該客戶端的連接請(qǐng)求??梢杂胢aps_rbl_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為554)。

  示例:

  smtpd_client_restrictions = hash:/etc/postfix/access, reject_maps_rbl

  smtpd_client_restrictions = permit_mynetworks, reject_unknown_client

  該參數(shù)的缺省值為:

  smtpd_client_restrictions =

  也即接收來(lái)自任何客戶端的SMTP連接。

  3. 是否請(qǐng)求HELO命令

  可以通過(guò)smtpd_helo_required參數(shù)指定客戶端在SMTP會(huì)話的開始是否發(fā)送一個(gè)HELO命令。你可以指定該參數(shù)的值為yes或no。缺省值為:

  smtpd_helo_required = no

  4. HELO主機(jī)名限制

  可以通過(guò)smtpd_helo_restrictions參數(shù)指定客戶端在執(zhí)行HELO命令時(shí)發(fā)送給postfix的主機(jī)名。缺省地,postfix接收客戶端發(fā)送的任意形式的主機(jī)名??梢灾付ㄒ粋€(gè)或多個(gè)參數(shù)值,中間用逗號(hào)隔開。限制規(guī)則是按照查詢的順序進(jìn)行的,第一條符合條件的規(guī)則被執(zhí)行。可用的規(guī)則有:

  reject_invalid_hostname:如果HELO命令所帶的主機(jī)名參數(shù)不符合語(yǔ)法規(guī)范則拒絕客戶機(jī)的連接請(qǐng)求。可以用invalid_hostname_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為501)。

  permit_naked_ip_address:RFC要求客戶端的HELO命令包含的ip地址放在方括號(hào)內(nèi),你可以用permit_naked_ip_address參數(shù)取消該限制。因?yàn)橛械膍ail客戶端不遵守該RFC的規(guī)定。

  reject_unknown_hostname:如果客戶端執(zhí)行HELO命令時(shí)的主機(jī)名在DNS中沒有相應(yīng)的A 或 MX 記錄則拒絕該客戶端的連接請(qǐng)求??梢杂胕nvalid_hostname_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為450)。

  reject_non_fqdn_hostname:如果客戶端執(zhí)行HELO命令時(shí)的主機(jī)名不是RFC規(guī)定的完整的域名則拒絕客戶端的連接請(qǐng)求??梢杂胕nvalid_hostname_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為504)。

  check_helo_access maptype:mapname:根據(jù)客戶端HELO的主機(jī)名、父域名搜索access數(shù)據(jù)庫(kù)。如果搜索的結(jié)果為REJECT 或者 ‘[45]XX text‘ 則拒絕該客戶端的連接請(qǐng)求;如果搜索的結(jié)果為OK、RELAY 或數(shù)字則接受該客戶端的連接請(qǐng)求??梢杂胊ccess_map_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為554)。

  示例:

  smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname

  5. RFC 821信頭限制

  RFC 821對(duì)郵件的信頭做了嚴(yán)格的規(guī)定,但是廣泛使用的sendmail并不支

  持該規(guī)定,所以對(duì)于該參數(shù)我們只能說(shuō)不,即:

  strict_rfc821_envelopes = no

  6. 通過(guò)發(fā)件人地址進(jìn)行限制

  可以用smtpd_sender_restrictions參數(shù)通過(guò)發(fā)件人在執(zhí)行MAIL FROM命令時(shí)提供的地址進(jìn)行限制??梢灾付ㄒ粋€(gè)或多個(gè)參數(shù)值,中間用逗號(hào)隔開。限制規(guī)則是按照查詢的順序進(jìn)行的,第一條符合條件的規(guī)則被執(zhí)行??捎玫囊?guī)則有:

  reject_unknown_sender_domain:如果MAIL FROM命令提供的主機(jī)名在DNS中沒有相應(yīng)的A 或 MX 記錄則拒絕該客戶端的連接請(qǐng)求??梢杂胾nknown_address_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為450)。

  check_sender_access maptype:mapname:根據(jù)MAIL FROM命令提供的主機(jī)名、父域搜索access數(shù)據(jù)庫(kù)。如果搜索的結(jié)果為REJECT 或者 ‘[45]XX text‘ 則拒絕該客戶端的連接請(qǐng)求;如果搜索的結(jié)果為OK、RELAY 或數(shù)字則接受該客戶端的連接請(qǐng)求。可以用access_map_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為554)??梢酝ㄟ^(guò)該參數(shù)過(guò)濾來(lái)自某些不受歡迎的發(fā)件人的郵件。

  reject_non_fqdn_sender:如果MAIL FROM命令提供的主機(jī)名不是RFC規(guī)定的完整的域名則拒絕客戶端的連接請(qǐng)求??梢杂胣on_fqdn_reject_code 參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為504)。

  缺省地,postfix接受來(lái)自任何發(fā)件人的郵件。

  示例:

  smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain

  7. 通過(guò)收件人地址進(jìn)行過(guò)濾

  可以用smtpd_recipient_restrictions參數(shù)通過(guò)發(fā)件人在執(zhí)行RCPT TO命令時(shí)提供的地址進(jìn)行限制。缺省值為:

  smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains

  可以指定一個(gè)或多個(gè)參數(shù)值,中間用逗號(hào)隔開。限制規(guī)則是按照查詢的順序進(jìn)行的,第一條符合條件的規(guī)則被執(zhí)行??捎玫囊?guī)則有:

  check_relay_domains:如果符合以下的條件,則接受SMTP連接請(qǐng)求,否則拒絕該連接,可以用relay_domains_reject_code 參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為504)。

  * 客戶端主機(jī)名符合$relay_domains及其子域

  * 目的地為$inet_interfaces、$mydestination或$virtual_maps

  permit_auth_destination:不管客戶端的主機(jī)名,只要符合以下的條件,就

  接受SMTP連接請(qǐng)求:

  * 解析后的目標(biāo)地址符合$relay_domains及其子域

  * 解析后的目標(biāo)地址符合$inet_interfaces、$mydestination或$virtual_maps

  reject_unauth_destination:不管客戶端的主機(jī)名,只要符合以下的條件,就拒絕該客戶端SMTP連接請(qǐng)求:

  * 解析后的目標(biāo)地址符合$relay_domains及其子域

  * 解析后的目標(biāo)地址符合$inet_interfaces、$mydestination或$virtual_maps

  check_recipient_access:根據(jù)解析后的目標(biāo)地址、父域搜索access數(shù)據(jù)庫(kù)。如果搜索的結(jié)果為REJECT 或者 ‘[45]XX text‘ 則拒絕該客戶端的連接請(qǐng)求;如果搜索的結(jié)果為OK、RELAY 或數(shù)字則接受該客戶端的連接請(qǐng)求??梢杂胊ccess_map_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為554)。

  reject_unknown_recipient_domain:如果收件人的郵件地址在DNS中沒有相應(yīng)的A 或 MX 記錄則拒絕該客戶端的連接請(qǐng)求。可以用unknown_address_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為450)。

  reject_non_fqdn_recipient:如果發(fā)件人在執(zhí)行RCPT TO命令時(shí)提供的地址

  不是完整的域名則拒絕其SMTP連接請(qǐng)求
可以用The non_fqdn_reject_code參數(shù)指定返回給客戶機(jī)的錯(cuò)誤代碼(缺省為504)。



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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多