المقدمة
يوضح هذا المستند كيفية إنشاء عامل تصفية استنادا إلى مستخدم بروتوكول نقل البريد البسيط (SMTP) الذي تمت مصادقته وتسجيل اسم المستخدم في رأس X.
المتطلبات الأساسية
توصي Cisco بأن تكون لديك معرفة بالإصدار 6.5 من AsyncOS والإصدارات الأحدث.
معلومات أساسية
تتيح وظيفة مصادقة SMTP للعملاء إستخدام مصادقة SMTP لعملائهم من أجل الاتصال بأجهزة أمان البريد الإلكتروني (ESAs) وإرسال البريد منها. ونظرا لأن الميزة تسمح للمستخدم الذي تمت مصادقة بياناته بالترحيل، فمن الممكن للمستخدمين تزوير الحقل "من:" في رسائل البريد الإلكتروني التي يرسلونها من خلال Cisco ESA. لمنع المستخدمين من التزوير، يحتوي الإصدار 6.5 من ESA AsyncOS والإصدارات الأحدث الآن على شرط عامل تصفية الرسائل الذي يسمح بالمقارنات مقابل اسم مستخدم SMTP الذي تمت مصادقته والبريد من عنوان البريد الإلكتروني.
إنشاء عامل تصفية
يسمح شرط عامل تصفية الرسائل للمسؤول بكتابة عامل تصفية مماثل لقاعدة المثال في القسم التالي الذي يقارن رسائل البريد الإلكتروني التي يتم إرسالها إلى الصادر من خلال جلسة مصادقة SMTP. إذا تم أختراق بيانات اعتماد SMTP، فإن الجهاز الذي يرسل رسائل البريد الإلكتروني يقوم عادة بإنشاء عدة عناوين لاستخدامها كبريد من: رأس. يسمح شرط عامل تصفية الرسائل فقط برحيل رسائل البريد الإلكتروني إذا تطابق اسم المستخدم والبريد من: رؤوس الرسائل. وإلا، فسيعتبر البريد الإلكتروني رسالة بريد مزورة من:، ويتم تنشيط إجراء تصفية الرسائل. يمكن أن يكون إجراء عامل تصفية الرسالة أي إجراء نهائي؛ حيث تعرض قاعدة المثال إجراء عزل. تحتوي حالة عامل التصفية على هذه الصياغة:
smtp-auth-id-matches("<target>" [, "<sieve-char>"])
يسمح عامل التصفية بإجراء مقارنة مقابل أحد هذه الأهداف:
- EnvelopeFrom: يقارن العنوان المحدد في البريد من: في محادثة SMTP.
- FromAddress: مقارنة العناوين التي تم تحليلها خارج رأس من:. بما أن العناوين المتعددة مسموح بها في الرأس من:، يجب أن يتطابق عنوان واحد فقط.
- المرسل: مقارنة العنوان المحدد في Sender:header.
- any: يطابق الرسائل التي تم إنشاؤها أثناء جلسة SMTP المصدق عليها (بغض النظر عن الهوية).
- none: يطابق الرسائل التي لم يتم إنشاؤها أثناء جلسة SMTP المصدق عليها (على سبيل المثال، عندما تكون مصادقة SMTP مفضلة).
معرف مصادقة SMTP |
سيف شار |
عنوان المقارنة |
التطابقات؟ |
بعض المستخدمين |
|
otheruser@example.com |
لا |
بعض المستخدمين |
|
someuser@example.com |
نعم |
بعض المستخدمين |
|
someuser@face.localhost |
نعم |
بعض المستخدمين |
|
someuser@example.com |
نعم |
بعض المستخدمين |
|
someuser+folder@example.com |
لا |
بعض المستخدمين |
+ |
someuser+folder@example.com |
نعم |
someUser@example.com |
|
someuser@forged.com |
لا |
someUser@example.com |
|
someuser@example.com |
نعم |
someUser@example.com |
|
someuser@example.com |
نعم |
تم إنشاء هذا الاستبدال المتغير، $SMTPAuthID، للسماح بالإدراج في رؤوس بيانات اعتماد المصادقة الأصلية المستخدمة في الترحيل.
قاعدة المثال
Msg_Authentication: if (smtp-auth-id-matches("*Any"))
{
# Always include the original authentication credentials in a
# special header.
insert-header("X-SMTPAUTH", "$SMTPAuthID");
if (smtp-auth-id-matches("*FromAddress", "+") and
smtp-auth-id-matches("*EnvelopeFrom", "+"))
{
# Username matches. Verify the domain
if (header('from') != "(?i)@(?:example\.com|example\.com)" or mail-from !=
"(?i)@(?:example\.com|\.com)"
{
# User has specified a domain which cannot be authenticated
quarantine("forged");
}
} else {
# User claims to be an completely different user
quarantine("forged");
}
}
ملاحظة: يفترض هذا المرشح أن لديك حجر صحي يسمى مزور.
معلومات ذات صلة