為防止垃圾郵件制造者利用郵件服務(wù)器進(jìn)行垃圾郵件的轉(zhuǎn)發(fā),目前的郵件服務(wù)器都啟用了郵件用戶(hù)發(fā)郵件時(shí)的身份驗(yàn)證功能,即發(fā)件用戶(hù)必須在郵件客戶(hù)端的“服務(wù)器要求身份驗(yàn)證”處輸入發(fā)件人用戶(hù)名和密碼,以便發(fā)件時(shí)郵件服務(wù)器對(duì)發(fā)件人進(jìn)行身份驗(yàn)證。
某公司的郵件服務(wù)器在Cisco的PIX 520防火墻后面,用的是私有IP(假設(shè)為192.168.0.1),通過(guò)在防火墻上做NAT映射到公網(wǎng),在公網(wǎng)用的是公網(wǎng)IP(假設(shè)為202.96.56.68),在內(nèi)網(wǎng)收發(fā)郵件都正常,但是在公網(wǎng)不能發(fā)信,報(bào)錯(cuò)如下:
SMTP, 服務(wù)器響應(yīng): '553 You are not authorized to send mail as <mail from:xmgl@aaa.com.cn>, authentication is required', 端口: 25, 安全(SSL): 否, 服務(wù)器錯(cuò)誤: 553, 錯(cuò)誤號(hào): 0x800CCC78
為什么內(nèi)網(wǎng)能發(fā)而公網(wǎng)不行呢?從報(bào)錯(cuò)信息可以看出是郵件服務(wù)器認(rèn)為發(fā)件人的郵件未通過(guò)身份驗(yàn)證。我們知道通常郵件服務(wù)器在發(fā)郵件時(shí)用的是SMTP協(xié)議。SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它由一組用于從源地址到目的地址傳送郵件的規(guī)則組成,由它來(lái)控制信件的中轉(zhuǎn)方式。SMTP協(xié)議屬于TCP/IP協(xié)議族,它幫助每臺(tái)計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。通過(guò)在郵件客戶(hù)端SMTP協(xié)議所指定的服務(wù)器,我們就可以把E-mail寄到收信人的服務(wù)器上了。
為了更有效地抑制垃圾郵件的泛濫,許多E-Mail服務(wù)商和ISP升級(jí)了他們的SMTP系統(tǒng),即使用ESMTP的方式來(lái)做E-mail發(fā)送服務(wù)。ESMTP,英文全稱(chēng)是“Extended SMTP”,顧名思義,就是對(duì)標(biāo)準(zhǔn)SMTP協(xié)議進(jìn)行的擴(kuò)展。而“發(fā)件驗(yàn)證”功能就是承載于ESMTP上的。
出問(wèn)題的公司的郵件發(fā)送系統(tǒng)同樣也采用了ESMTP,ESMTP和SMTP一樣都使用25端口。為了進(jìn)一步驗(yàn)證故障原因,我們分別從內(nèi)網(wǎng)和防火墻外面的公網(wǎng)telnet郵件服務(wù)器的25端口信息如下:
在內(nèi)網(wǎng)telnet的結(jié)果
telnet 192.168.0.1 25 220 aaa.com.cn ESMTP Postfix |
在防火墻外面telnet的結(jié)果
telnet 202.96.56.68 25 220 *************** |
除了*****就什么都沒(méi)有顯示
從結(jié)果可以看出在公網(wǎng)發(fā)信用戶(hù)的身份認(rèn)證信息不能穿透防火墻。于是我們檢查防火墻上的關(guān)于郵件系統(tǒng)的配置信息,信息如下:
fixup protocol smtp 25 conduit permit tcp host 202.96.56.68 eq pop3 any conduit permit tcp host 202.96.56.68 eq smtp any
|