المقدمة
يصف هذا المستند تنسيق صندوق بريد Unix (mbox) وكيفية ارتباطه باستخدامه على جهاز Cisco Email Security Appliance (ESA).
ما هو تنسيق UNIX mbox (صندوق البريد)؟
يتم إستخدام تنسيق UNIX mbox من قبل AsyncOS عند أرشفة الرسائل وتسجيلها في الإجراء "سجل تصفية الرسائل"(). "Archive Message" هو خيار تكوين إضافي ل IronPort Anit-spam (IPAS) و Anti-Virus (Sophos و McAfee) والحماية المتقدمة من البرامج الضارة (AMP) و Graymail على ESA.
تنسيق Mbox هو تنسيق ملف بتنسيق ASCII (أي، ليس ثنائي) يمكن أن يحتوي على رسائل بريد أو أكثر. يتم تجميع الرسائل في ملف المربع ويمكن تصنيفها بشكل منفصل استنادا إلى سلاسل محددة في الملف. هذا التنسيق مطابق للرسالة عند نقلها بين عبارات البريد المتوافقة مع RFC 2821.
تبدأ كل رسالة في تنسيق المربع بسطر يبدأ بالسطر "من" (أحرف ASCII F، r، o، m، ومساحة). يتبع "من" سطور عدة حقول أخرى: مرسل المغلف، التاريخ، و (إختياري) المزيد من البيانات.
الحقل الأول بعد سلسلة "من" هو مرسل المظروف للرسالة. بناء على التطبيق الذي يقوم بإنشاء ملف mbox، قد يكون مرسل المغلف موجودا كعلبة بريد حقيقية أو قد يكون حرف أو سلسلة أخرى. وبشكل عام، ستجد أن "-" (شرطة حرف واحد) يحل محل مرسل المغلف إذا كان مرسل المغلف الفعلي غير متوفر أو غير معروف. حقل التاريخ الذي تم إدخاله بواسطة ESA بتنسيق UNIX ASCTIME() القياسي ويبلغ طوله دائما 24 حرفا. في بعض ملفات mbox المكتوبة بواسطة تطبيقات غير AsyncOS، يتبع ختم التاريخ المزيد من المعلومات. يتم فصل هذه الحقول الثلاثة بمسافة واحدة.
هنا مثال على ملف مربع به رسالة واحدة:
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
Subject: Exercise 7a Anti-Virus Scanning
Reply-To: Adam Alpha
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 تنسيق معروف للسلاسل بعد فاصل رسائل "من"، مما يجعل من الصعب جدا تحليلها.
بعد أن يكون السطر "من" عبارة عن رسالة بريد إلكتروني بتنسيق RFC 2822، مع سلسلة من رؤوس نص الرسالة متبوعة بسطر فارغ متبوع بمحتوى نص رسالة إضافي.
لضمان فصل الرسائل بشكل صحيح، فإن السطور التي تبدأ بالسلسلة "من" تكون دائما مسبوقة بواحد ">". تعالج متغيرات مختلفة مختلفة مختلفة لملفات mbox الأسطر التي تبدأ ب ">من" بشكل مختلف. في عمليات التنفيذ المبكرة للتطبيقات التي تكتب ملفات مربع العمل، لم يتم اقتباس هذه السطور نفسها. ستقوم ملفات سجل 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
يتم الإشارة إلى نهاية الرسالة الموجودة في ملف تنسيق MBOX بشكل تقليدي بخط فارغ. ومع ذلك، لا يكون هذا موجودا دائما (على الرغم من أن AsyncOS يضعه هناك). عند تحليل ملف بتنسيق mbox، يجب أن تشير إلى نهاية الرسالة إما عن طريق بداية رسالة جديدة (احذف السطر الفارغ إن كان موجودا) أو عن طريق نهاية الملف.
تم إستدعاء متغير آخر في تنسيق المربع لطول الرسالة ليتم الإشارة إليها في حقل "طول المحتوى" ضمن رأس الرسالة. لم يستخدم هذا التنسيق اقتباس سطر "من". لا يستخدم AsyncOS هذا التنسيق ولا يدرج حقل طول المحتوى.