
البريد العشوائي (Spam) هو مصدر إزعاج شائع لا يؤدي فقط إلى ازدحام صندوق الوارد الخاص بك، بل يمكن أن يشكل أيضًا مخاطر أمان. لحسن الحظ، هناك أدوات قوية متاحة للمساعدة في مكافحة تدفق الرسائل غير المرغوب فيها. واحدة من أكثر الأدوات فعالية لمكافحة الرسائل غير المرغوب فيها على الأنظمة المستندة إلى Linux هي SpamAssassin. في هذا الدليل الشامل، سنرشدك إلى خطوات إعداد SpamAssassin على كل من Ubuntu و CentOS.
سواء كنت مسؤول نظام يقوم بإعداد خادم بريد إلكتروني لأول مرة أو محترفًا ذو خبرة يعمل على تحسين إعداداتك الحالية، سيساعدك هذا الدليل على تنفيذ حل قوي لمكافحة الرسائل غير المرغوب فيها على الخادم الخاص بك. سنغطي كل شيء من التثبيت إلى التكوينات المتقدمة.
مقدمة
الرسائل غير المرغوب فيها (Spam) مشكلة مستمرة تؤثر على كل من الأفراد والمنظمات. بالنسبة لمسؤولي النظام، تعد إدارة الرسائل غير المرغوب فيها بشكل فعال أمرًا بالغ الأهمية للحفاظ على سلامة وأمان خوادم البريد الإلكتروني الخاصة بهم. هنا يأتي دور SpamAssassin. هو مرشح مفتوح المصدر لمكافحة الرسائل غير المرغوب فيها يتميز بإمكانية التخصيص العالية ويستخدم بشكل واسع. يستخدم SpamAssassin مجموعة متنوعة من التقنيات بما في ذلك القوائم السوداء، وفحص الكلمات الرئيسية، والتعلم الآلي للكشف عن الرسائل غير المرغوب فيها والقضاء عليها.
في هذا الدليل، سنستعرض كيفية إعداد SpamAssassin على كل من Ubuntu وCentOS. قد تتطلب أنظمة التشغيل هذين بعض التكوينات المختلفة، ولكن المبادئ الأساسية تبقى كما هي.
لماذا تستخدم SpamAssassin؟
يُعرف SpamAssassin بقدراته القوية والمرنة في تصفية الرسائل غير المرغوب فيها. إليك بعض الفوائد الرئيسية:
- مفتوح المصدر: إنه مجاني للاستخدام ويتم تحديثه باستمرار من قبل مجتمع كبير من المطورين.
- قابل للتخصيص: يمكنك تعديل إعداداته لتناسب احتياجاتك الخاصة.
- قابل للتوسع: يعمل مع خوادم البريد الإلكتروني الصغيرة الشخصية وكذلك البيئات الكبيرة في المؤسسات.
- نهج متعدد التقنيات: يجمع بين تقنيات متعددة للكشف عن الرسائل غير المرغوب فيها بما في ذلك مطابقة الأنماط، والتصفية البايزية، والقوائم السوداء في الوقت الفعلي.
- تكامل: يعمل بشكل جيد مع وكلاء نقل البريد الإلكتروني (MTAs) الشائعة مثل Postfix وExim وSendmail.
SpamAssassin يقلل بشكل كبير من خطر أن يغمر خادم البريد الخاص بك بالرسائل غير المرغوب فيها مع الحفاظ على الحد الأدنى من الإيجابيات الكاذبة.
المتطلبات الأساسية
قبل أن نبدأ بتثبيت وتكوين SpamAssassin، تأكد من أن خادمك يفي بالمتطلبات الأساسية التالية:
متطلبات النظام
- أنظمة التشغيل: Ubuntu 18.04/20.04/22.04، CentOS 7/8/Stream
- صلاحيات Root أو Sudo: ستحتاج إلى الوصول إلى الجذر لتثبيت الحزم وإجراء التغييرات على مستوى النظام.
- وكيل نقل البريد (MTA) المثبت: Postfix أو Exim أو أي وكيل نقل بريد آخر من اختيارك.
- اتصال بالإنترنت: مطلوب لتنزيل وتثبيت الحزم.
التثبيت على Ubuntu
تثبيت التبعيات
قبل تثبيت SpamAssassin، تأكد من تحديث نظامك عن طريق تشغيل الأوامر التالية:
$ sudo apt update
$ sudo apt upgrade
بعد ذلك، قم بتثبيت SpamAssassin وتبعياته:
$ sudo apt install spamassassin spamc
سيقوم هذا الأمر بتثبيت SpamAssassin (spamassassin
) و spamc
، وهو أداة العميل التي تتواصل مع برنامج SpamAssassin.
التكوين على Ubuntu
بعد الانتهاء من التثبيت، ستحتاج إلى تكوين SpamAssassin ليلائم احتياجاتك.
تحرير ملف التكوين
يقع ملف التكوين الأساسي لـSpamAssassin في المسار /etc/spamassassin/local.cf
. افتحه للتعديل:
$ sudo nano /etc/spamassassin/local.cf
إليك بعض خيارات التكوين المهمة:
- Required Hits: يحدد هذا الخيار درجة العتبة لتصنيف البريد الإلكتروني على أنه رسائل غير مرغوب فيها. الافتراضي هو 5، ولكن يمكنك تقليله للحصول على تصفية أكثر عدوانية:
required_score 4.0
- Report Safe: إذا تم تعيينه إلى 1، سيقوم SpamAssassin بتضمين الرسائل غير المرغوب فيها كمرفق. إذا تم تعيينه إلى 0، سيقوم بتعديل سطر الموضوع:
report_safe 0
- Rewrite Subject: هذا الخيار يعدل سطر الموضوع للبريد الإلكتروني الذي تم تحديده كرسالة غير مرغوب فيها. بشكل افتراضي، يكون معطلاً، ولكن يمكنك تفعيله:
rewrite_header Subject *****SPAM*****
بعد إجراء التعديلات اللازمة، احفظ الملف واخرج من المحرر.
تشغيل وتفعيل SpamAssassin
لتشغيل SpamAssassin كخدمة (daemon)، نحتاج إلى تعديل إعدادات خدمة النظام.
تمكين الخدمة
حرر الملف /etc/default/spamassassin
للتأكد من أن الخدمة تبدأ عند إقلاع النظام:
$ sudo nano /etc/default/spamassassin
غير الأسطر التالية لتبدو هكذا:
ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
CRON=1
يضمن هذا أن SpamAssassin سيعمل كخدمة خلفية.
تشغيل الخدمة
قم بتفعيل وتشغيل خدمة SpamAssassin:
$ sudo systemctl enable spamassassin
$ sudo systemctl start spamassassin
يمكنك التحقق من أن SpamAssassin يعمل باستخدام:
$ sudo systemctl status spamassassin
اختبار التثبيت
أرسل رسالة بريد إلكتروني تجريبية عبر وكيل النقل لديك (MTA) للتحقق من أن SpamAssassin يعمل بشكل صحيح. يمكنك التحقق من رؤوس البريد الإلكتروني (headers) لمعرفة ما إذا كان SpamAssassin قد أضاف أي رؤوس متعلقة بالرسائل غير المرغوب فيها.
بدلاً من ذلك، يمكنك استخدام spamc
لاختبار التصفية:
$ echo "Test message" | spamc
سيقوم SpamAssassin بمعالجة الرسالة وإعطاء النتيجة الخاصة بالبريد المزعج.
التثبيت على CentOS
تثبيت SpamAssassin على CentOS
على CentOS، العملية مشابهة ولكنها تستخدم مديري الحزم yum
أو dnf
. أولاً، تأكد من تحديث نظامك:
$ sudo yum update
ثم قم بتثبيت SpamAssassin باستخدام:
$ sudo yum install spamassassin
بالنسبة لـCentOS 8 أو Stream، يمكنك استخدام dnf
:
$ sudo dnf install spamassassin
التكوين على CentOS
عملية التكوين مشابهة لـUbuntu، حيث يوجد ملف التكوين لـSpamAssassin في المسار /etc/mail/spamassassin/local.cf
.
تعديل ملفات التكوين
افتح ملف local.cf
لتكوين إعدادات SpamAssassin:
$ sudo nano /etc/mail/spamassassin/local.cf
قم بإجراء التعديلات بناءً على احتياجاتك:
- required_score: كما هو الحال مع Ubuntu، قم بضبط درجة تصنيف الرسائل غير المرغوب فيها:
required_score 4.0
- rewrite_header: تعديل سطر الموضوع للرسائل التي تم تصنيفها كرسائل غير مرغوب فيها:
rewrite_header Subject *****SPAM*****
احفظ واخرج من الملف بعد الانتهاء.
تشغيل SpamAssassin على CentOS
تمكين وتشغيل الخدمة
للتأكد من أن SpamAssassin يبدأ مع تشغيل النظام، قم بتحرير ملف تكوين النظام:
$ sudo nano /etc/sysconfig/spamassassin
ابحث عن السطر الذي يقول ENABLED=0
وقم بتغييره إلى:
ENABLED=1
احفظ الملف وأغلقه. ثم قم بتمكين وتشغيل SpamAssassin:
$ sudo systemctl enable spamassassin
$ sudo systemctl start spamassassin
تحقق من الحالة:
$ sudo systemctl status spamassassin
اختبار التكوين والتحقق منه
لاختبار التكوين الخاص بك، استخدم spamc
:
$ echo "Test email content" | spamc
تحقق من أن SpamAssassin يقوم بمعالجة البريد الإلكتروني ويعرض درجة الرسائل غير المرغوب فيها.
التكوين المتقدم
التصفية البايزية
يستخدم SpamAssassin التصفية البايزية للتعلم من الرسائل غير المرغوب فيها والرسائل العادية (ham) التي تمر عبر النظام. لتفعيل التصفية البايزية، افتح ملف التكوين local.cf
وأضف:
use_bayes 1
bayes_auto_learn 1
سيقوم ذلك بتحديث قاعدة البيانات البايزية تلقائيًا مع معالجة الرسائل.
تمكين فحوصات SPF وDKIM
لتحسين دقة كشف الرسائل غير المرغوب فيها، يمكنك تمكين فحوصات SPF (إطار سياسة المرسل) و DKIM (مفاتيح تعريف البريد الإلكتروني).
- SPF: أضف السطر التالي إلى التكوين الخاص بك:
use_spf 1
- DKIM: قم بتثبيت
Mail::DKIM
على نظامك وأضف هذا السطر إلىlocal.cf
:
loadplugin Mail::SpamAssassin::Plugin::DKIM
تساعد هذه التقنيات في التحقق من صحة مرسل البريد الإلكتروني وتقليل الإيجابيات الكاذبة.
التكامل مع خوادم البريد الإلكتروني
يمكن دمج SpamAssassin مع وكلاء نقل البريد الشائعة مثل Postfix وExim لتصفية الرسائل غير المرغوب فيها في الوقت الفعلي.
التكامل مع Postfix
لدمج SpamAssassin مع Postfix، ستحتاج إلى تكوين Postfix لتمرير الرسائل الواردة عبر SpamAssassin.
حرر ملف تكوين Postfix:
$ sudo nano /etc/postfix/master.cf
أضف السطور التالية إلى الملف:
spamassassin unix - n n - - pipe
user=spamassassin argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
يضمن هذا التكوين أن Postfix يمرر الرسائل الواردة إلى SpamAssassin للمعالجة.
أتمتة تصفية الرسائل غير المرغوب فيها
يمكنك أتمتة عملية تحديث قواعد SpamAssassin باستخدام وظائف cron. يضمن هذا أن تظل فلاتر الرسائل غير المرغوب فيها محدثة.
قم بإنشاء وظيفة cron لتحديث قواعد SpamAssassin بشكل دوري:
$ sudo crontab -e
أضف السطر التالي لتشغيل تحديث ليلي:
0 3 * * * /usr/bin/sa-update && /usr/bin/systemctl restart spamassassin
سيقوم هذا بتحديث القواعد في الساعة 3 صباحًا كل يوم وإعادة تشغيل خدمة SpamAssassin لتطبيق التغييرات.
تحسين أداء SpamAssassin
قد يكون SpamAssassin كثيف الاستهلاك للموارد، خاصة على خوادم البريد ذات الحركة العالية. إليك بعض النصائح لتحسين أدائه:
- تحديد عدد العمليات الفرعية: قم بتحرير ملف
local.cf
وقلل من عدد العمليات الفرعية:
max_children 2
- استخدام SpamD: تشغيل SpamAssassin كخدمة (
spamd
) يمكن أن يقلل بشكل كبير من استهلاك الموارد. - إدراج المرسلين المعروفين في القائمة البيضاء: يمكنك إدراج المرسلين الموثوقين في القائمة البيضاء لتجاوز تصفية الرسائل غير المرغوب فيها. أضفهم إلى
/etc/spamassassin/local.cf
:
whitelist_from *@example.com
التسجيل والمراقبة
تساعدك مراجعة السجلات بانتظام على تحديد المشكلات المحتملة والتأكد من أن SpamAssassin يعمل بشكل صحيح. يتم تخزين السجلات في /var/log/maillog
أو /var/log/mail.log
.
لعرض السجلات، استخدم:
$ tail -f /var/log/mail.log
سيعرض هذا التحديثات في الوقت الفعلي عند معالجة البريد.
استكشاف الأخطاء وإصلاحها
إليك بعض المشكلات الشائعة التي قد تواجهها أثناء إعداد SpamAssassin:
- SpamAssassin لا يعمل: تحقق من سجلات النظام للبحث عن الأخطاء وتأكد من أن ملفات التكوين صحيحة.
- نسبة عالية من الإيجابيات الكاذبة: قم بتعديل
required_score
لتقليل عدوانية مرشح الرسائل غير المرغوب فيها. - SpamAssassin لا يعالج الرسائل: تحقق من أن وكيل نقل البريد (MTA) الخاص بك مهيأ بشكل صحيح لتمرير الرسائل إلى SpamAssassin.
الأسئلة الشائعة
كيف يكتشف SpamAssassin الرسائل غير المرغوب فيها؟
يستخدم SpamAssassin مجموعة متنوعة من التقنيات، بما في ذلك مطابقة الأنماط، التصفية البايزية، القوائم السوداء، والفحوصات المستندة إلى DNS للكشف عن الرسائل غير المرغوب فيها.
هل يمكن استخدام SpamAssassin مع أي خادم بريد؟
نعم، يمكن دمج SpamAssassin مع خوادم البريد الإلكتروني الشهيرة مثل Postfix وExim وSendmail.
كيف يمكنني تقليل الإيجابيات الكاذبة؟
يمكنك تعديل required_score
وإدراج المرسلين الموثوقين في القائمة البيضاء لتقليل احتمالية تصنيف الرسائل الشرعية كرسائل غير مرغوب فيها.
هل SpamAssassin يستهلك الكثير من الموارد؟
قد يكون SpamAssassin كثيف الاستهلاك للموارد، خاصة على الخوادم الكبيرة. ومع ذلك، باستخدام بعض التحسينات مثل تحديد عدد العمليات الفرعية وتشغيله كخدمة (daemon)، يمكن تحسين استهلاك الموارد.
ما هي ملفات التكوين الأساسية في SpamAssassin؟
ملف التكوين الرئيسي هو /etc/spamassassin/local.cf
. قد تحتاج أيضًا إلى تعديل ملف تكوين MTA لدمج SpamAssassin.
هل يمكنني تحديث قواعد SpamAssassin تلقائيًا؟
نعم، يمكنك إعداد وظيفة cron لتحديث قواعد SpamAssassin باستخدام الأمر sa-update
.
الخلاصة
يعد إعداد SpamAssassin على Ubuntu وCentOS عملية بسيطة نسبيًا يمكنها تقليل كمية الرسائل غير المرغوب فيها التي تصل إلى صندوق الوارد بشكل كبير. باتباع الخطوات الموضحة في هذا الدليل، يمكنك تثبيت، تكوين، وتحسين SpamAssassin لخادم البريد الخاص بك، مما يضمن تصفية فعالة للرسائل غير المرغوب فيها مع تقليل الإيجابيات الكاذبة إلى أدنى حد. مع ميزات متقدمة مثل التصفية البايزية، ودعم SPF وDKIM، يعد SpamAssassin أداة قوية في مكافحة الرسائل غير المرغوب فيها.