Postfix + Dovecot + Squirrelmail والمستخدمون المحليون - شبكات SMB

الفهرس العام للسلسلة: شبكات الحاسوب للشركات الصغيرة والمتوسطة: مقدمة

هذه المقالة هي استمرار وأخير مسلسل قصير:

مرحبا الاصدقاء والاصدقاء!

الكثير المتحمسون يريدون أن يكون لديهم خادم بريد خاص بهم. لا يريدون استخدام الخوادم حيث تكون "الخصوصية" بين علامات الاستفهام. الشخص المسؤول عن تنفيذ الخدمة على خادمك الصغير ليس متخصصًا في هذا الموضوع وسيحاول في البداية تثبيت جوهر خادم بريد مستقبلي وكامل. هو أن "المعادلات" لإنشاء Full Mailserver يصعب فهمها وتطبيقها. 😉

مؤشر

شروح الهامش

  • من الضروري أن تكون واضحًا بشأن الوظائف التي يؤديها كل برنامج مشترك في خادم البريد. كدليل أولي ، نقدم سلسلة كاملة من الروابط المفيدة مع الغرض المعلن من زيارتهم.
  • يعد تنفيذ خدمة بريد كاملة يدويًا ومن البداية عملية مرهقة ، إلا إذا كنت أحد "المختارين" الذين يؤدون هذا النوع من المهام يوميًا. يتم تكوين خادم البريد - بطريقة عامة - بواسطة برامج مختلفة تعالج بشكل منفصل SMTP, POP / IMAP، التخزين المحلي للرسائل ، المهام المتعلقة بمعالجة SPAM، مضاد فيروسات ، إلخ. يجب أن تتواصل جميع هذه البرامج مع بعضها البعض بشكل صحيح.
  • لا يوجد حجم واحد يناسب الجميع أو "أفضل الممارسات" حول كيفية إدارة المستخدمين ؛ مكان وكيفية تخزين الرسائل ، أو كيفية جعل جميع المكونات تعمل كوحدة واحدة.
  • يميل تجميع خادم البريد وضبطه إلى أن يكون بغيضًا في أمور مثل أذونات الملفات ومالكيها ، واختيار المستخدم الذي سيكون مسؤولاً عن عملية معينة ، والأخطاء الصغيرة التي تحدث في بعض ملفات التكوين الباطنية.
  • ما لم تكن تعرف جيدًا ما تفعله ، فستكون النتيجة النهائية خادم بريد غير آمن أو غير وظيفي إلى حد ما. أنه في نهاية التنفيذ لا يعمل ، فمن المحتمل أن يكون أقل الشرور.
  • يمكننا أن نجد على الإنترنت عددًا جيدًا من الوصفات حول كيفية إنشاء خادم بريد. واحدة من الأكثر اكتمالا -في رأيي الشخصي جدا- هو الذي قدمه المؤلف ايفار ابراهامسن في نسخته الثالثة عشرة في كانون الثاني 2017 «كيفية إعداد خادم بريد على نظام جنو / لينكس".
  • نوصي أيضًا بقراءة المقال «خادم بريد على Ubuntu 14.04: Postfix و Dovecot و MySQL«, أو «خادم بريد على Ubuntu 16.04: Postfix و Dovecot و MySQL".
  • صحيح. أفضل الوثائق في هذا الصدد ستكون باللغة الإنجليزية.
    • على الرغم من أننا لا نجعل خادم بريد موجهًا بأمانة من قبل كيف… المذكورة في الفقرة السابقة ، فإن مجرد اتباعها خطوة بخطوة سيعطينا فكرة جيدة جدًا عما سنواجهه.
  • إذا كنت ترغب في الحصول على خادم بريد كامل في بضع خطوات ، يمكنك تنزيل الصورة iRedOS-0.6.0-CentOS-5.5-i386.iso، أو ابحث عن أكثر حداثة ، سواء كان iRedOS أو بريد إلكتروني. إنها الطريقة التي أوصي بها شخصيًا.

سنقوم بتثبيت وتهيئة:

يبقى أن يتم:

ستبقى الخدمات التالية على الأقل قيد التنفيذ:

  • Postgrey: سياسات خادم Postfix للقوائم الرمادية ورفض البريد غير الهام.
  • أمافيسد الجديد: البرنامج النصي الذي ينشئ واجهة بين MTA والماسحات الضوئية للفيروسات وعوامل تصفية المحتوى.
  • كلاماف أنتي فيروس: مجموعة مكافحة الفيروسات
  • سباماساسين: استخراج البريد غير الهام
  • موسى الحلاقة (بايزور): التقاط الرسائل الاقتحامية من خلال شبكة موزعة وتعاونية. تحتفظ شبكة Vipul Razor بكتالوج محدث لنشر البريد غير الهام أو الرسائل الاقتحامية (SPAM).
  • سجل DNS "البريد المعرف بمفاتيح المجال" أو DKIM.

الحزم postgrey ، amavisd-new ، clamav ، spamassassin ، الحلاقة y ثعبان تم العثور عليها في مستودعات البرنامج. سنجد البرنامج أيضًا أوبندكيم.

  • يعتبر الإعلان الصحيح لسجلات DNS "SPF" و "DKIM" أمرًا ضروريًا إذا كنا لا نريد أن يتم الإعلان عن أن خادم البريد الخاص بنا غير مرغوب فيه أو منتج الرسائل الاقتحامية أو البريد العشوائي ، عن طريق خدمات البريد الأخرى مثل جوجل, Yahoo, هوتميل، إلخ.

الشيكات الأولية

تذكر أن هذه المقالة هي استمرار لمقالات أخرى تبدأ في مصادقة Squid + PAM على CentOS 7.

واجهة Ens32 LAN متصلة بالشبكة الداخلية

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.fan
DNS1=127.0.0.1
المنطقة = عام

[root @ linuxbox ~] # ifdown ens32 && ifup ens32

واجهة Ens34 WAN متصلة بالإنترنت

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE = ens34 ONBOOT = نعم BOOTPROTO = ثابت HWADDR = 00: 0c: 29: da: a3: e7 NM_CONTROLLED = لا IPADDR = 172.16.10.10 NETMASK = 255.255.255.0 # موجه ADSL متصل # هذه الواجهة مع # العنوان التالي GATEWAY IP = 172.16.10.1 المجال = desdelinux.fan DNS1 = 127.0.0.1
المنطقة = خارجي

قرار DNS من الشبكة المحلية

[root @ linuxbox ~] # cat /etc/resolv.conf بحث من خادم أسماء linux.fan 127.0.0.1 172.16.10.30 [root @ linuxbox ~] # بريد مضيف
mail.desdelinux.fan هو اسم مستعار لـ linuxbox.desdelinux.fan. يحتوي linuxbox.desdelinux.fan على العنوان 192.168.10.5 linuxbox.desdelinux.fan يتم التعامل معه عن طريق بريد واحد. desdelinux.fan.

[root @ linuxbox ~] # mail.fromlinux.fan المضيف
mail.desdelinux.fan هو اسم مستعار لـ linuxbox.desdelinux.fan. يحتوي linuxbox.desdelinux.fan على العنوان 192.168.10.5 linuxbox.desdelinux.fan يتم التعامل معه عن طريق بريد واحد. desdelinux.fan.

تحليل DNS من الإنترنت

buzz @ sysadmin: ~ $ host mail.fromlinux.fan 172.16.10.30
باستخدام خادم المجال: الاسم: 172.16.10.30 العنوان: 172.16.10.30 # 53 الأسماء المستعارة: mail.desdelinux.fan هو اسم مستعار لـ desdelinux.fan.
من linux.fan لديه العنوان 172.16.10.10
تتم معالجة البريد desdelinux.fan عن طريق 10 mail.desdelinux.fan.

حل المشكلات محليًا لاسم المضيف "desdelinux.fan"

إذا كانت لديك مشاكل في حل اسم المضيف «fromlinux.fan" من LAN، حاول التعليق خارج سطر الملف /etc/dnsmasq.conf حيث أعلن محلي = / من linux.fan /. بعد ذلك ، أعد تشغيل Dnsmasq.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # علق على السطر أدناه:
# local = / desdelinux.fan /

[root @ linuxbox ~] # إعادة تشغيل خدمة dnsmasq
إعادة التوجيه إلى / bin / systemctl قم بإعادة تشغيل dnsmasq.service

[root @ linuxbox ~] # حالة خدمة dnsmasq

[root @ linuxbox ~] # مضيف من linux.fan
العنوان desdelinux.fan 172.16.10.10 تتم معالجة بريد desdelinux.fan بواسطة 10 mail.desdelinux.fan.

Postfix و Dovecot

يمكن العثور على الوثائق الشاملة للغاية الخاصة بـ Postfix و Dovecot على:

[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LICENSE README-Postfix-SASL-RedHat.txt التوافق main.cf.default TLS_ACKNOWLEDGEMENTS أمثلة README_FILES TLS_LICENSE

[root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/
المؤلفون COPYING.MIT dovecot-openssl.cnf NEWS wiki نسخ سجل التغيير example-config README COPYING.LGPL documents.txt mkcert.sh solr-schema.xml

في CentOS 7 ، يتم تثبيت Postfix MTA افتراضيًا عندما نختار خيار خادم البنية التحتية. يجب أن نتحقق من أن سياق SELinux يسمح بالكتابة إلى Potfix في قائمة انتظار الرسائل المحلية:

[root @ linuxbox ~] # getsebool -a | grep postfix
postfix_local_write_mail_spool -> on

التعديلات في جدار الحماية د

باستخدام الواجهة الرسومية لتكوين جدار الحماية ، يجب علينا التأكد من تمكين الخدمات والمنافذ التالية لكل منطقة:

# ------------------------------------------------- -----
# إصلاحات في جدار الحماية د
# ------------------------------------------------- -----
# جدار الحماية
# المنطقة العامة: خدمات http ، https ، imap ، pop3 ، smtp
# المنطقة العامة: المنافذ 80 ، 443 ، 143 ، 110 ، 25

# المنطقة الخارجية: خدمات http ، https ، imap ، pop3s ، smtp
# المنطقة الخارجية: المنافذ 80 ، 443 ، 143 ، 995 ، 25

نقوم بتثبيت Dovecot والبرامج الضرورية

[root @ linuxbox ~] # yum install dovecot mod_ssl procmail telnet

الحد الأدنى من تكوين الحمامة

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
البروتوكولات = imap pop3 lmtp
استمع = * ، ::
login_greeting = Dovecot جاهز!

نقوم صراحة بتعطيل مصادقة Dovecot للنص العادي:

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf 
Displaintext_auth = نعم

نعلن أن المجموعة تتمتع بالامتيازات اللازمة للتفاعل مع Dovecot ، وموقع الرسائل:

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox: ~ / mail: INBOX = / var / mail /٪ u
mail_privileged_group = بريد
mail_access_groups = بريد

شهادات ل Dovecot

ينشئ Dovecot تلقائيًا شهادات الاختبار الخاصة بك بناءً على البيانات الموجودة في الملف /etc/pki/dovecot/dovecot-openssl.cnf. للحصول على شهادات جديدة يتم إنشاؤها وفقًا لمتطلباتنا ، يجب علينا تنفيذ الخطوات التالية:

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[req] default_bits = 1024 encrypt_key = yes premium_name = req_dn x509_extensions = cert_type موجه = no [req_dn] # country (2 letter code) C = CU # اسم الولاية أو المقاطعة (الاسم الكامل) ST = كوبا # اسم المنطقة (على سبيل المثال ، المدينة ) L = Habana # Organization (مثل الشركة) O = FromLinux.Fan # اسم الوحدة التنظيمية (على سبيل المثال ، القسم) OU = المتحمسون # الاسم الشائع (* .example.com ممكن أيضًا) CN = *. Desdelinux.fan # E -mail contact emailAddress=buzz@desdelinux.fan [cert_type] nsCertType = server

نتخلص من شهادات الاختبار

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm: حذف الملف العادي "certs / dovecot.pem"؟ (ص / ن) ذ
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: حذف الملف العادي "private / dovecot.pem"؟ (ص / ن) ذ

نقوم بنسخ وتنفيذ البرنامج النصي mkcert.sh من دليل التوثيق

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
إنشاء مفتاح خاص RSA 1024 بت ...... ++++++ ................ ++++++ كتابة مفتاح خاص جديد لـ '/ etc / pki / dovecot / private / dovecot.pem '----- subject = /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN=*.desdelinux.fan/emailAddress= buzz@desdelinux.fan بصمة SHA1 = 5F: 4A: 0C: 44: EC: EC: EF: 95: 73: 3E: 1E: 37: D5: 05: F8: 23: 7E: E1: A4: 5A

[root @ linuxbox dovecot] # ls -l certs /
مجموع 4 -rw -------. 1 جذر 1029 مايو 22 16:08 dovecot.pem
[root @ linuxbox dovecot] # ls -l خاص /
مجموع 4 -rw -------. 1 جذر 916 مايو 22 16:08 dovecot.pem

[root @ linuxbox dovecot] # إعادة تشغيل خدمة dovecot
[root @ linuxbox dovecot] # حالة حمامة الخدمة

شهادات Postfix

[root @ linuxbox ~] # cd / etc / pki / tls / [root @ linuxbox tls] # openssl req -sha256 -x509 -nodes -newkey rsa: 4096 -days 1825 \ -out certs / desdelinux.fan.crt -keyout خاص / desdelinux.fan.key

إنشاء مفتاح خاص RSA 4096 بت ......... ++ .. ++ كتابة مفتاح خاص جديد إلى "private / domain.tld.key" ----- أنت على وشك أن يُطلب منك إدخال المعلومات التي سيتم دمجها في طلب الشهادة الخاص بك. ما أنت على وشك الدخول إليه هو ما يسمى بالاسم المميز أو الاسم المميز. يوجد عدد غير قليل من الحقول ولكن يمكنك ترك بعضها فارغًا بالنسبة لبعض الحقول ، ستكون هناك قيمة افتراضية ، إذا أدخلت "." ، فسيتم ترك الحقل فارغًا. ----- اسم البلد (رمز مكون من حرفين) [XX]: اسم الدولة أو المقاطعة CU (الاسم الكامل) []: اسم منطقة كوبا (على سبيل المثال ، المدينة) [المدينة الافتراضية]: اسم منظمة هابانا (على سبيل المثال ، الشركة) [ Default Company Ltd]: desdeLinux.Fan اسم الوحدة التنظيمية (على سبيل المثال ، القسم) []: Entusiasts الاسم الشائع (على سبيل المثال ، اسمك أو اسم مضيف الخادم) []: عنوان البريد الإلكتروني desdelinux.fan []: buzz@desdelinux.fan

الحد الأدنى من تكوين Postfix

نضيف إلى نهاية الملف / الخ / الأسماء المستعارة ما يلي:

الجذر: الطنين

لكي تدخل التغييرات حيز التنفيذ ، نقوم بتنفيذ الأمر التالي:

[root @ linuxbox ~] # newaliases

يمكن إجراء تكوين Postifx عن طريق تحرير الملف مباشرةً /etc/postfix/main.cf أو بأمر postconf -e مع الحرص على أن تنعكس جميع المعلمات التي نريد تعديلها أو إضافتها في سطر واحد من وحدة التحكم:

  • يجب على كل واحد أن يعلن عن الخيارات التي يفهمها ويحتاجها!.
[root @ linuxbox ~] # postconf -e 'myhostname = desdelinux.fan'
[root @ linuxbox ~] # postconf -e 'mydomain = desdelinux.fan'
[root @ linuxbox ~] # postconf -e 'myorigin = $ mydomain'
[root @ linuxbox ~] # postconf -e 'inet_interfaces = all'
[root @ linuxbox ~] # postconf -e 'mydestination = $ myhostname ، localhost. $ mydomain ، localhost ، $ mydomain ، mail. $ mydomain ، www. $ mydomain ، ftp. $ mydomain'

[root @ linuxbox ~] # postconf -e 'mynetworks = 192.168.10.0/24 ، 172.16.10.0/24 ، 127.0.0.0/8'
[root @ linuxbox ~] # postconf -e 'mailbox_command = / usr / bin / procmail -a "$ EXTENSION" "
[root @ linuxbox ~] # postconf -e 'smtpd_banner = $ myhostname ESMTP $ mail_name ($ mail_version)'

نضيف إلى نهاية الملف /etc/postfix/main.cf الخيارات الواردة أدناه. لمعرفة معنى كل منهم ، نوصي بقراءة الوثائق المصاحبة.

بيف = لا
append_dot_mydomain = لا
time_warning_time = 4 ساعات
readme_directory = لا
smtpd_tls_cert_file = / etc / pki / certs / desdelinux.fan.crt
smtpd_tls_key_file = / etc / pki / private / desdelinux.fan.key
smtpd_use_tls = نعم
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_relay_restrictions = allow_mynetworks allow_sasl_authenticated defer_unauth_destination

# الحد الأقصى لحجم صندوق البريد 1024 ميغا بايت = 1 غرام و غرام
mailbox_size_limit = 1073741824

المتلقي_المحدِّد = +
maximal_queue_lifetime = 7d
header_checks = regexp: / etc / postfix / header_checks
body_checks = regexp: / etc / postfix / body_checks

# الحسابات التي ترسل نسخة من البريد الوارد إلى حساب آخر
المستلمين_bcc_maps = التجزئة: / etc / postfix / accounts_ forwarding_copy

تعتبر الأسطر التالية مهمة لتحديد من يمكنه إرسال البريد والترحيل إلى خوادم أخرى ، حتى لا نقوم عن طريق الخطأ بتهيئة "ترحيل مفتوح" يسمح للمستخدمين غير المصادق عليهم بإرسال البريد. يجب علينا الرجوع إلى صفحات تعليمات Postfix لفهم معنى كل خيار.

  • يجب على كل واحد أن يعلن عن الخيارات التي يفهمها ويحتاجها!.
smtpd_helo_restrictions = allow_mynetworks ،
 warn_if_reject رفض_non_fqdn_hostname ،
 رفض_invalid_hostname ،
 تصريح

smtpd_sender_restrictions = allow_sasl_authenticated،
 allow_mynetworks،
 warn_if_reject رفض_non_fqdn_sender ،
 رفض_المحتوى_المسلسل ،
 رفض ،
 تصريح

smtpd_client_restrictions = رفض_rbl_client sbl.spamhaus.org ،
 رفض_rbl_client blackholes.easynet.nl

# ملاحظة: الخيار "check_policy_service inet: 127.0.0.1: 10023"
# يُمكّن برنامج Postgrey ، ولا ينبغي لنا تضمينه
# وإلا فإننا سنستخدم Postgrey

smtpd_recipient_restrictions = رفض_unauth_pipelining ،
 allow_mynetworks،
 تصريح_صدق_صديق ،
 رفض_non_fqdn_recipient ،
 رفض_غير معروف_نطاق_المستقبل ،
 رفض الوجهة ،
 check_policy_service آينت: 127.0.0.1: 10023 ،
 تصريح

smtpd_data_restrictions = رفض_unauth_pipelining

smtpd_relay_restrictions = رفض_unauth_pipelining ،
 allow_mynetworks،
 تصريح_صدق_صديق ،
 رفض_non_fqdn_recipient ،
 رفض_غير معروف_نطاق_المستقبل ،
 رفض الوجهة ،
 check_policy_service آينت: 127.0.0.1: 10023 ،
 تصريح
 
smtpd_helo_required = نعم
smtpd_delay_reject = نعم
disable_vrfy_command = نعم

نقوم بإنشاء الملفات / etc / postfix / body_checks y / etc / postfix / accounts_forwarding_copyونقوم بتعديل الملف / etc / postfix / header_checks.

  • يجب على كل واحد أن يعلن عن الخيارات التي يفهمها ويحتاجها!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# إذا تم تعديل هذا الملف ، فليس من الضروري تشغيل خريطة postmap # لاختبار القواعد ، قم بتشغيل كجذر: # postmap -q 'super new v1agra' regexp: / etc / postfix / body_checks
# يجب أن تعود: # رفض القاعدة رقم 2 نص رسالة مكافحة البريد العشوائي
/ viagra / REJECT Rule # 1 مكافحة البريد العشوائي لنص الرسالة
/ super new v [i1] agra / REJECT Rule # 2 Anti Spam message body

[root @ linuxbox ~] # nano / etc / postfix / accounts_ forwarding_copy
# بعد التعديل عليك تنفيذ: # postmap / etc / postfix / accounts_ forwarding_copy
# ويتم إنشاء الملف أو قياسه: # /etc/postfix/cuentas_reenviando_copia.db
# ------------------------------------------ # حساب واحد لإعادة توجيه واحد نسخة BCC # BCC = نسخة كربونية سوداء # مثال: # webadmin@desdelinux.fan buzz@desdelinux.fan

[root @ linuxbox ~] # postmap / etc / postfix / accounts_ forwarding_copy

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# إضافة في نهاية الملف # لا تتطلب خريطة بريدية لأنها تعبيرات عادية
/ ^ الموضوع: =؟ Big5؟ / رفض الترميز الصيني الذي لم يقبله هذا الخادم
/ ^ الموضوع: =؟ EUC-KR؟ / رفض الترميز الكوري الذي لا يسمح به هذا الخادم
/ ^ الموضوع: ADV: / رفض الإعلانات التي لم يقبلها هذا الخادم
/ ^ From:.*\@.*\.cn/ رفض عذراً ، البريد الصيني غير مسموح به هنا
/ ^ From:.*\@.*\.kr/ REJECT عذراً ، البريد الكوري غير مسموح به هنا
/ ^ From:.*\@.*\.tr/ REJECT عذراً ، البريد التركي غير مسموح به هنا
/ ^ From:.*\@.*\.ro/ رفض عذراً ، البريد الروماني غير مسموح به هنا
/ ^ (تم الاستلام | رسالة- ID |X- (البريد | المرسل)) :.*\b(AutoMail|E-Broadcaster|Emailer Platinum | Thunder Server | eMarksman | مستخرج | دمج إلكتروني | من التخفي [^.] | Global Messenger | GroupMaster | Mailcast | MailKing | Match10 | MassE-Mail | massmail \ .pl | News Breaker | Powermailer | Quick Shot | Ready Aim Fire | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT غير مسموح بإرسال رسائل بريدية جماعية.
/ ^ من: "مرسل البريد العشوائي / رفض
/ ^ من: "البريد العشوائي / رفض
/ ^ الموضوع:. * viagra / تجاهل
# امتدادات خطيرة
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / رفض رفض نحن لا نقبل المرفقات بهذه الامتدادات

نتحقق من بناء الجملة ، ونعيد تشغيل Apache و Postifx ، ونعمل على تمكين Dovecot وبدء تشغيله

[root @ linuxbox ~] # فحص postfix
[root @ linuxbox ~] #

[root @ linuxbox ~] # إعادة تشغيل systemctl httpd
[root @ linuxbox ~] # systemctl status httpd

[root @ linuxbox ~] # systemctl إعادة تشغيل postfix
[root @ linuxbox ~] # systemctl status postfix

[root @ linuxbox ~] # systemctl status dovecot
● dovecot.service - خادم البريد الإلكتروني Dovecot IMAP / POP3 محمل: تم تحميله (/usr/lib/systemd/system/dovecot.service ؛ معطل ؛ الإعداد المسبق للمورد: معطل) نشط: غير نشط (ميت)

[root @ linuxbox ~] # systemctl تمكين dovecot
[root @ linuxbox ~] # systemctl بدء dovecot
[root @ linuxbox ~] # إعادة تشغيل systemctl dovecot
[root @ linuxbox ~] # systemctl status dovecot

فحوصات على مستوى وحدة التحكم

  • من المهم جدًا قبل الاستمرار في تثبيت البرامج الأخرى وتكوينها ، إجراء الحد الأدنى من عمليات الفحص اللازمة لخدمات SMTP و POP.

محلي من الخادم نفسه

نرسل بريدًا إلكترونيًا إلى المستخدم المحلي Legolas.

[root @ linuxbox ~] # echo "مرحبًا. هذه رسالة اختبارية" | رسائل "اختبار" legolas

نتحقق من صندوق بريد ليغولاس.

[root @ linuxbox ~] # openssl s_client -crlf -connect 127.0.0.1:110 -starttls pop3

بعد الرسالة Dovecot جاهز! ننتقل:

---
+ موافق Dovecot جاهز!
USER legolas + OK PASS legolas + OK تسجيل الدخول. STAT + OK 1 LIST + OK 559 رسائل: 1. RETR 1 + OK 559 ثماني بتات مسار الرجوع: X-Original-To: legolas Delivered-To: legolas@desdelinux.fan مستلم: بواسطة desdelinux.fan (Postfix ، من معرف المستخدم 1) id 559EA0C7FC22؛ الإثنين ، 11 مايو 57 22:2017:10 -47 (بتوقيت شرق الولايات المتحدة) التاريخ: الإثنين ، 10 مايو 0400 22:2017:10 -47 إلى: legolas@desdelinux.fan الموضوع: اختبار وكيل المستخدم: Heirloom mailx 10 0400/12.5 / 7 إصدار MIME: 5 نوع المحتوى: نص / عادي ؛ charset = us-ascii Content-Transfer-Encoding: 10bit Message-Id: <1.0EA7C20170522144710.7FC22@desdelinux.fan> من: root@desdelinux.fan (root) مرحبًا. هذه رسالة اختبار . تم الاستقالة
[root @ linuxbox ~] #

أجهزة التحكم عن بعد من جهاز كمبيوتر على شبكة LAN

دعنا نرسل رسالة أخرى إلى Legolas من كمبيوتر آخر على الشبكة المحلية. لاحظ أن أمان TLS ليس ضروريًا تمامًا داخل شبكة SME.

buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \
-t legolas@desdelinux.fan \
-u "مرحبا" \
-m "تحياتي ليجولاس من صديقك Buzz" \
-s mail.desdelinux.fan -o tls = لا
22 مايو 10:53:08 أرسل مسؤول النظام البريد الإلكتروني [5866]: تم إرسال البريد الإلكتروني بنجاح!

إذا حاولنا الاتصال من خلال التلنت من مضيف على الشبكة المحلية - أو من الإنترنت بالطبع - إلى Dovecot ، سيحدث ما يلي لأننا قمنا بتعطيل مصادقة النص العادي:

buzz @ sysadmin: ~ $ telnet mail.fromlinux.fan 110 تجربة 192.168.10.5 ...
متصل بـ linuxbox.fromlinux.fan. حرف الهروب هو "^]". + موافق Dovecot جاهز! المستخدم legolas
-ERR [AUTH] مصادقة النص العادي غير مسموح بها على الاتصالات غير الآمنة (SSL / TLS).
إنهاء + موافق تسجيل الخروج تم إغلاق الاتصال من قبل مضيف خارجي.
buzz @ sysadmin: ~ $

يجب أن نفعل ذلك من خلال بينسل. سيكون الإخراج الكامل للأمر:

buzz @ sysadmin: ~ $ openssl s_client -crlf -connect mail.desdelinux.fan:110 -starttls pop3
المربوطة (00000003)
العمق = 0 C = CU ، ST = كوبا ، L = هافانا ، O = FromLinux.Fan ، OU = المتحمسون ، CN = * .fromlinux.fan ، emailAddress = buzz@fromlinux.fan
التحقق من الخطأ: العدد = 18: التحقق من إرجاع الشهادة الموقعة ذاتيًا: 1
العمق = 0 C = CU، ST = Cuba، L = Havana، O = FromLinux.Fan، OU = المتحمسون، CN = * .fromlinux.fan، emailAddress = buzz@fromlinux.fan تحقق من الإرجاع: 1
- سلسلة الشهادات 0 s: /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN = *. Desdelinux.fan/emailAddress=buzz@desdelinux.fan i: / C =CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan - شهادة الخادم ----- BEGIN CERTIFICATE-- --- MIICyzCCAjSgAwIBAgIJAKUHI / 2ZD + MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51 eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ BNK m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR + + + nBmqxzJbpc OZ80lujS2hP XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW + lnPBqF2b / Bt2eYyR7g JhtlP6gRG V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW + QkLskum7ESryHZonKOCelfn2vnRl 8oAgHg7Hbtg / e6sR / W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql LT + MV5 / DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6 / VQBI8 = ----- ----- END CERTIFICATE موضوع = / C = CU / ST = كوبا / L = هافانا / O = DesdeLinux.Fan /OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan المُصدر = / C = CU / ST = Cuba / L = Habana / O = DesdeLinux.Fan / OU = Entusiasts / CN = *. Desdelinux .fan / emailAddress = buzz @ desdelinux.fan --- لم يتم إرسال أسماء CA لشهادة العميل مفتاح Server Temp: ECDH ، secp384r1 ، 384 بت --- لقد قرأت مصافحة SSL 1342 بايت وكتبت 411 بايت --- جديد ، TLSv1 / SSLv3 ، التشفير هو ECDHE-RSA-AES256-GCM-SHA384 ، المفتاح العام للخادم هو 1024 بت يدعم إعادة التفاوض الآمن الضغط: NONE Expansion: NONE SSL- Session: Protocol: TLSv1.2 Cipher: ECDHE-RSA-AES256-GCM-SHA384 Session- المعرف: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB6C5295BF4E2D73A Session-ID-ctx: Master-Key : 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 مفتاح-الارجنتين: لا Krb5 الرئيسي: لا يوجد 300 هوية PSK: لا يوجد تلميح هوية PSK: HS 0000F4F3A8FD29CD7F4BC63BFF72E7F6F4 مفتاح-الارجنتين: لا Krb7 الرئيسية: لا شيء 1 PSK الهوية: تلميح هوية لا يوجد PSK: الدورة HS XNUMXTLS XNUMX ثانية XNUMX و لا يوجد XNUMX جلسة XNUMX و تذكرة Nonec XNUMX ثوان XNUMX FXNUMXFXNUMX تذكرة ec XNUMXe XNUMXc N :.) zOcr ... O .. ~.
 0010 - 2c d4 be a8 be 92 2e ae-98 7e 87 6d 45 c5 17 a8، ........ ~ .mE ...
 0020 - db 3a 86 80 df 8b dc 8d-f8 1f 68 6e db a7 e3 86 .: ........ hn ....
 0030-08 35 e5 eb 98 b8 a4 98-68 b1 ea f7 72 f7 c1 79 ...... h ... r..y 5-0040 89a 4 e28 3 a85 4b da-e8 9a 7 c29 7 bf 77 22d .J (...... z) .w. ".
 0050 - bd 5c f6 61 8c a1 14 bd-cb 31 27 66 7a dc 51 28. \. A ..... 1'fz.Q (0060 - b7 de 35 bd 2b 0f d4 ec-d3 e0 14 c8 65 03 b1 35 ..5. + ....... e..5 0070 - 38 34 f8 de 48 da ae 31-90 bd f6 b0 e6 9c cf 19 84..H..1 ..... ...
 0080 - f5 42 56 13 88 b0 8c db-aa ee 5a d7 1b 2c dd 71 .BV ....... Z ..،. Q 0090-7a f1 03 70 90 94 c9 0a-62 e5 0f 9c bf تيار مستمر 3c a0 z..p .... b ..... <.

+ موافق Dovecot جاهز!
USER legolas
+ حسنا
تمرير ليغولاس
+ موافق تسجيل الدخول.
قائمة
+ موافق 1 رسائل: 1 1021.
ريتر 1
+ موافق 1021 ثماني بتات مسار العودة: X-Original-To: legolas@desdelinux.fan Delivered-To: legolas@desdelinux.fan مستلم: من sysadmin.desdelinux.fan (بوابة [172.16.10.1]) بواسطة desdelinux.fan (Postfix) مع معرف ESMTP 51886C11E8C0 لـ ؛ الاثنين ، 22 مايو 2017 15:09:11 -0400 (EDT) معرف الرسالة: <919362.931369932-sendEmail@sysadmin> من: "buzz@deslinux.fan" إلى: "legolas@desdelinux.fan" الموضوع: مرحبًا التاريخ: الاثنين ، 22 مايو 2017 19:09:11 +0000 X-Mailer: sendEmail-1.56 MIME-الإصدار: 1.0 نوع المحتوى: متعدد الأجزاء / متعلق ؛ الحدود = "---- محدد MIME لـ sendEmail-365707.724894495" هذه رسالة متعددة الأجزاء بتنسيق MIME. لعرض هذه الرسالة بشكل صحيح ، تحتاج إلى برنامج بريد إلكتروني متوافق مع الإصدار 1.0 من MIME. ------ محدد MIME لـ sendEmail-365707.724894495 نوع المحتوى: نص / عادي ؛ charset = "iso-8859-1" Content-Transfer-Encoding: 7bit Greetings Legolas من صديقك Buzz ------ محدد MIME لإرسال البريد الإلكتروني 365707.724894495--.
تقلع
+ موافق تسجيل الخروج. مغلق
buzz @ sysadmin: ~ $

Squirrelmail

Squirrelmail هو عميل ويب مكتوب بالكامل بلغة PHP. يتضمن دعم PHP أصلي لبروتوكولات IMAP و SMTP ، ويوفر أقصى قدر من التوافق مع المتصفحات المختلفة المستخدمة. يعمل بشكل صحيح على أي خادم IMAP. يحتوي على جميع الوظائف التي تحتاجها من عميل بريد إلكتروني بما في ذلك دعم MIME ودفتر العناوين وإدارة المجلدات.

[root @ linuxbox ~] # yum تثبيت squirrelmail
[root @ linuxbox ~] # إعادة تشغيل httpd للخدمة

[root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$ domain = 'desdelinux.fan'؛
$ imapServerAddress = 'mail.fromlinux.fan'؛
imapPort دولار = 143 ؛
smtpServerAddress = 'desdelinux.fan'؛

[root @ linuxbox ~] # إعادة تحميل httpd للخدمة

DNS Send سياسة Framenwork أو سجل SPF

في المقال خادم DNS المعتمد NSD + Shorewall لقد رأينا أنه تم تكوين منطقة "desdelinux.fan" على النحو التالي:

الجذر @ ns: ~ # nano /etc/nsd/desdelinux.fan.zone
ORIGIN $ من linux.fan. TTL 3H $ @ IN SOA ns.fromlinux.fan. root.fromlinux.fan. (1 ؛ تسلسلي 1D ؛ تحديث 1H ؛ إعادة المحاولة 1 وات ؛ انتهاء الصلاحية 3H) ؛ الحد الأدنى أو ؛ الوقت السلبي للتخزين المؤقت للعيش ؛ @ IN NS ns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan.
@ IN TXT "v = spf1 a: mail.desdelinux.fan -all"
؛ ؛ سجل لحل استعلامات الحفر من linux.fan @ IN A 172.16.10.10 ؛ ns IN A 172.16.10.30 mail IN CNAME من linux.fan. الدردشة في CNAME من linux.fan. www IN CNAME من linux.fan. ؛ ؛ سجلات SRV ذات الصلة بـ XMPP
_xmpp-server._tcp IN SRV 0 0 5269 من linux.fan. _xmpp-client._tcp IN SRV 0 0 5222 من linux.fan. _jabber._tcp IN SRV 0 0 5269 من linux.fan.

يتم الإعلان عن التسجيل فيه:

@ IN TXT "v = spf1 a: mail.desdelinux.fan -all"

لتكوين نفس المعلمة لشبكة SME Network أو LAN ، يجب علينا تعديل ملف تكوين Dnsmasq على النحو التالي:

# سجلات TXT. يمكننا أيضًا الإعلان عن سجل نظام التعرف على هوية المرسل (SPF) txt-record = desdelinux.fan، "v = spf1 a: mail.desdelinux.fan -all"

ثم نعيد تشغيل الخدمة:

[root @ linuxbox ~] # إعادة تشغيل خدمة dnsmasq
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # host -t TXT mail.fromlinux.fan mail.fromlinux.fan هو اسم مستعار لـ fromlinux.fan. نص وصفي desdelinux.fan "v = spf1 a: mail.desdelinux.fan -all"

الشهادات الموقعة ذاتيًا و Apache أو httpd

حتى لو أخبرك متصفحك أن «صاحب mail.fromlinux.fan لقد قمت بتكوين موقع الويب الخاص بك بشكل غير صحيح. لمنع سرقة معلوماتك ، لم يتصل Firefox بموقع الويب هذا "، الشهادة التي تم إنشاؤها مسبقًا هذا صالح، وسيسمح لأوراق الاعتماد بين العميل والخادم بالسفر مشفرة ، بعد أن نقبل الشهادة.

إذا كنت ترغب في ذلك ، وكطريقة لتوحيد الشهادات ، يمكنك التصريح لـ Apache بنفس الشهادات التي أعلنت عنها لـ Postfix ، وهي صحيحة.

[root @ linuxbox ~] # nano /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/desdelinux.fan.crt
SSLCertificateKeyFile /etc/pki/tls/private/desdelinux.fan.key

[root @ linuxbox ~] # هتبد خدمة إعادة تشغيل
[root @ linuxbox ~] # حالة خدمة httpd

مجموعة ديفي هيلمان

تصبح قضية الأمن أكثر صعوبة كل يوم على الإنترنت. أحد أكثر الهجمات شيوعًا على الاتصالات SSLهو مأزق وللحماية ضدها من الضروري إضافة معلمات غير قياسية إلى تكوين SSL. لهذا هناك RFC-3526 «المزيد من الوحدات الأسية (MODP) ديفي-هيلمان مجموعات لتبادل مفتاح الإنترنت (IKE)".

[root @ linuxbox ~] # cd / etc / pki / tls /
[root @ linuxbox tls] # openssl dhparam -out private / dhparams.pem 2048
[root @ linuxbox tls] # chmod 600 private / dhparams.pem

وفقًا لإصدار Apache الذي قمنا بتثبيته ، سنستخدم Diffie-Helman Group من الملف /etc/pki/tls/dhparams.pem. إذا كان الإصدار 2.4.8 أو أحدث ، فسنضطر إلى الإضافة إلى الملف /etc/httpd/conf.d/ssl.conf السطر التالي:

SSLOpenSSLConfCmd معلمات DH "/etc/pki/tls/private/dhparams.pem"

إصدار Apache الذي نستخدمه هو:

[root @ linuxbox tls] # yum info httpd
الإضافات المحملة: أسرع المرآة ، langpacks تحميل سرعات المرآة من الحزم المثبتة في ملف المضيف المخزن مؤقتًا الاسم: httpd Architecture: x86_64
الإصدار: 2.4.6
الإصدار: 45.el7.centos الحجم: 9.4 M المستودع: مثبت من المستودع: ملخص Base-Repo: عنوان URL لخادم Apache HTTP: http://httpd.apache.org/ الترخيص: ASL 2.0 الوصف: خادم Apache HTTP عبارة عن قوية وفعالة وقابلة للتوسيع: خادم الويب.

نظرًا لأن لدينا إصدارًا سابقًا للإصدار 2.4.8 ، فإننا نضيف في نهاية شهادة CRT التي تم إنشاؤها مسبقًا محتوى مجموعة Diffie-Helman:

[root @ linuxbox tls] # cat private / dhparams.pem >> شهادات / desdelinux.fan.crt

إذا كنت تريد التحقق من إضافة معلمات DH بشكل صحيح إلى شهادة CRT ، فقم بتنفيذ الأوامر التالية:

[root @ linuxbox tls] # cat private / dhparams.pem 
----- معلمات BEGIN DH -----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- نهاية معلمات DH -----

[root @ linuxbox tls] # cat certs / desdelinux.fan.crt 
-----BEGIN CERTIFICATE-----
MIIGBzCCA++gAwIBAgIJANd9FLCkDBfzMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD
VQQGEwJDVTENMAsGA1UECAwEQ3ViYTEPMA0GA1UEBwwGSGFiYW5hMRcwFQYDVQQK
DA5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECwwLRW50dXNpYXN0YXMxFzAVBgNVBAMM
DmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu
ZmFuMB4XDTE3MDUyMjE0MDQ1MloXDTIyMDUyMTE0MDQ1MlowgZkxCzAJBgNVBAYT
AkNVMQ0wCwYDVQQIDARDdWJhMQ8wDQYDVQQHDAZIYWJhbmExFzAVBgNVBAoMDkRl
c2RlTGludXguRmFuMRQwEgYDVQQLDAtFbnR1c2lhc3RhczEXMBUGA1UEAwwOZGVz
ZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51eC5mYW4w
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn5MkKRdeFYiN+xgGdsRn8
sYik9X75YnJcbeZrD90igfPadZ75ehtfYIxxOS+2U+omnFgr/tCKYUVJ50seq/lB
idcLP4mt7wMrMZUDpy1rlWPOZGKkG8AdStCYI8iolvJ4rQtLcsU6jhRzEXsZxfOb
O3sqc71yMIj5qko55mlsEVB3lJq3FTDQAY2PhXopJ8BThW1T9iyl1HlYpxj7OItr
/BqiFhxbP17Fpd3QLyNiEl+exVJURYZkvuZQqVPkFAlyNDh5I2fYfrI9yBVPBrZF
uOdRmT6jv6jFxsBy9gggcy+/u1nhlKssLBEhyaKfaQoItFGCAmevkyzdl1LTYDPY
ULi79NljQ1dSwWgraZ3i3ACZIVO/kHcOPljsNxE8omI6qNFWqFd1qdPH5S4c4IR1
5URRuwyVNffEHKaCJi9vF9Wn8LVKnN/+5zZGRJA8hI18HH9kF0A1sCNj1KKiB/xe
/02wTzR/Gbj8pkyO8fjVBvd/XWI8EMQyMc1gvtIAvZ00SAB8c1NEOCs5pt0Us6pm
1lOkgD6nl90Dx9p805mTKD+ZcvRaShOvTyO3HcrxCxOodFfZQCuHYuQb0dcwoK2B
yOwL77NmxNH1QVJL832lRARn8gpKoRAUrzdTSTRKmkVrOGcfvrCKhEBsJ67Gq1+T
YDLhUiGVbPXXR9rhAyyX2QIDAQABo1AwTjAdBgNVHQ4EFgQURGCMiLVLPkjIyGZK
UrZgMkO0X8QwHwYDVR0jBBgwFoAURGCMiLVLPkjIyGZKUrZgMkO0X8QwDAYDVR0T
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAdy1tH1DwfCW47BNJE1DW8Xlyp+sZ
uYTMOKfNdnAdeSag1WshR6US6aCtU6FkzU/rtV/cXDKetAUIzR50aCYGTlfMCnDf
KKMZEPjIlX/arRwBkvIiRTU1o3HTniGp9d3jsRWD/AvB3rSus4wfuXeCoy7Tqc9U
FaXqnvxhF8/ptFeeCeZgWu16zyiGBqMj4ZaQ7RxEwcoHSd+OByg8E9IE2cYrWP2V
6P7hdCXmw8voMxCtS2s++VRd1fGqgGxXjXT8psxmY2MrseuTM2GyWzs+18A3VVFz
UXLD2lzeYs638DCMXj5/BMZtVL2a4OhMSYY4frEbggB3ZgXhDDktUb7YhnBTViM3
2sgJJOSTltOgAnyOPE0CDcyktXVCtu3PNUc+/AB3UemI9XCw4ypmTOMaIZ2Gl6Uo
pmTk41fpFuf8pqW3ntyu43lC5pKRBqhit6MoFGNOCvFYFBWcltpqnjsWfY2gG/b5
8D5HsedueqkAsVblKPBFpv1BB9X0HhBUYsrz8jNGZGbkgR4XQoIoLbQZHEB35APU
4yT1Lzc3jk34yZF5ntmFt3wETSWwJZ+0cYPw7n4E6vbs1C7iKAMQRVy+lI5f8XYS
YKfrieiPPdmQ22Zm2Tbkqi4zjJBWmstrw6ezzAQNaaAkiOiJIwvXU81KYsN37THh
Nf0/JsEjPklCugE=
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- نهاية معلمات DH -----

بعد هذه التغييرات ، يجب إعادة تشغيل خدمتي Postfix و httpd:

[root @ linuxbox tls] # إعادة تشغيل postfix الخدمة
[root @ linuxbox tls] # حالة postfix للخدمة
[root @ linuxbox tls] # إعادة تشغيل httpd للخدمة
[root @ linuxbox tls] # حالة httpd للخدمة

قد يؤدي إدراج Diffie-Helman Group في شهادات TLS الخاصة بنا إلى جعل الاتصال عبر HTTPS أبطأ قليلاً ، ولكن إضافة الأمان تستحق ذلك.

التحقق من Squirrelmail

DESPUÉS أن الشهادات تم إنشاؤها بشكل صحيح وأننا نتحقق من عملها الصحيح كما فعلنا من خلال أوامر وحدة التحكم ، قم بتوجيه المتصفح المفضل لديك إلى عنوان URL http://mail.desdelinux.fan/webmail وسيتصل بعميل الويب بعد قبول الشهادة المقابلة. لاحظ أنه على الرغم من تحديد بروتوكول HTTP ، فسيتم إعادة توجيهه إلى HTTPS ، وهذا يرجع إلى الإعدادات الافتراضية التي يوفرها CentOS لـ Squirrelmail. انظر الملف /etc/httpd/conf.d/squirrelmail.conf.

حول علب بريد المستخدم

Dovecot يقوم بإنشاء صناديق بريد IMAP في المجلد الصفحة الرئيسية لكل مستخدم:

[root @ linuxbox ~] # ls -la /home/legolas/mail/.imap/
إجمالي 12 drwxrwx -. 5 legolas mail 4096 22 مايو 12:39. drwx ------. 3 legolas legolas 75 May 22 11:34 .. -rw -------. 1 legolas legolas 72 May 22 11:34 dovecot.mailbox.log -rw -------. 1 legolas legolas May 8 22 12:39 dovecot-uidvalidity -r - r - r--. 1 legolas legolas 0 22 مايو 10:12 dovecot-uidvalidity.5922f1d1 drwxrwx -. 2 legolas mail 56 May 22 10:23 INBOX drwx ------. 2 legolas legolas 56 May 22 12:39 أرسل drwx ------. 2 legolas legolas 30 May 22 11:34 المهملات

يتم تخزينها أيضًا في / var / mail /

[root @ linuxbox ~] # less / var / mail / legolas
من MAILER_DAEMON الاثنين 22 مايو 10:28:00 2017 التاريخ: الإثنين 22 مايو 2017 10:28:00 -0400 من: البيانات الداخلية لنظام البريد الموضوع: لا تحذف هذه الرسالة - معرف رسالة البيانات الداخلية للمجلد: <1495463280 @ linuxbox> X-IMAP: 1495462351 0000000008 الحالة: RO هذا النص جزء من التنسيق الداخلي لمجلد البريد الخاص بك ، وليس رسالة حقيقية . يتم إنشاؤه تلقائيًا بواسطة برنامج نظام البريد. في حالة الحذف ، ستفقد بيانات المجلد المهمة ، وستتم إعادة إنشائها مع إعادة تعيين البيانات إلى القيم الأولية. من root@desdelinux.fan الاثنين 22 مايو 10:47:10 2017 مسار العودة: X-Original-To: legolas Delivered-To: legolas@desdelinux.fan مستلم: بواسطة desdelinux.fan (Postfix ، من معرف المستخدم 0) id 7EA22C11FC57؛ الإثنين ، 22 مايو 2017 10:47:10 -0400 (بتوقيت شرق الولايات المتحدة) التاريخ: الإثنين ، 22 مايو 2017 10:47:10 -0400 إلى: legolas@desdelinux.fan الموضوع: اختبار وكيل المستخدم: Heirloom mailx 12.5 7/5 / 10 إصدار MIME: 1.0 نوع المحتوى: نص / عادي ؛ charset = us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20170522144710.7EA22C11FC57@desdelinux.fan> من: root@desdelinux.fan (root) X-UID: 7 الحالة: RO مرحبًا. هذه رسالة اختبار من buzz@deslinux.fan الاثنين 22 مايو 10:53:08 2017 مسار الإرجاع: X-Original-To: legolas@desdelinux.fan Delivered-To: legolas@desdelinux.fan مستلم: من sysadmin.desdelinux.fan (بوابة [172.16.10.1]) بواسطة desdelinux.fan (Postfix) مع معرف ESMTP C184DC11FC57 لـ ؛ الاثنين ، 22 مايو 2017 10:53:08 -0400 (EDT) معرف الرسالة: <739874.219379516-sendEmail@sysadmin> من: "buzz@deslinux.fan" إلى: "legolas@desdelinux.fan" الموضوع: مرحبًا التاريخ: الاثنين ، 22 مايو 2017 14:53:08 +0000 X-Mailer: sendEmail-1.56 MIME-Version: 1.0 Content-Type: multipart / related؛ الحدود = "---- محدد MIME لإرسال البريد الإلكتروني -794889.899510057
/ var / mail / legolas

ملخص المسلسل القصير PAM

لقد نظرنا إلى جوهر خادم البريد وركزنا قليلاً على الأمان. نأمل أن تكون المقالة بمثابة نقطة دخول إلى موضوع معقد وعرضة لارتكاب الأخطاء كما هو الحال في تنفيذ خادم البريد يدويًا.

نستخدم مصادقة المستخدم المحلي لأننا إذا قرأنا الملف بشكل صحيح /etc/dovecot/conf.d/10-auth.conf، سنرى أنه في النهاية يتم تضمينه -افتراضيا- ملف توثيق مستخدمي النظام ! include auth-system.conf.ext. يخبرنا هذا الملف بالضبط في رأسه أن:

[root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# المصادقة لمستخدمي النظام. متضمن من 10-auth.conf. # # # # مصادقة PAM. يفضله معظم الأنظمة في الوقت الحاضر.
يتم استخدام # PAM عادةً مع إما userdb passwd أو userdb ثابت. # تذكر: ستحتاج إلى ملف /etc/pam.d/dovecot تم إنشاؤه لكي تعمل مصادقة PAM # بالفعل. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = نعم] [max_requests = ] # [cache_key = ] [ ] #args = حمام}

والملف الآخر موجود /etc/pam.d/dovecot:

[root @ linuxbox ~] # cat /etc/pam.d/dovecot 
#٪ PAM-1.0 المصادقة مطلوبة pam_nologin.so المصادقة تتضمن حساب مصادقة كلمة المرور تتضمن جلسة مصادقة كلمة المرور تتضمن مصادقة كلمة المرور

ما الذي نحاول نقله عن مصادقة PAM؟

  • تقوم CentOS و Debian و Ubuntu والعديد من توزيعات Linux الأخرى بتثبيت Postifx و Dovecot مع تمكين المصادقة المحلية افتراضيًا.
  • تستخدم العديد من المقالات على الإنترنت MySQL - ومؤخرًا MariaDB - لتخزين المستخدمين والبيانات الأخرى المتعلقة بخادم البريد. ولكن هذه خوادم لآلاف المستخدمين ، وليست لشبكة SME كلاسيكية بها - ربما - مئات المستخدمين.
  • المصادقة من خلال PAM ضرورية وكافية لتوفير خدمات الشبكة طالما أنها تعمل على خادم واحد كما رأينا في هذه السلسلة الصغيرة.
  • يمكن تعيين المستخدمين المخزنين في قاعدة بيانات LDAP كما لو كانوا مستخدمين محليين ، ويمكن استخدام مصادقة PAM لتوفير خدمات الشبكة من خوادم Linux المختلفة التي تعمل كعملاء LDAP إلى خادم المصادقة المركزي. بهذه الطريقة ، سنعمل مع بيانات اعتماد المستخدمين المخزنة في قاعدة بيانات خادم LDAP المركزية ، ولن يكون من الضروري الاحتفاظ بقاعدة بيانات مع المستخدمين المحليين.

حتى المغامرة القادمة!


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

9 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   اجارتو قال

    صدقني أنه من الناحية العملية ، هذه عملية تسبب أكثر من صداع شديد لمسؤول النظام ، وأنا مقتنع بأنها ستكون في المستقبل دليلًا مرجعيًا لأي شخص يريد إدارة رسائل البريد الإلكتروني بنفسه ، وهي حالة عملية تصبح في abc عند دمج postfix و dovecot و squirrelmail ..

    شكرا جزيلا لمساهمتك الجديرة بالثناء ،

  2.   داركو قال

    لماذا لا تستخدم Mailpile ، عندما يتعلق الأمر بالأمان ، مع PGP؟ يحتوي Roundcube أيضًا على واجهة أكثر سهولة ويمكنه أيضًا دمج PGP.

  3.   مارتن قال

    منذ 3 أيام قرأت المنشور ، أعرف كيف أشكرك. لا أخطط لتثبيت خادم بريد ولكن من المفيد دائمًا رؤية إنشاء الشهادات ، وهو مفيد للتطبيقات الأخرى ولا تنتهي صلاحية هذه البرامج التعليمية (حتى أكثر عند استخدام CentOS).

  4.   فيديريكو قال

    مانويل سيليرو: نشكرك على الارتباط من وإلى مدونتك هذه المقالة التي تمثل الحد الأدنى من نواة خادم البريد المستند إلى Postfix و Dovecot.

    السحلية: كما هو الحال دائمًا ، تم استقبال تقييمك جيدًا. شكرا.

    داركو: في جميع مقالاتي تقريبًا ، أصرح بشكل أو بآخر بأن "الجميع ينفذ الخدمات بالبرامج التي يحبونها كثيرًا". شكرا لتعليق.

    مارتن: شكرًا لك أيضًا على قراءة المقال وآمل أن يساعدك في عملك.

  5.   زودياك كاربوروس قال

    مقال هائل صديق فيديريكو. شكرا جزيلا لمثل هذا توتو جيد.

  6.   archy قال

    ممتاز على الرغم من أنني سأستخدم "المستخدمون الافتراضيون" لتجنب الاضطرار إلى إنشاء مستخدم نظام في كل مرة أقوم فيها بإضافة بريد إلكتروني ، شكرًا لأنني تعلمت الكثير من الأشياء الجديدة وهذا هو نوع المنشور الذي كنت أنتظره

  7.   ويلنتون أسيفيدو رويدا قال

    مساء الخير،

    سوف يجرؤون على عمل نفس الشيء باستخدام خادم دليل فيدورا + postifx + dovecot + thunderbird أو outlook.

    لدي جزء ولكني عالق ، ويسعدني مشاركة المستند مع مجتمعdesdelinux

  8.   أحصل قال

    لم أكن أتخيل أنها ستصل إلى أكثر من 3000 زيارة !!!

    تحياتي سحلية!

  9.   الظلام قال

    زميل تعليمي ممتاز.
    هل يمكنك القيام بذلك لـ Debian 10 مع مستخدمي Active Directory المثبت على Samba4 ؟؟؟
    أتخيل أنه سيكون هو نفسه تقريبًا ولكن مع تغيير نوع المصادقة.
    القسم الذي تخصصه لإنشاء الشهادات الموقعة ذاتيًا ممتع للغاية.