المقدمة
يصف هذا المستند تنسيق علبة بريد UNIX (mbox) وتطبيقه على جهاز أمان البريد الإلكتروني من Cisco (ESA).
المتطلبات الأساسية والاعتبارات المهمة
- تأكد من فهمك أن AsyncOS على ESA يستخدم تنسيق UNIX mbox عند أرشفة الرسائل وفي الإجراء
log() الخاص بعوامل تصفية الرسائل.
- تنسيق mbox مبني على ASCII وليس ثنائي.
- هناك متغيرات متعددة من تنسيق المربع، والتي يمكن أن تعقد التحليل.
- لا يستخدم AsyncOS أسلوب الرأس "Content-Length" أو إدراج حقل
Content-Length.
نظرة عامة على تنسيق UNIX MBOX
يتم إستخدام تنسيق UNIX mbox من قبل AsyncOS عند أرشفة الرسائل أو تسجيلها من خلال إجراءات تصفية الرسائل. "Archive Message" هو خيار تكوين إضافي لميزات مثل IronPort Anti-Spam (IPAS) و Anti-Virus (Sophos و McAfee) والحماية المتقدمة من البرامج الضارة (AMP) و Graymail على ESA.
تنسيق المربع هو تنسيق نص عادي (ASCII) يقوم بتخزين رسالة بريد إلكتروني واحدة أو أكثر تم تجميعها في ملف واحد. يتم فصل الرسائل باستخدام نمط معين، مما يجعل من الممكن إستخراج رسائل فردية. يطابق التنسيق الرسائل كما تم نقلها بين عبارات البريد المتوافقة مع RFC 2821.
هيكل من ملف mbox
- فاصل الرسائل: تبدأ كل رسالة بسطر يبدأ ب "من" (حروف ASCII F، r، o، m، ومساحة).
- الحقول بعد "من": الحقول التالية هي:
- مرسل المظروف: يمكن أن يكون علبة بريد حقيقية أو شرطة (
-) أو سلسلة أخرى، حسب التطبيق الذي ينتج المربع.
- التاريخ: يتم إدخاله بواسطة ESA بتنسيق UNIX ASCTIME() القياسي، بطول 24 حرفا دائما.
- بيانات إختيارية: تضيف بعض متغيرات مربع العمل المزيد من الحقول بعد التاريخ.
- فصل الحقل: يتم فصل هذه الحقول بمسافة واحدة.
- محتوى رسالة البريد الإلكتروني: يتبع سطر الفاصل بتنسيق 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--
فصل الرسائل ومعالجة سطر "من"
- لأن العديد من التطبيقات تقوم بإنشاء ملفات المربع، فإن تنسيق سطر الفاصل "من" يمكن أن يختلف. ومع ذلك، يمكنك دائما إستخدام "من" كحد رسائل موثوق به.
- هناك حوالي 20 متغير معروف للحقول التي تلي الفاصل، مما يجعل التحليل الآلي صعبا.
- لمنع الارتباك، فإن الأسطر الموجودة في نص رسالة البريد الإلكتروني والتي تبدأ ب "من" يتم دائما إعدادها مسبقا ب ">" واحد. ستؤدي ملفات سجل AsyncOS إلى ترجيح ">" لأي سطر يبدأ بحرف واحد أو أكثر من الأحرف ">" متبوعة بحرف "من".
مثال: اقتباس في ملفات 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 القياسي لأرشفة رسائل التسجيل.
- تنسيق المربع هو ASCII، ويقوم بربط الرسائل، ويستخدم أسطر "من" كفواصل.
- يضمن AsyncOS أن يتم اقتباس السطور الموجودة داخل الرسائل التي تبدأ ب "من" ب ">" لتجنب أخطاء التحليل.
- يتطلب تحليل ملفات مربع العمل معالجة العديد من المتغيرات، خاصة مع خطوط فاصل الرسائل.
- لا تتوقع أو تعتمد على حقل "طول المحتوى" في ملفات mbox التي تم إنشاؤها بواسطة AsyncOS.