يطلب صندوق catch-all من خادم البريد قبول كل رسالة ترسل إلى نطاقك، حتى إذا لم يكن المستلم موجودا. بدلا من رفض typo@yourdomain.com بخطأ 550، يقبلها الخادم. يبدو ذلك مفيدا حتى يتدفق البريد المزعج والتصيد وهجمات جمع العناوين عبر هذا الباب المفتوح.
قد تفقد النطاقات سمعة الإرسال خلال أسابيع عند تشغيل catch-all بلا ضوابط. الإعداد نفسه ليس معقدا، لكن منع تحوله إلى مشكلة تشغيلية هو الجزء الصعب.
يغطي هذا الدليل ثلاثة أنماط عزل تساعدك على تشغيل صندوق catch-all بأمان أكبر على Microsoft 365 أو بنية Linux أو Google Workspace. إذا لم تحسم حاجتك إليه، فاقرأ أولا شرح بريد catch-all للنطاق.
ما صندوق catch-all؟
صندوق catch-all هو صندوق وارد واحد يستقبل كل رسالة إلى نطاقك لا تطابق عنوانا موجودا. عندما يرسل شخص إلى misspelled-name@yourdomain.com، تصل الرسالة إلى هذا الصندوق المخصص بدلا من رفضها.
المشكلة أن الخادم يقبل الآن كل شيء. تحصل روبوتات البريد المزعج ومحاولات التصيد وعمليات مسح الدليل الآلية على رد 250 OK. ومن دون قواعد عزل تختلط هذه الحركة ببريدك الحقيقي وقد تضر سمعة نطاقك.
القاعدة الذهبية: لا توجهه إلى صندوق وارد أساسي
هذه قاعدة أساسية. تتجاوز حركة catch-all ميزة Directory-Based Edge Blocking (DBEB)، أي إن الخادم يقبل المحتوى قبل التحقق من المستلم. توجيهها إلى ceo@company.com أو أي صندوق نشط ينشئ ثغرة تشغيلية وأمنية قد لا تلاحظها مبكرا.
تتبع الأنماط أدناه المبدأ نفسه: اعزل حركة catch-all عن بريد الإنتاج.
النمط 1: مستودع الحجر (Microsoft 365 / Exchange)
هذا نهج شائع للمؤسسات التي تحتاج إلى الاحتفاظ ببريد catch-all لأغراض قانونية أو لأغراض الاكتشاف، لكنها لا تريد إشعارات كل خمس دقائق.
طريقة العمل
- الاستقبال - يقبل الخادم بريد المستلمين غير المعروفين.
- الوسم - تحدد Transport Rule أن الرسالة خارجية وغير موجهة إلى مستخدم صالح.
- الكبح - تضبط القاعدة Spam Confidence Level (SCL) على 9، أي بريد مزعج بثقة عالية.
- التخزين - توجه الرسالة إلى صندوق مشترك مثل
catchall-sink@yourdomain.com.
إعداد PowerShell
اضبط نطاقك أولا على "Internal Relay" في Exchange Admin Center، ما يعطل DBEB. ثم نفذ:
# Create the sink (shared mailbox - no license needed)
New-Mailbox -Shared -Name "CatchAll Sink" -PrimarySmtpAddress catchall-sink@yourdomain.com
# Create the transport rule
New-TransportRule -Name "Catch-All Routing & Suppression"
-FromScope "NotInOrganization"
-SentTo "catchall-sink@yourdomain.com"
-RedirectMessageTo "catchall-sink@yourdomain.com"
-SetSCL 9
-ExceptIfRecipientBelongsTo "All Valid Users Group"
لماذا SCL 9؟ من دونه يمتلئ صندوق catch-all بضوضاء الإشعارات. يفرض SCL 9 نقل كل شيء إلى مجلد البريد غير المرغوب. راجعه أسبوعيا مثلا لا كل ساعة.
النمط 2: التدفق الموسوم (Postfix / Linux)
إذا كنت تشغل بنية Postfix/Dovecot بنفسك، فقد يكون الصندوق المنفصل مبالغا فيه. بدلا من ذلك أضف ترويسة ودع قواعد العميل تتولى الفرز.
طريقة العمل
- الاستقبال - يقبل
luser_relayالرسالة للمستلمين المحليين غير المعروفين. - التعديل - يضيف MTA ترويسة
X-Catch-All: True. - التصفية - تنقل قواعد Sieve الرسالة إلى مجلد مخصص.
إعداد Postfix
# /etc/postfix/main.cf
# Route unknown local users to a specific alias
luser_relay = catchall_alias
# /etc/postfix/virtual
# Map the alias to a real user
catchall_alias realuser@yourdomain.com
مهم: يعمل luser_relay للنطاقات المحلية فقط. استخدم virtual_alias_maps مع wildcard للنطاقات الافتراضية المتعددة:
# /etc/postfix/virtual
@example.com realuser@example.com
إذا كنت تضبط إعادة توجيه البريد بجانب قواعد catch-all، فتأكد من عدم تعارض الخرائط الافتراضية. القواعد المتداخلة سبب شائع لتوجيه البريد خطأ.
مرشح Sieve
لا تعتمد على المراجعة البصرية لفصل حركة catch-all. أتمت العملية:
if header :contains "X-Original-To" "catchall_alias" {
fileinto "Junk/CatchAll";
stop;
}
النمط 3: wildcard جزئي (توجيه regex)
هذا نهج مناسب عندما لا تحتاج فعليا إلى صندوق catch-all كامل. بدلا من قبول *@domain.com، تقبل أنماطا محددة مثل sales-*@domain.com وترفض الباقي.
طريقة العمل
تضبط MTA أو مزود البريد لقبول العناوين المطابقة لتعبير regex، مثل sales-webinar@ وsales-q1@، مع رفض أهداف عالية المخاطر مثل admin@ أو hr@.
إعداد Google Workspace
- انتقل إلى Apps > Google Workspace > Gmail > Default Routing.
- ضمن Specify Envelope Recipients اختر "Pattern Match".
- أدخل regex:
^sales-.*@yourdomain\.com$ - اضبط الإجراء: غير مستلم الغلاف إلى
sales-team@yourdomain.com.
النتيجة: يقبل sales-promo@yourdomain.com ويرفض admin@yourdomain.com بالرمز 550. يمكن أن يقلص هذا كثيرا سطح الهجوم أمام هجمات جمع عناوين الدليل.
هل يجب أن تعمل العناوين فعليا بوصفها عناوين بريد بديلة؟ يمكنك جمع wildcard الجزئي مع إعادة توجيه العناوين البديلة إذا كان مزودك يدعم ذلك.
منع حلقة التوجيه في صندوق catch-all
حلقة التوجيه من أخطر حالات الفشل في إعداد catch-all. هكذا قد تحدث:
- يقبل catch-all البريد إلى
ghost@domain.com. - تعيد قاعدة توجيهه تلقائيا إلى
external@gmail.com. - يرفضه Gmail بسبب فشل SPF/DMARC.
- يعيد Gmail إشعار NDR إلى
ghost@domain.com. - يقبل catch-all رسالة الرفض.
- تعيد القاعدة توجيه الرفض إلى Gmail.
- يتكرر ذلك حتى تجاوز
MaxHopCount.
قد ترى أخطاء مثل 5.4.14 Hop count exceeded أو 5.4.6 Routing loop detected. في نطاق نشط قد يرفع هذا قائمة انتظار الإرسال ويؤدي إلى حظر بسبب البريد المزعج خلال ساعات.
قائمة تحقق للوقاية
- افحص الترويسات - تأكد من احترام MTA لترويستي
X-LoopوDelivered-To. - احظر الردود الآلية - اضبط قواعد catch-all لتخطي الرسائل ذات ترويسة
Auto-Submitted: auto-generated. - تنبيه Microsoft 365 - تحظر سياسة البريد المزعج الصادر إعادة التوجيه الخارجي افتراضيا بالخطأ
5.7.520 Access denied. يلزم تمكينها في Outbound Spam Filter Policy، لكن ذلك يزيد خطر backscatter، لذا وازن المخاطر بعناية.
لمزيد عن مشكلات إعادة التوجيه بين المزودين، راجع دليل إعادة توجيه عنوان البريد البديل.
لماذا توجد معظم صناديق catch-all مع أن بدائلها قد تكون أفضل
السبب الأساسي غالبا هو تجنب تكلفة الترخيص لكل مستخدم. إذا احتجت إلى support@ وbilling@ وjobs@ ولم ترد دفع $18 شهريا لكل مستخدم إلى Google أو Microsoft، فقد يبدو catch-all حلا ذكيا.
لكنه غالبا ليس كذلك. فقد يصبح دينا تقنيا بتكلفة على السمعة.
قد يكون الحل الأنسب مزودا لا يحاسب عن كل مستخدم. يستخدم TrekMail، بحسب العرض الموصوف، تخزينا مجمعا بدلا من التسعير لكل مستخدم:
- خطة Nano - $0، من دون بطاقة.
- Starter - $3.50 شهريا مع تجربة 14 يوما.
- Pro - $10 شهريا مع تجربة 14 يوما.
- Agency - $23.25 شهريا مع تجربة 14 يوما.
يمكنك إنشاء support@ وbilling@ وjobs@ كصناديق فعلية أو عناوين بديلة على نطاقك المخصص ضمن حدود الخطة الحالية. ولأنها موجودة في الدليل، يستطيع الخادم رفض المستلمين غير الصالحين عند الحافة برد 550 صحيح. يساعد ذلك في حماية سمعة النطاق وقد يغني عن Transport Rules ومرشحات Sieve وتوجيه regex.
إذا كنت تدير نطاقات متعددة بصفتك MSP أو شركة نامية، فقارن حلول catch-all البديلة بالميزات المدمجة. صممت ميزة صندوق catch-all في TrekMail لتوفير شبكة أمان وتقليل بعض المخاطر المعمارية عندما يضبط DNS والمصادقة والتوجيه بصورة صحيحة.
الخلاصة
صندوق catch-all ليس سيئا بطبيعته. لكن catch-all غير المحمي قد يضر النطاقات. اختر نمط العزل المناسب لبنيتك، مثل مستودع الحجر لـ Exchange أو التدفق الموسوم لـ Postfix أو wildcard الجزئي لـ Workspace، وطبق القاعدة الذهبية: لا تخلط حركة catch-all ببريد الإنتاج.
أو تجنب التعقيد إذا كان ذلك يناسب حالتك. استخدم مزودا يجعل العناوين الحقيقية معقولة التكلفة بحيث لا تحتاج إلى catch-all أساسا.