簡介
本檔案介紹UNIX信箱(mbox)格式及其在思科電子郵件安全裝置(ESA)上的應用。
前提條件和重要注意事項
- 確保您瞭解ESA上的AsyncOS在存檔消息時以及在消息過濾器的
log()操作中使用UNIX mbox格式。
- mbox格式基於ASCII,而不是二進位制。
- mbox格式有多個變體,這會使解析變得複雜。
- AsyncOS不使用「Content-Length」標頭方法或插入
Content-Length字段。
UNIX mbox格式概述
AsyncOS在郵件存檔或通過郵件過濾器操作記錄郵件時使用UNIX郵箱格式。「存檔郵件」是ESA上的IronPort反垃圾郵件(IPAS)、防病毒(Sophos和McAfee)、高級惡意軟體防護(AMP)和灰色郵件等功能的附加配置選項。
mbox格式是一種純文字檔案(ASCII)格式,用於儲存在一個檔案中串聯的一個或多個電子郵件。消息使用特定模式分離,從而能夠提取單個消息。格式匹配在符合RFC 2821的郵件網關之間傳輸的郵件。
mbox檔案的結構
- 消息分隔符:每條消息都以以「From」開頭的行開頭(ASCII字元F、r、o、m和空格)。
- 「自」後面的欄位:接下來的欄位是:
- 信封發件人:可以是真實的郵箱、破折號(
-)或其他字串,具體取決於生成mbox的應用程式。
- 日期:由ESA以標準UNIX asctime()格式插入,長度始終為24個字元。
- 可選資料:某些mbox變體會在日期之後新增更多欄位。
- 現場分離:這些欄位由單個空格分隔。
- 電子郵件內容:遵循標準RFC 2822格式的分隔符行(標題、空白行、正文)。
範例:Mbox格式的單條消息
From Adam@Outside.COM Sun Oct 17 12:03:20 2004
Received: from mail.outside.com (192.35.195.200)
by smtp.alpha.com with ESMTP; 17 Oct 2004 12:03:20 -0700
X-IronPort-AV: i="3.85,147,1094454000";
v="EICAR-AV-Test'0'v";
d="scan'208"; a="86:adNrHT37924848"
X-IronPort-RCPT-TO: alan@mail.example.com
From: Adam@Outside.COM
To: Alan Alpha <Alan@mail.example.COM>
Subject: Exercise 7a Anti-Virus Scanning
Reply-To: Adam Alpha <adam@outside.com>
Date: Sun, 17 Oct 2004 12:02:39 -0700
MIME-version: 1.0
Content-type: multipart/mixed; boundary="IronPort"
--IronPort
Content-type: text/plain; format=flowed; charset=us-ascii
Content-transfer-encoding: 7bit
Blah blah blah blah blah
Blah blah blah blah blah
Blah blah blah blah blah
...
--IronPort
Content-type: text/plain
Content-transfer-encoding: 7bit
Content-disposition: inline
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*">X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
--IronPort--
報文分離和「發件人」行處理
- 由於許多應用程式生成mbox檔案,因此「自」分隔符的格式可能會有所不同。但是,您可以始終使用「發件人」作為可靠的消息邊界。
- 分離器之後的欄位大約有20個已知變體,使得自動解析變得困難。
- 為防止混淆,電子郵件正文中以「From」開頭的行始終在前面加上一個「>」。 AsyncOS日誌檔案會將「>」置於任何行之前,該行以一個或多個「>」字元開頭,後跟「From」。
範例:在mbox檔案中報價
From jtrumbo@example1.com Sun Dec 12 12:27:33 2004
X-IronPort-RCPT-TO: trumbo@example1.com
From: jtrumbo@example1.com
To: trumbo@example2.com
Subject: Quote this, if you dare
Date: Sun, 12 Dec 2004 12:28:00 -0700
The following line is just From
>From A From Line
The following line has quoted >From
>>From A >From Line
The following line has many >>>>From
>>>>>From This line has 4 > characters before From
And this is the last line
消息結束和解析
- 消息的結尾通常用空行標籤。AsyncOS始終包含此行,但並非所有實現都包含此行。
- 在分析時,將新的「自」分隔行的開始或檔案的末尾視為消息的結尾。刪除空白行(如果存在)。
- 某些變體使用「Content-Length」欄位來標籤消息邊界,但AsyncOS不使用此方法。
要點摘要
- AsyncOS使用標準的UNIX mbox格式來存檔和記錄消息。
- mbox格式為ASCII,連線消息,並使用「自」行作為分隔符。
- AsyncOS確保以「From」開頭的消息中的行以「>」加引號以避免解析錯誤。
- 解析mbox檔案需要處理許多變體,尤其是使用消息分隔符行。
- 不要期望或依賴AsyncOS生成的mbox檔案中的「Content-Length」欄位。