一、簡(jiǎn)介
這一部分內容將詳細討論email頭的方方面面。主要為用戶(hù)架設郵件服務(wù)器提供理論基礎并為管理員在出現電子郵件垃圾騷擾時(shí)提供發(fā)現垃圾郵件的真正源頭。根據郵件頭的知識有助于發(fā)現偽造的郵件。對于希望了解郵件是如何在網(wǎng)絡(luò )中傳輸的用戶(hù)同樣會(huì )有幫助。
雖然在討論中盡量有意避免如何偽造一封郵件的討論,但是在討論中的內容可能被惡意讀者用作創(chuàng )建偽造郵件的基礎。因為要在文章中舉例說(shuō)明,因此在文章中有若干虛構的域名和隨意分配的IP地址作為示例使用。這些域名和IP都是任意任意選擇和偽造的,和Inte rnet上真實(shí)的域名和IP沒(méi)有任何關(guān)系。
二、Email的傳輸過(guò)程
這部分包含一個(gè)簡(jiǎn)單的對一個(gè)電子郵件生命周期的分析。這對于理解郵件頭能為你提供哪些信息是非常重要的背景信息。
從表面上看來(lái)郵件似乎是直接從發(fā)送者機器傳遞到接收者地址,但通常情況下事情并不是這樣。一個(gè)典型的電子郵件在其生命周期中至少要經(jīng)過(guò)四臺計算機。
這是因為大多數企業(yè)或組織都有一個(gè)被稱(chēng)為“郵件服務(wù)器”專(zhuān)用服務(wù)器來(lái)處理電子郵件,而這一般并不是用戶(hù)閱讀郵件的計算機。對于ISP來(lái)說(shuō),用戶(hù)從家里面的計算機撥號接入ISP網(wǎng)絡(luò ),這里將用戶(hù)家中的計算機稱(chēng)為客戶(hù)機,而將ISP專(zhuān)門(mén)處理郵件的計算機稱(chēng)為郵件服務(wù)器。當一個(gè)用戶(hù)發(fā)送郵件,他一般是在自己的計算機上編輯郵件,然后將郵件發(fā)送到ISP的郵件服務(wù)器上??蛻?hù)機就此已經(jīng)完成了自己的工作,而后面的工作則由ISP的郵件服務(wù)器來(lái)完成。首先ISP郵件服務(wù)器查找接收者指定的郵件服務(wù)器的IP地址,然后將郵件發(fā)送給該目的服務(wù)器?,F在郵件則存儲在接收者郵件服務(wù)器上等待接收者收取。當接收者從接受郵件服務(wù)器取得發(fā)送給他的郵件到自己的PC機以后,通常該郵件將被刪除。
假設若干個(gè)虛構的用戶(hù)和。zhangsan是263這個(gè)ISP的撥號用戶(hù)。使用outook express這個(gè)郵件客戶(hù)程序收發(fā)郵件。lisi是中科院的一個(gè)虛構用戶(hù),他使用工作站通過(guò)單位局域網(wǎng)連接進(jìn)入互聯(lián)網(wǎng)。
如果lisi想給zhangsan發(fā)送郵件,他在工作站(假設名字為alpha.zky.ac.cn)上編輯郵件,編輯好的信件從工作站發(fā)送到中科院的郵件服務(wù)器:mail.zky.ac.cn。一旦信件被發(fā)送到mail.zky.ac.cn,以后的信件發(fā)送過(guò)程就和zhangsan沒(méi)有關(guān)系了。中科院的郵件服務(wù)器發(fā)現這是發(fā)送給263.net的某個(gè)用戶(hù)的信件,則和263的郵件服務(wù)器-比如說(shuō)是 mail.263.net-通信,并將郵件傳送給它?,F在郵件則被存儲在mail.263.net之上直到zhangsan在自己的PC機上撥號連接到 263網(wǎng)絡(luò )察看并收取信件,這時(shí)mail.263.net將存儲的郵件傳送到zhangsan的 個(gè)人PC機上。
在這個(gè)過(guò)程中,郵件頭將三次被加到郵件中:在編輯時(shí)由郵件客戶(hù)程序加入;當郵件傳輸到mail.zky.ac.cn時(shí)被mail.zky.ac.cn加入;當從 mail.zky.ac.cn傳送到mail.263.net時(shí)被mail.263.net加入;通常來(lái)說(shuō)客戶(hù)收取信件時(shí)并不添加郵件頭。下面我們就仔細看看這些郵件頭是如何產(chǎn)生的。
當lisi的郵件客戶(hù)程序編輯郵件并將其發(fā)送給mail.zky.ac.cn時(shí),郵件內容如下.這些內容都是由郵件編輯程序(outlook express)添加的:
From: lisi@zky.ac.cn (Li Si)
T zhangsan@263.net
Date: Tue, Mar 18 1997 14:36:14 PST
X-Mailer: Outlook Express 5.5
Subject: 中午搓飯?
當郵件從mail.zky.ac.cn傳送到mail.263.net后,郵件內容變?yōu)?新添加的內容是由mail.zky.ac.cn):
Received: from alpha.zky.ac.cn (alpha.zky.ac.cn [124.211.3.11]) by mail.zky.ac.cn (8.8.5) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
From: lisi@zky.ac.cn (Li Si)
T zhangsan@263.net
Date: Tue, Mar 18 1997 14:36:14 PST
Message-Id:
X-Mailer: Outlook Express 5.5
Subject: 中午搓飯?
當mail.263.net收到信件并存儲等待zhangsan收取時(shí),郵件內容變?yōu)椋?新添加的內容是由mail.263.com添加的):
Received: from mail.zky.ac.cn (mail.zky.ac.cn [124.211.3.78]) by mail.263.net (8.8.5/8.7.2) with ESMTP id LAA20869 for ; Tue, 18 Mar 1997 14:39:24 -0800 (PST)
Received: from alpha.zky.ac.cn (alpha.zky.ac.cn [124.211.3.11]) by mail.zky.ac.cn (8.8.5) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
From: lisi@zky.ac.cn (Li Si)
T zhangsan@263.net
Date: Tue, Mar 18 1997 14:36:14 PST
Message-Id:
X-Mailer: Outlook Express 5.5
Subject: 中午搓飯?
最后這封信的內容才是zhangsan收取并閱讀的內容。下面是對其中內容的詳細分析:
Received: from mail.zky.ac.cn
上面的內容表示該郵件是來(lái)自于自稱(chēng)是mail.zky.ac.cn的服務(wù)器。
(mail.zky.ac.cn [124.211.3.78])
這句話(huà)表示該服務(wù)器的真實(shí)名字的確是mail.zky.ac.cn,也就是說(shuō)它自稱(chēng)的身份是正確的,其IP地址為124.211.3.78。
by mail.263.net (8.8.5/8.7.2)
接收這封郵件的機器是mail.263.net。其運行的郵件程序為sendmail,版本為8.8.5/8.7.2。
with ESMTP id LAA20869
接收郵件的服務(wù)器為該郵件賦有ID號LAA20869(通常該號碼是郵件服務(wù)器內部使用的,但是管理員可以根據該ID號在log文件中查找關(guān)于該信件的相關(guān)信息,但是通常該號都是沒(méi)有意義的)。
for ;
該郵件是發(fā)送給地址zhangsan@263.net的??梢钥吹皆撪]件頭沒(méi)有To:相關(guān)內容。
Tue, 18 Mar 1997 14:39:24 -0800 (PST)
這次郵件傳輸發(fā)生時(shí)間為:太平洋時(shí)間Tuesday, March 18, 1997, at 14:39:24(太平洋時(shí)間,因為它比格林威治時(shí)間晚8個(gè)小時(shí),因此是"-0800")?!?
Received: from alpha.zky.ac.cn (alpha.zky.ac.cn [124.211.3.11]) by mail.zky.ac.cn (8.8.5) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
該郵件頭記錄了郵件是從alpha.zky.ac.cn(lisi的工作站)傳送到到郵件服務(wù)器mail.zky.ac.cn的。傳送發(fā)生在太平洋時(shí)間14: 36:17。發(fā)送計算機自稱(chēng)是alpha.zky.ac.cn,其真實(shí)名經(jīng)dns查詢(xún)的確是alp ha.zky.ac.cn,其IP地址為124.211.3.11,郵件服務(wù)器軟件為sendmail v8.8.5。該信件被郵件服務(wù)器的mail.zky.ac.cn賦給的ID號為004A21。
From: lisi@zky.ac.cn (Li Si)
該郵件是由lis@zky.ac.cn發(fā)送的,其名字為L(cháng)i Si。
T zhangsan@263.net
郵件目的地址為:zhangsan@263.net?!?
Date: Tue, Mar 18 1997 14:36:14 PST
郵件編輯時(shí)間為14:36:14 Pacific Standard Time on Tuesday, March 18, 1997。
Message-Id:
mail.zky.ac.cn 給該郵件分配了這個(gè)號碼來(lái)標識它。它和Received頭中的SMTP機ESMTP ID號是不一樣的。因為該號碼是一直伴隨整個(gè)郵件的。而其它ID則僅僅在特定的郵件服務(wù)器上的郵件傳輸階段相關(guān)聯(lián)。因此該機器ID號對其它機器來(lái)說(shuō)沒(méi)有任何意義。有時(shí)候Message-ID包含了發(fā)送者郵件地址在其中。
X-Mailer: Outlook Express 5.5
該消息是使用Outlook Express發(fā)送的,版本號為5.5。
Subject: 中午搓飯?
郵件標題。
郵件協(xié)議
這部分內容相對其它部分來(lái)說(shuō)具有更多原理性?xún)热?,主要討論郵件是如何從一點(diǎn)傳輸到另外一點(diǎn)的細節。你不需要理解每一句話(huà),但是熟悉這方面的內容有助于在郵件傳輸出現奇怪現象時(shí)弄明白問(wèn)題所在。由于垃圾電子郵件發(fā)送者常常故意制造一些奇怪的情況以掩飾自己的身份,因此能理解這些奇怪的現象對對付這些家伙是非常有用的。
為了在網(wǎng)絡(luò )上傳輸數據,計算機網(wǎng)絡(luò )協(xié)議使用了稱(chēng)為端口的訪(fǎng)問(wèn)入口,你可以將端口看做是一個(gè)通道,通過(guò)它計算機可以監聽(tīng)網(wǎng)絡(luò )通信以提供服務(wù)。為了同時(shí)監聽(tīng)多個(gè)通信,計算機需要有使用端口號碼標識多個(gè)不同的端口以區別這些通信。而和電子郵件傳輸相關(guān)的端口是2 5。
正常情況
讓我們重新討論上面的例子,但是這次我們僅僅關(guān)心mail.zky.ac.cn到mail.263.net之間的通信過(guò)程。首先 mail.zky.edu.c打開(kāi)一個(gè)到mail.263.net的25號端口的連接,然后通過(guò)該連接發(fā)送郵件,當然在發(fā)送郵件過(guò)程中會(huì )有一些管理命令交互過(guò)程。交互中的命令和相應都或多或少的是可讀的。命令是SMTP協(xié)議規定的。如果監聽(tīng)兩者之間的通信,可能有以下內容:(粗體部分是mail.zky.ac.cn發(fā)出的)
220 mail.263.net ESMTP Sendmail 8.8.5/1.4/8.7.2/1.13; Tue, Mar 18 1997 14:38:58 -0800 (PST)
HELO mail.zky.ac.cn
250 mail.263.net Hello mail.zky.ac.cn [124.211.3.78], pleased to meet you
MAIL FROM: lisi@zky.ac.cn
250 lisi@zky.ac.cn... Sender ok
RCPT T zhangsan@263.net
250 zhangsan@263.net... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Received: from alpha.zky.ac.cn (alpha.zky.ac.cn [124.211.3.11]) by mail.zky.ac.cn (8.8.5) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
From: lisi@zky.ac.cn (R.T. Hood)
T zhangsan@263.net
Date: Tue, Mar 18 1997 14:36:14 PST
Message-Id:
X-Mailer: Outlook Express 5.5
Subject: 中午搓飯?
Do you have time to meet for lunch?
--lisi
.
250 LAA20869 Message accepted for delivery
QUIT
221 mail.263.net closing connection
整個(gè)傳輸依賴(lài)于五個(gè)SMTP核心命令(當然SMTP還有一些其它命令,但是它們并不是用來(lái)完成真正的郵件傳輸):HELO,MAIL FROM,RCPT TO,DATA和QUIT。
郵件發(fā)送者HELO命令用來(lái)標識自己的身份。HELO mail.zky.ac.cn可以被解讀為"嗨,我是mail.zky.ac.cn"。當然這里發(fā)送者可能會(huì )撒謊,但是沒(méi)有任何機制能防止發(fā)送者 mail.zky.ac.cn說(shuō)"嗨,我是mail.xxx.com"或是"嗨,我是mail.yyy.com"。然而在大多數情況下接收者都有一些方法來(lái)確認發(fā)送者的真實(shí)身份。
MAIL FROM命令標識開(kāi)始郵件傳輸,含義是"我有從某人發(fā)送來(lái)的郵件",該命令后跟的地址就是所謂的“信封地址”(在后面我們將深入討論),信封from地址不一定是發(fā)送者自己的地址。這個(gè)明顯的安全漏洞是不可避免的(因為接收者并不知道發(fā)送者機器上有哪些地址),但是在特定的情況下這又是一個(gè)有用處的特色。
RCPT TO和MAIL FROM是相輔相成的。其指定郵件接收者。通過(guò)多個(gè)RCPT TO命令一個(gè)郵件可以被發(fā)送給多個(gè)接收者。(在后面的郵件中繼部分將解釋該特色可能針對某些不安全的系統濫用)。該命令后跟的地址稱(chēng)為"envelope to"地址。其指定了郵件將被投遞給哪些用戶(hù),而和信件中的T指定的地址沒(méi)有關(guān)系。
DATA命令指示開(kāi)始實(shí)際的郵件內容傳輸。DATA命令后輸入的任何內容都被看做是郵件的一部分。而格式并沒(méi)有任何限制。以一個(gè)英文單詞加冒號開(kāi)始的行一般被郵件程序看做是郵件頭。以英文句號符號(.)開(kāi)始的行被認為是郵件內容結束。
QUIT命令終止連接。
SMTP協(xié)議規范定義在RFC 821中。
非正常情況
上面的例子有些過(guò)于簡(jiǎn)單。上面的例子有一個(gè)假設前提:兩個(gè)組織的郵件服務(wù)器相互之間能直接訪(fǎng)問(wèn),而不需要經(jīng)過(guò)代理、防火墻等安全設備。這在當前 Internet環(huán)境下情況往往是這樣的。但由于安全對于某些組織來(lái)說(shuō)非常重要,而且網(wǎng)絡(luò )或組織可能變得越來(lái)越龐大,情況就不那么簡(jiǎn)單了。對于具有代理型防火墻系統的郵件傳輸來(lái)說(shuō),區別就在于在郵件的頭中多了一次轉發(fā)過(guò)程的記錄,也就是郵件首先從發(fā)送者郵件服務(wù)器發(fā)送到防火墻上,然后再從防火墻發(fā)送到目的郵件服務(wù)器。
郵件中繼
中繼
對于某些具有特殊的“生命”周期的郵件頭可能和前面討論的情況完全不同:
Received: from unwilling.intermedia.com (unwilling.intermedia.com [98.134.11.32]) by mail.zky.ac.cn (8.8.5) id 004B32 for; Wed, Jul 30 1997 16:39:50 -0800 (PST)
Received: from linuxaid.com.cn ([202.99.11.120]) by unwilling.intermedia.com (8.6.5/8.5.8) with SMTP id LAA12741; Wed, Jul 30 1997 19:36:28 -0500 (EST)
From: Anonymous Spammer
T (recipient list suppressed)
Message-Id:
X-Mailer: Massive Annoyance
Subject: WANT TO MAKE ALOT OF MONEY???
這個(gè)郵件頭和以前的不同之處可能會(huì )令你認為這是一封垃圾郵件,但是這里引起你的懷疑的是"Received:"頭。從"Received:"頭看來(lái),郵件是來(lái)自linuxaid.com.cn,然后從這里傳輸給unwilling.intermedia.com,然后從這里再次傳輸到最終目的地址: mail.zky.ac.cn。從"Received:"頭看來(lái)事情就是這樣的,但是中間為什么會(huì )出現unwilling.intermedia.com 呢?因為它和發(fā)送者和接收者都沒(méi)有直接的關(guān)系。
要理解原因需要對SMTP協(xié)議進(jìn)行一些了解。本質(zhì)上來(lái)講,傳輸過(guò)程是這樣的: linuxaid.com.cn連接unwilling.intermedia.com的SMTP端口。告訴它“請發(fā)送這封郵件到 rth@zky.ac.cn。它可能是以最直接的 方法來(lái)實(shí)現:RCPT T rth@zky.ac.cn。到現在為止,unwilling.intermedia.com接管對該郵件的處理。因為它被告知將該信件轉發(fā)給其他一個(gè)域:zky.ac.cn,它就查找對于域名zky.ac.cn的郵件服務(wù)器然后將郵件轉發(fā)給zky.ac .cn。這個(gè)過(guò)程通常被稱(chēng)作郵件中繼(mail relaying)。
出現郵件中繼是由于歷史的原因,使用郵件中繼是有它的好處的。到八十年代末期,很多網(wǎng)絡(luò )中的計算機都不是直接通信來(lái)傳輸郵件。而是通過(guò)郵件路由來(lái)傳遞郵件,通過(guò)郵件路由服務(wù)器一步一步地進(jìn)行郵件傳輸。這樣做是非常麻煩的,發(fā)送者往往需要手工指定一封郵件需 要經(jīng)過(guò)哪些郵件路由服務(wù)器,比如需要從San Francisco發(fā)送一封郵件到New York,則需要在信封中添加如下內容:
San Francisco, Sacramento, Reno, Salt Lake City, Rock Springs, Laramie, North Platte, Lincoln, Omaha, Des Moines, Cedar Rapids, Dubuque, Rockford, Chicago, Gary, Elkhart, Fort Wayne, Toledo, Cleveland, Erie, Elmira, Williamsport, Newark, New York City, Greenwich Village, #12 Desolation Row, Apt. #35, R.A. Zimmermann
如果從郵局工作人員的角度來(lái)考慮,這種模型是非常有用的。在Gary的郵局只需要知道如何和臨近的郵局Chicago和Elkhart通信,而無(wú)需消耗資源計算如何將郵件發(fā)送到New York(這時(shí)候就很清楚為什么這種模式對于郵件發(fā)送者來(lái)說(shuō)非常糟糕,為什么這種方法被拋棄了)。但是這就是郵件被傳輸的過(guò)程。因此服務(wù)器具有這樣的中繼的能力在那時(shí)是很重要的。
而現在中繼通常被用作不道德的廣告商用來(lái)隱藏它們的原始地址,將埋怨轉嫁給被用來(lái)中繼的服務(wù)器而不是其所在ISP的技術(shù)。同樣通過(guò)中繼可以實(shí)現將發(fā)送信件的負載轉移到中繼服務(wù)器上,從而實(shí)現盜用中繼服務(wù)器的服務(wù)資源。在這里最重要的一點(diǎn)是理解郵件內容是在發(fā)送點(diǎn)linuxaid.com.cn被編輯。中間的服務(wù)器unwilling.intermedia.com只是參加了中間的傳輸工作,它并不能對發(fā)送者有任何的約束力。
在上面的例子中應該注意的另外一點(diǎn)是"Message-Id:"并不是由發(fā)送者服務(wù)器 (linuxaid.com.cn)而是中繼計算機(unwilling.intermedia.com)填寫(xiě)的。這是被中繼的郵件的一個(gè)典型特性,該特性反映了發(fā)送服務(wù)器并沒(méi)有提供Message-Id的事實(shí)。
信封頭
上面關(guān)于SMTP的討論部分提到了“消息”頭和“信封”頭的不同之處。這種區別和導致的后果將在這里詳細地討論。
簡(jiǎn)單地說(shuō),“信封”頭實(shí)際上是由接收消息的郵件服務(wù)器產(chǎn)生的,而不是發(fā)送者服務(wù)器。按照這個(gè)定義,“Received:”頭是信封頭,而一般來(lái)說(shuō)常常使用"envelope From"和"envelope To"來(lái)指示它們。
"envelope From"頭是從MAIL FROM命令得到的。如發(fā)送者郵件服務(wù)器發(fā)出命令MAIL FROM: ideal@linuxaid.com.cn,則接收者服務(wù)器則產(chǎn)生一個(gè)"envelope From"頭:>From ideal@linuxaid.com.cn。
注意這里少了一個(gè)冒號—"From"而不是"From:"。也就是說(shuō)信封頭在其后沒(méi)有冒號。當然這個(gè)慣例并不是標準,但是這時(shí)一個(gè)值得注意的慣例。
對應的是"envelope To"同樣來(lái)自于RCPT TO命令。如果發(fā)送者服務(wù)器發(fā)出命令RCPT T ideal@btamail.net.cn。則"envelope To"為ideal@btamail.net.cn。一般來(lái)說(shuō)實(shí)際上并沒(méi)有這樣一個(gè)郵件頭,它常常是包含在Received:頭中。
存在信封信息的一個(gè)重要結果就是消息From:和T變得毫無(wú)意義。From:頭是由發(fā)送者提供的,同樣T也是由發(fā)送者提供的。因此郵件僅僅基于"envelope To"來(lái)進(jìn)行轉發(fā)路由,而不是基于消息T。
為了從實(shí)際中理解這個(gè)概念,看看下面這樣的郵件傳輸:
HELO galangal.org
250 mail.zky.ac.cn Hello linuxaid.com.cn [202.99.11.120], pleased to meet you
MAIL FROM: forged-address@galangal.org
250 forged-address@galangal.org... Sender ok
RCPT T lisi@zky.ac.cn
250 lisi@zky.ac.cn... Recipient OK
DATA
354 Enter mail, end with "." on a line by itself
From: another-forged-address@lemongrass.org
T (這里你的地址被隱瞞以實(shí)現秘密郵件轉發(fā)和騷擾)
.
250 OAA08757 Message accepted for delivery
下面是對應的郵件頭:
>From forged-address@galangal.org
Received: from galangal.org ([202.99.11.120]) by mail.zky.ac.cn (8.8.5) for ...
From: another-forged-address@lemongrass.org
T (your address suppressed for stealth mailing and annoyance)
注意到"envelope From"的內容和消息From:的內容和消息T的內容都是發(fā)送者指定的,因此他們都是不可靠的。這個(gè)例子說(shuō)明了為什么信封From、消息From:及消息T在可能是偽造的郵件中是不可靠的,因為它們太容易偽造了。
"Received:"頭的重要性
在上面的例子中我們已經(jīng)看到,"Received:"頭提供了詳細的消息傳輸歷史記錄,因此即使在其他郵件頭是被偽造的情況下也可能根據 "Received:"頭得到某些關(guān)于該信件原始出處和傳輸過(guò)程的結論。這部分將詳細探討某些和異常的重要消息頭相關(guān)的問(wèn)題,特別是如何挫敗那些常見(jiàn)的偽造技術(shù)。
毫無(wú)疑問(wèn)的是,在"Received:"頭中唯一重要且有價(jià)值的偽造防護就是由接收服務(wù)器記錄的那些信息。前面提到發(fā)送者能偽造自己的身份(通過(guò)在HELO命令中報告錯誤的身份)。幸運的是現代郵件服務(wù)器程序都可以檢測到這種錯誤信息并加以修正。
如果服務(wù)器linuxaid.com.cn的真實(shí)IP地址是202.99.11.120,發(fā)送郵件給mail.zky.ac.cn,但是使用HELO galangal.org命令來(lái)偽造自己的身份,則對應該次傳輸的"Received:"可能如下所示:
Received: from galangal.org ([202.99.11.120]) by mail.zky.ac.cn (8.8.5)...
(后面的其他信息被省略以更加清晰)。注意雖然zky.ac.cn沒(méi)有明確地說(shuō)galangal.org不是發(fā)送者的真實(shí)身份,但是它記錄了發(fā)送者正確的IP 地址。如果某接收者認為消息頭中的galangal.org是偽造者偽造的身份,他可以查看IP地址202.99.11.120來(lái)得到對應的正確域名是linuxaid.com.cn,而不是galangal.org。也就是說(shuō)記錄發(fā)送服務(wù)器的IP地址提供了足夠的信息來(lái)確認可以的偽造行為。
很多現代郵件程序實(shí)際上將根據IP查看對應域名的過(guò)程自動(dòng)化了。(這種查看過(guò)程被稱(chēng)為反向DNS解析)。如果mail.zky.ac.cn使用這種軟件,則"Received:"頭則變?yōu)?
Received: from galangal.org (linuxaid.com.cn [202.99.11.120]) by mail.zky.ac.cn...
從這里可以清楚地看到偽造行為。這個(gè)消息頭明確地說(shuō)linuxaid.com.cn的IP地址是202.99.11.120,但是卻宣稱(chēng)自己的身份為 galangal.org。這樣的信息對于對于驗證和追蹤偽造信件是非常有用的。(因此,垃圾郵件發(fā)送者往往避免使用那些記錄發(fā)送者地址的郵件服務(wù)器進(jìn)行垃圾郵件轉發(fā)。有時(shí)候它們可以找到不記錄發(fā)送者服務(wù)器,但是現在網(wǎng)落上這樣的服務(wù)器已經(jīng)很少了)
偽造者偽造郵件的另外一個(gè)日益常見(jiàn)的技巧是在發(fā)送垃圾郵件以前添加偽造的"Received:"頭。這意味著(zhù)從linuxaid.com.cn發(fā)送的假設的郵件的"Received:"頭的內容可能為:
Received: from galangal.org ([202.99.11.120]) by mail.zky.ac.cn (8.8.5)...
Received: from nowhere by fictitious-site (8.8.3/8.7.2)...
Received: No Information Here, Go Away!
很明顯,最后兩行內容完全是毫無(wú)疑義的,是由發(fā)送者編寫(xiě)并在發(fā)送以前附在郵件中的。由于一旦郵件離開(kāi)linuxaid.com.cn,發(fā)送者對郵件完全失去了控制。而且新的"Received:"頭總是出現添加在消息的頭部,因此偽造的"Received:"頭總是出現在"Received:"頭列表的尾部。這意味著(zhù)任何人從頭到尾讀取"Received:"頭列表,追蹤郵件傳輸歷史,都能安全地剔除在第一個(gè)偽造頭以后的內容。即使"Received:" 頭看上去似乎是真實(shí)的,但是實(shí)際上都是偽造的。
當然,發(fā)送者不一定會(huì )用明顯的垃圾信息來(lái)迷惑你,一個(gè)處心積慮的偽造者可能創(chuàng )建如下所示的看似真實(shí)的"Received:"頭列表:
Received: from galangal.org ([202.99.11.120]) by mail.zky.ac.cn (8.8.5)...
Received: from lemongrass.org by galangal.org (8.7.3/8.5.1)...
Received: from graprao.com by lemongrass.org (8.6.4)...
這里泄漏偽造問(wèn)題的唯一地方是第一個(gè)"Received:"頭中的galangal.org的IP地址。如果偽造者這里填寫(xiě)了lemongrass.org 和graprao.com的真實(shí)IP地址,則這樣的偽造偽造仍然非常難以檢測。但是第一個(gè)"Received:"頭中的域名和IP的不匹配仍然揭露了消息是偽造的,并且該郵件是有網(wǎng)絡(luò )中地址為202.99.11.120的服務(wù)器注入到網(wǎng)絡(luò )中。然而大多數郵件頭偽造者一般都沒(méi)有這么狡猾,一般額外添加的 "Received:"頭一般都很明顯地是偽造的垃圾。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。