كيفية إعداد سبامأساسين على أوبونتو وسينت أو إس

إعداد SpamAssassin على Ubuntu وCentOS

البريد العشوائي (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 أداة قوية في مكافحة الرسائل غير المرغوب فيها.

LEAVE A COMMENT