يسمح لك خادم البريد بإرسال واستقبال البريد الإلكتروني. إنشاء خادم بريد خاص بك على أوبونتو يمنحك المزيد من التحكم في بريدك الإلكتروني ويزيد من الخصوصية والأمان. ومع ذلك، فإن إدارة خادم البريد الخاص بك تتطلب قدرًا أكبر قليلاً من المعرفة التقنية.
سيقوم هذا الدليل الشامل بإرشادك خطوة بخطوة لإنشاء خادم بريد كامل الوظائف على أوبونتو 20.04/22.04 من البداية إلى النهاية.
المتطلبات الأساسية
قبل البدء، ستحتاج إلى ما يلي:
- خادم أوبونتو 20.04/22.04 مع عنوان IP عام ثابت. يوصى باستخدام VPS.
- اسم نطاق مسجل. سيتم استخدام هذا لإرسال واستقبال البريد الإلكتروني من خادم البريد الخاص بك.
- حق الوصول الإداري إلى خادم أوبونتو الخاص بك.
- معرفة أساسية بسطر الأوامر لنظام لينكس.
سنستخدم Postfix لخادم SMTP ، وDovecot لـ IMAP/POP3 ، وOpenDMARC لمصادقة البريد الإلكتروني. كما سيتم تكوين قاعدة بيانات MySQL لتخزين معلومات مثل النطاقات الافتراضية والمستخدمين.
دعنا نبدأ بتحديث مستودع الحزم وتثبيت بعض الاعتمادات على خادم أوبونتو الخاص بنا:
$ sudo apt update
$ sudo apt install postfix postfix-mysql dovecot-imapd dovecot-pop3d mariadb-server openssl openssl-blacklist
بعد ذلك، سنمر خلال الخطوات لتكوين كل مكون.
تكوين Postfix
يتعامل Postfix مع خدمة SMTP لإرسال واستقبال البريد الإلكتروني. نحن بحاجة إلى تحديث بعض الإعدادات في ملف التكوين الرئيسي Postfix.
افتح الملف باستخدام:
$ sudo nano /etc/postfix/main.cf
ابحث عن المعلمة myhostname
واضبطها على اسم النطاق المسجل الخاص بك:
myhostname = mail.example.com
بعد ذلك، ابحث عن المعلمة mydomain
واضبطها على النطاق الخاص بك:
mydomain = example.com
اضبط المعلمة myorigin
على $mydomain
:
myorigin = $mydomain
تحت قسم INTERNET_PROTOCOLS
، تأكد من تمكين ipv4
:
inet_interfaces = all
inet_protocols = all
هذا يسمح لـ Postfix بالاستماع على جميع واجهات الشبكة IPv4 المتاحة.
الآن ابحث عن المعلمة mydestination
واضبطها على ما يلي:
mydestination = $myhostname, localhost.$mydomain, $mydomain
هذا يحدد النطاقات التي سيقوم Postfix بتسليم البريد إليها محليًا.
احفظ الملف وأغلقه بعد الانتهاء من التعديل.
بعد ذلك، نحن بحاجة إلى إعداد مصادقة SMTP. أنشئ ملف كلمة مرور لـ Postfix باستخدام الأمر postmap
:
$ sudo postmap /etc/postfix/sasl_passwd
أنشئ ملف المستخدم وكلمة المرور:
$ sudo nano /etc/postfix/sasl_passwd
أضف بريدك الإلكتروني وكلمة المرور على سطرين منفصلين:
mail.example.com [email protected]
mail.example.com password123
احفظ الملف وأغلقه.
الآن حرر تكوين SASL Postfix:
$ sudo nano /etc/postfix/sasl/smtpd.conf
تأكد من وجود ما يلي:
pwcheck_method: saslauthd
mech_list: plain login
هذا يضبط Postfix لاستخدام خدمة saslauthd
للمصادقة.
أعد تشغيل Postfix لتحميل التكوين الجديد:
$ sudo systemctl restart postfix
تم الآن تكوين Postfix وجاهز لإرسال واستقبال البريد الإلكتروني.
تكوين Dovecot
سيتم استخدام Dovecot للتعامل مع بروتوكولات IMAP و POP3 للوصول إلى البريد الإلكتروني من عملاء البريد الإلكتروني مثل Outlook أو Thunderbird.
افتح ملف تكوين Dovecot:
$ sudo nano /etc/dovecot/dovecot.conf
ابحث عن قسم البروتوكولات وقم بتمكين imap و pop3:
protocols = imap pop3
قم بتمكين مصادقة SMTP:
disable_plaintext_auth = yes
اضبط موقع البريد الإلكتروني:
mail_location = maildir:/var/mail/%d/%n
الآن افتح ملف تكوين مصادقة SMTP:
$ sudo nano /etc/dovecot/conf.d/10-auth.conf
ابحث عن المعلمة auth_mechanisms
واضبطها على:
auth_mechanisms = plain login
هذا يسمح بالمصادقة النص العادي وتسجيل الدخول مثل Postfix.
أخيرًا، افتح ملف أذونات:
$ sudo nano /etc/dovecot/conf.d/10-mail.conf
واضبط:
mail_access_groups = mail
هذا يسمح لأعضاء مجموعة mail
بالوصول إلى صناديق البريد.
احفظ وأعد تشغيل Dovecot:
$ sudo systemctl restart dovecot
Dovecot مستعد الآن للتعامل مع الوصول إلى البريد عبر IMAP و POP3.
إعداد قاعدة بيانات MySQL
بعد ذلك، سنقوم بإعداد قاعدة بيانات MySQL لتخزين النطاقات الافتراضية والمستخدمين لخادم بريدنا.
قم بتسجيل الدخول إلى shell MySQL:
$ sudo mysql
أنشئ قاعدة بيانات تسمى mailserver
:
CREATE DATABASE mailserver;
أنشئ مستخدمًا جديدًا ومنح أذونات على قاعدة البيانات:
GRANT SELECT,INSERT,UPDATE,DELETE ON mailserver.* TO 'mailuser'@'127.0.0.1' IDENTIFIED BY 'password123';
اخرج من MySQL:
quit
الآن يمكننا استيراد ملف SQL تكوين Postfix لإنشاء الجداول الضرورية:
$ sudo mysql mailserver < /etc/postfix/mysql/postfix_db.sql
قاعدة بيانات MySQL جاهزة الآن لتخزين معلومات النطاق والمستخدم لخادم بريدنا.
النطاقات الافتراضية والمستخدمون
مع تكوين قاعدة البيانات، يمكننا إنشاء نطاقات افتراضية ومستخدمين.
يسمح لك النطاق الافتراضي باستضافة نطاقات متعددة من خادم بريد واحد.
أولاً، افتح ملف تكوين النطاق الافتراضي Postfix:
$ sudo nano /etc/postfix/mysql-virtual_domains.cf
ألغي تعليق معلمة config_directory واضبطها إلى تكوين MySQL الخاص بنا:
config_directory = /etc/postfix/mysql
الآن دعنا ننشئ إدخال نطاق افتراضي في قاعدة البيانات. قم بتسجيل الدخول إلى MySQL:
$ sudo mysql mailserver -p
أدخل صفًا للنطاق:
INSERT INTO `virtual_domains` (`id` ,`name`) VALUES ('1', 'example.com');
اخرج من MySQL.
بعد ذلك، افتح ملف المستخدمين الافتراضيين:
$ sudo nano /etc/postfix/mysql-virtual_mailboxes.cf
اضبط config_directory
مثلما سبق:
config_directory = /etc/postfix/mysql
هذا يسمح لـ Postfix بالبحث عن المستخدمين في MySQL.
أدخل MySQL مرة أخرى:
$ sudo mysql mailserver -p
أنشئ مستخدمًا نموذجيًا:
INSERT INTO `virtual_users` (`id`, `domain_id`, `password` , `email`) VALUES ('1', '1', ENCRYPT('password123', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[email protected]');
هذا ينشئ مستخدمًا “[email protected]” مع كلمة مرور مشفرة.
الآن نحتاج إلى السماح للمستخدم بالوصول إلى صناديق البريد الإلكتروني. أدخل صفًا في virtual_aliases
:
INSERT INTO `virtual_aliases` (`id`, `domain_id`, `source`, `destination`) VALUES ('1', '1', '[email protected]', '[email protected]');
اخرج من MySQL وأعد تشغيل Postfix لتفعيل التغييرات:
$ sudo systemctl restart postfix
يمكننا إنشاء المزيد من النطاقات والمستخدمين بنفس الطريقة.
OpenDMARC
ينفذ OpenDMARC معيار مصادقة البريد الإلكتروني DMARC. هذا يساعد على تحسين الأمان ومنع الرسائل غير المرغوب فيها والتصيد الاحتيالي.
أولاً، قم بتثبيت OpenDMARC:
$ sudo apt install opendmarc opendmarc-tools
افتح الملف الرئيسي للتكوين:
$ sudo nano /etc/opendmarc.conf
اضبط نطاقك:
AuthservID mail.example.com
قم بتمكين التسجيل والإبلاغ:
Socket inet:8893@localhost
LogLevel debug
Syslog true
RejectFailures false
ReportFailures true
HistoryFile /var/lib/opendmarc/opendmarc.dat
StatsSocket /var/run/opendmarc/opendmarc.sock
MinServers 3
ServerInterval 60
هذا يسجل النشاط إلى syslog ويتيح تقارير البريد الإلكتروني اليومية.
أضف نطاقك كعنوان From:
/etc/opendmarc/ignore.hosts
mail.example.com
الآن قم بتمكين OpenDMARC:
$ sudo systemctl enable opendmarc
$ sudo systemctl start opendmarc
أخيرًا، أنشئ سجل TXT DMARC لنطاقك:
$ sudo opendmarc-gen-policy --domain example.com --policy none --report email:[email protected]
خذ هذا السجل TXT وأضفه إلى تكوين DNS الخاص بنطاقك.
OpenDMARC نشط الآن وسيقوم بالتحقق من صحة رسائل البريد الإلكتروني الواردة.
اختبار خادم البريد
يجب الآن أن يكون خادم بريد أوبونتو مكون بشكل صحيح. دعنا نقوم ببعض الاختبارات للتحقق من أنه يعمل.
أولاً، أرسل رسالة اختبار من الخادم نفسه باستخدام:
$ echo "This is a test" | mail -s Testing [email protected]
تحقق مما إذا تم تسليم البريد:
$ sudo ls -l /var/mail
يجب أن ترى ملفًا سمي باسم المستخدم الذي أرسلت إليه إذا كان التسليم ناجحًا.
بعد ذلك، قم بتكوين عميل بريد إلكتروني مثل Thunderbird للاتصال بخادم البريد. أضف حسابًا جديدًا باستخدام بيانات اعتماد IMAP و SMTP التي قمت بتكوينها.
أرسل رسالة اختبار إلى عنوان البريد الإلكتروني على نطاقك. يجب تسليمه إلى صندوق الوارد للمستخدم على خادم أوبونتو.
يمكنك أيضًا استخدام Telnet للاتصال يدويًا بـ SMTP Postfix وإرسال رسالة:
$ telnet mail.example.com 25
اكتب EHLO
، ثم MAIL FROM:
، RCPT TO:
وأخيرًا بيانات الرسالة الاختبارية. هذا يتحقق من أن إرسال وتسليم SMTP يعملان بشكل صحيح.
تحقق من /var/log/mail.log و /var/log/syslog للعثور على أي أخطاء مع Postfix أو Dovecot أو MySQL أو OpenDMARC أثناء الاختبار. قم بتصحيح وحل أي مشاكل تظهر.
عندما يعمل كل شيء كما هو متوقع ، يكون خادم بريد أوبونتو جاهزًا للاستخدام!
تأمين خادم البريد
الآن بعد أن لدينا خادم بريد يعمل، دعنا نتحدث عن بعض أفضل الممارسات لتأمينه:
- استخدم HTTPS/SSL للخدمات متى أمكن ذلك لتشفير الحركة. احصل على شهادات SSL لنطاقك.
- قم بتقييد الوصول إلى خدمات البريد حسب عنوان IP باستخدام
mynetworks
Postfix أو لوائح السماح TCP Wrappers. - قم بتمكين قواعد الجدار الناري التي تسمح بالحركة فقط على المنفذ 25 (SMTP) و 143 (IMAP) و 993 (IMAP + TLS) و 110 (POP3).
- قم بتعطيل مصادقة كلمة المرور في SSH واستخدم تسجيل الدخول القائم على المفتاح فقط.
- تأكد من أن حزم النظام لديك محدثة دائمًا عن طريق تمكين التحديثات الأمنية التلقائية.
- راقب سجلات الخادم بانتظام بحثًا عن علامات الهجمات أو محاولات الوصول غير المصرح بها.
- قم بإعداد logrotate لأرشفة وضغط السجلات.
- قم بتعطيل أي خدمات غير ضرورية لا يتم استخدامها.
- أنشئ مستخدمي نظام ذوي امتيازات منخفضة لخدمات مثل Dovecot و Postfix.
- استخدم كلمات مرور قوية وقم بتمكين المصادقة الثنائية حيثما أمكن ذلك.
- قم بالنسخ الاحتياطي لبيانات البريد الإلكتروني وقواعد بيانات MySQL بانتظام.
اتباع أفضل ممارسات الأمان سيساعد في حماية خادم البريد الإلكتروني ومعلومات المستخدمين الخاصة. الأمور الرئيسية هي تقييد الوصول ، والبقاء على علم ، ومراقبة النشاط ، والنسخ الاحتياطي للبيانات ، واستخدام التشفير.
خلاصة
هذا يختتم دليل خطوة بخطوة حول نشر خادم بريد على أوبونتو 20.04/22.04. قمنا بتثبيت وتكوين Postfix وDovecot وMySQL وOpenDMARC. كما غطينا تدابير الأمان المهمة لحماية خادم البريد.
مع خادم بريد أوبونتو الخاص بك، يمكنك التحكم الكامل في بريدك الإلكتروني مع تحسين الخصوصية والأمان وإمكانية التسليم. يمكن للمستخدمين الوصول إلى البريد عبر IMAP و SMTP باستخدام أي عميل بريد إلكتروني قياسي.
يتطلب تشغيل خادم بريد المزيد من الصيانة اليدوية مقارنةً باستخدام مزود بريد إلكتروني مستضاف. ولكن غالبًا ما تفوق فوائد امتلاك خادم خاص الجهد الإضافي.
أخبرني إذا كان لديك أي أسئلة أخرى! أنا سعيد لتقديم المزيد من التفاصيل حول أي جزء من عملية إعداد خادم البريد.