אינדקס כללי של הסדרה: רשתות מחשבים עבור חברות קטנות ובינוניות: מבוא
מאמר זה הוא המשך ואחרון המיני סדרה:
- אימות דיונון + PAM ב- CentOS 7.
- ניהול משתמשים וקבוצות מקומיים
- שרת DNS סמכותי של NSD + חוף
- תמצאו צ'אט ומשתמשים מקומיים
שלום חברים וחברים!
ل מתלהבים הם רוצים שיהיה להם שרת דואר משלהם. הם לא רוצים להשתמש בשרתים ש"פרטיות "היא בין סימני השאלה. האחראי על הטמעת השירות בשרת הקטן שלך אינו מומחה בנושא וינסה בתחילה להתקין את הליבה של שרת דואר עתידי ומלא. האם "המשוואות" להכנת שרת מיילים מלא הן מעט קשות להבנה וליישום. 😉
אינדקס
הערות שוליים
- יש להיות ברור אילו פונקציות מבצעת כל תוכנית המעורבת ב- Mailserver. כמדריך ראשוני אנו נותנים סדרה שלמה של קישורים שימושיים עם המטרה המוצהרת שהם מבקרים בהם.
- יישום שירות דואר שלם באופן ידני ומאפס הוא תהליך מעייף, אלא אם כן אתה מה"נבחרים "שמבצעים משימות מסוג זה מדי יום. שרת דואר נוצר - באופן כללי - על ידי תוכניות שונות המטפלות בנפרד SMTP, POP / IMAP, אחסון מקומי של הודעות, משימות הקשורות לטיפול ב- דואר זבל, אנטי-וירוס וכו '. על כל התוכניות הללו לתקשר ביניהן בצורה נכונה.
- אין מנהג אחד שמתאים לכולם או "שיטה מומלצת" כיצד לנהל משתמשים; היכן ואיך לאחסן הודעות, או כיצד לגרום לכל הרכיבים לעבוד כמכלול יחיד.
- הרכבה וכוונון עדין של Mailserver נוטים להיות מטרידים בנושאים כמו הרשאות קבצים ובעלים, בבחירת המשתמש שיהיה אחראי על תהליך מסוים, ובשגיאות קטנות שנעשו בקובץ תצורה אזוטרי כלשהו.
- אלא אם כן אתה יודע היטב מה אתה עושה, התוצאה הסופית תהיה שרת דואר חסר ביטחון או מעט לא פונקציונלי. שבסוף היישום זה לא יעבוד, יתכן שזה יהיה פחות מבין הרעות.
- אנו יכולים למצוא מספר רב של מתכונים באינטרנט כיצד ליצור שרת דואר. אחד השלמים ביותר -לדעתי המאוד אישית- הוא זה שמציע המחבר איבר אברהמסן במהדורה השלוש עשרה בינואר 2017 «כיצד להגדיר שרת דואר במערכת GNU / Linux".
- אנו ממליצים גם לקרוא את המאמר «שרת מיילים באובונטו 14.04: Postfix, Dovecot, MySQL«, או «שרת מיילים באובונטו 16.04: Postfix, Dovecot, MySQL".
- נָכוֹן. את התיעוד הטוב ביותר בנושא זה ניתן למצוא באנגלית.
- אף על פי שאנחנו אף פעם לא עושים Mailserver בהנחיית נאמנות איך ל… שהוזכר בפסקה הקודמת, עצם המעקב אחר צעד אחר צעד ייתן לנו מושג טוב מאוד בפני מה אנו עומדים.
- אם ברצונך לקבל Mailserver שלם בכמה צעדים ספורים, תוכל להוריד את התמונה iRedOS-0.6.0-CentOS-5.5-i386.iso, או חפש אחד מודרני יותר, בין אם זה iRedOS או iRedMail. זו הדרך בה אני ממליץ באופן אישי.
אנו הולכים להתקין ולהגדיר:
- פוסט תיקון כשרת Mשום Transport Aג'נטל (SMTP).
- דובקוט כ- POP - שרת IMAP.
- אישורים לחיבורים דרך TLS.
- סנאי כממשק אינטרנט למשתמשים.
- רשומת DNS ביחס ל- «מסגרת מדיניות השולח"אוֹ SPF.
- דור המודולים קבוצת דיפי הלמן להגברת האבטחה של אישורי SSL.
זה נשאר לעשות:
לפחות יישארו ליישם את השירותים הבאים:
- postgrey: מדיניות שרת Postfix עבור רשימות אפורות ודוחה דואר זבל.
- Amavisd-חדש: סקריפט שיוצר ממשק בין ה- MTA, לבין סורקי וירוסים ומסנני תוכן.
- אנטי-וירוס Clamav: חבילת אנטי-וירוס
- SpamAssassin: לחלץ דואר זבל
- גילוח (פיזור): לכידת דואר זבל באמצעות רשת מבוזרת ומשתפת פעולה. רשת Vipul Razor מנהלת קטלוג מעודכן להפצת דואר זבל או דואר זבל.
- רשומת DNS "DomainKeys Identified Mail" או DKIM.
חבילות postgrey, amavisd-new, clamav, spamassassin, תער y פיזור הם נמצאים במאגרי התוכנית. אנו גם נמצא את התוכנית אופנדקים.
- ההצהרה הנכונה של רשומות ה- DNS "SPF" ו- "DKIM" חיונית אם איננו רוצים ששרת הדואר שלנו יופעל רק, יוכרז כבלתי רצוי או כיצרן דואר זבל או דואר זבל, על ידי שירותי דואר אחרים כגון gmail, Yאוהו, Hotmail, וכו.
בדיקות ראשוניות
זכור כי מאמר זה הוא המשך של אחרים שמתחילים ב אימות דיונון + PAM ב- CentOS 7.
ממשק LAN LAN Ens32 מחובר לרשת הפנימית
[root @ linuxbox ~] # nano / etc / sysconfig / scripts network / 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
ZONE = ציבורי
[root @ linuxbox ~] # ifdown ens32 && ifup ens32
ממשק WAN Ens34 מחובר לאינטרנט
[root @ linuxbox ~] # nano / etc / sysconfig / scripts network / 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 DOMAIN = desdelinux.fan DNS1 = 127.0.0.1
ZONE = חיצוני
רזולוציית DNS מה- LAN
[root @ linuxbox ~] # cat /etc/resolv.conf חיפוש מ- linux.fan nameserver 127.0.0.1 nameserver 172.16.10.30 [root @ linuxbox ~] # דואר מארח mail.desdelinux.fan הוא כינוי עבור linuxbox.desdelinux.fan. לכתובת linuxbox.desdelinux.fan יש כתובת 192.168.10.5 דואר linuxbox.desdelinux.fan מטופל על ידי 1 mail.desdelinux.fan. [root @ linuxbox ~] # mail mail.fromlinux.fan mail.desdelinux.fan הוא כינוי עבור linuxbox.desdelinux.fan. לכתובת linuxbox.desdelinux.fan יש כתובת 192.168.10.5 דואר linuxbox.desdelinux.fan מטופל על ידי 1 mail.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 service service [root @ linuxbox ~] # מארח מ- linux.fan לכתובת desdelinux.fan יש כתובת 172.16.10.10 דואר desdelinux.fan מטופל על ידי 10 mail.desdelinux.fan.
פוסטפיקס ודובקוט
את התיעוד הרחב ביותר של ה- 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/ מחברים העתקה. MIT dovecot-openssl.cnf חדשות Wiki העתקה ChangeLog example-config README COPYING.LGPL documentation.txt mkcert.sh solr-schema.xml
ב- CentOS 7, ה- MTA של Postfix מותקן כברירת מחדל כאשר אנו בוחרים באפשרות של שרת תשתית. עלינו לבדוק שההקשר של SELinux מאפשר כתיבה ל- Potfix בתור ההודעות המקומי:
[root @ linuxbox ~] # getsebool -a | grep postfix
postfix_local_write_mail_spool -> on
שינויים ב- FirewallD
באמצעות הממשק הגרפי כדי להגדיר את FirewallD, עלינו לוודא שהשירותים והיציאות הבאים מופעלים עבור כל אזור:
# ------------------------------------------------- ----- # תיקונים ב- FirewallD # ------------------------------------------------- ----- # חומת אש # אזור ציבורי: 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
תצורת מינימום Dovecot
[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf פרוטוקולים =imap pop3 lmtp להקשיב =*, :: כניסה_ברכה = דובקוט מוכן!
אנו משביתים במפורש את אימות הטקסט הרגיל של Dovecot:
[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_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 מייצר אוטומטית את אישורי הבדיקה שלך על סמך הנתונים בקובץ /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 = כן הבחנה_שם = req_dn x509_extensions = cert_type prompt = no [req_dn] # מדינה (קוד 2 אותיות) C = CU # שם מדינה או מחוז (שם מלא) ST = קובה # שם מקום (למשל עיר ) L = Habana # ארגון (למשל. חברה) O = FromLinux.Fan # שם יחידה ארגונית (למשל. קטע) OU = חובבים # שם נפוץ (* .example.com אפשרי גם כן) CN = *. Desdelinux.fan # E דוא"ל ליצירת קשר בדואר כתובת = buzz@desdelinux.fan [cert_type] nsCertType = שרת
אנו מבטלים תעודות בדיקה
[root @ linuxbox dovecot] # rm certs / dovecot.pem rm: למחוק את הקובץ הרגיל "certs / dovecot.pem"? (y / n) y [root @ linuxbox dovecot] # rm private / dovecot.pem rm: למחוק את הקובץ הרגיל "private / dovecot.pem"? (y / n) y
אנו מעתיקים ומבצעים את התסריט mkcert.sh מספריית התיעוד
[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh יצירת מפתח 1024 סיביות RSA פרטי ...... ++++++ ................ ++++++ כותב מפתח פרטי חדש ל- '/ 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 private / סה"כ 4 -rw -------. שורש שורש 1 916 22 במאי 16:08 dovecot.pem [root @ linuxbox dovecot] # שירות dovecot מחדש [root @ linuxbox dovecot] # status dovecot service
אישורים עבור Postfix
[root @ linuxbox ~] # cd / etc / pki / tls / [root @ linuxbox tls] # openssl req -sha256 -x509 -nodes -newkey rsa: 4096 -ימים 1825 \ -out certs / desdelinux.fan.crt -keyout פרטי / desdelinux.fan.key יצירת מפתח פרטי של RSA 4096 סיביות ......... ++ .. ++ כתיבת מפתח פרטי חדש ל- 'private / domain.tld.key' ----- אתה עומד להתבקש להזין מידע שישולב בבקשת האישור שלך. מה שאתה עומד להזין הוא מה שמכונה שם מכובד או DN. ישנם לא מעט שדות, אך ניתן להשאיר חלק ריק. עבור שדות מסוימים יהיה ערך ברירת מחדל, אם תזין '.', השדה יישאר ריק. ----- שם מדינה (קוד בן 2 אותיות) [XX]: שם מדינה או מחוז CU (שם מלא) []: שם מקום קובה (למשל עיר) [עיר ברירת מחדל]: שם ארגון Habana (למשל, חברה) [ חברת ברירת מחדל בע"מ]: FromLinux.Fan שם היחידה הארגונית (למשל, קטע) []: חובבי השם הנפוץ (למשל, שמך או שם המארח של השרת שלך) []: 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 = הכל' [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 = לא delay_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 = permit_mynetworks היתר_סאסל_אימות דחוי_אוניית_יעוד # גודל תיבת דואר מרבי 1024 מגה = 1 גרם ו- ga mailbox_size_limit = 1073741824 recipient_delimiter = + maximum_queue_lifetime = 7d header_checks = regexp: / etc / postfix / header_checks body_checks = regexp: / etc / postfix / body_checks # חשבונות ששולחים עותק של דואר נכנס לחשבון אחר recipient_bcc_maps = hash: / etc / postfix / accounts_ forwarding_copy
השורות הבאות חשובות לקביעת מי יכול לשלוח דואר ולהעביר לשרתים אחרים, כך שלא נקבע בטעות "ממסר פתוח" המאפשר למשתמשים לא מאומתים לשלוח דואר. עלינו להתייעץ עם דפי העזרה של Postfix כדי להבין מה המשמעות של כל אפשרות.
- על כל אחד להכריז על האפשרויות שהוא מבין וזקוק לו!.
smtpd_helo_restrictions = permit_mynetworks,
להזהיר אם לדחות דחייה_לא_שם_בית,
דחה_לא חוקי_אירוח,
יתר
smtpd_sender_restrictions = היתר_סלא_אומת,
permit_mynetworks,
להזהיר אם לדחות לדחות
דחה_לא ידוע_שלוח_דומיין,
reject_unauth_pipeline,
יתר
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org,
reject_rbl_client blackholes.easynet.nl
# הערה: האפשרות "check_policy_service inet: 127.0.0.1: 10023"
# מאפשרת את תוכנית Postgrey, ואנחנו לא צריכים לכלול אותה
# אחרת אנו הולכים להשתמש ב- Postgrey
smtpd_recipient_restrictions = reject_unauth_pipelining,
permit_mynetworks,
היתר_סלא_מאומת,
דחה_לא_מקבל_נמען,
דחה_דומיין_לא ידוע_,
דחה_אמונה_יעוד,
check_policy_service inet: 127.0.0.1: 10023,
יתר
smtpd_data_restrictions = reject_unauth_pipeline
smtpd_relay_restrictions = reject_unauth_pipeline,
permit_mynetworks,
היתר_סלא_מאומת,
דחה_לא_מקבל_נמען,
דחה_דומיין_לא ידוע_,
דחה_אמונה_יעוד,
check_policy_service inet: 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 'v1agra סופר חדש' regexp: / etc / postfix / body_checks
# צריך לחזור: # דחה כלל 2 מסר הודעה נגד ספאם
/ ויאגרה / REJECT כלל מס '1 נגד ספאם של גוף ההודעה
/ super new v [i1] agra / REJECT כלל מס '2 נגד ספאם של גוף ההודעה
[root @ linuxbox ~] # nano / etc / postfix / accounts_forwarding_copy
# לאחר השינוי עליך לבצע: # postmap / etc / postfix / accounts_ forwarding_copy
# והקובץ נוצר או נמדד: # /etc/postfix/accounts_forwarding_copy.db
# ------------------------------------------ # חשבון יחיד להעברת חשבון העתק BCC # BCC = העתק פחמן שחור # דוגמה: # webadmin@desdelinux.fan buzz@desdelinux.fan
[root @ linuxbox ~] # postmap / etc / postfix / accounts_ forwarding_copy
[root @ linuxbox ~] # nano / etc / postfix / header_checks
# הוסף בסוף הקובץ # לא דורש Postmap מכיוון שהם ביטויים רגילים
/ ^ נושא: =? Big5? / REJECT קידוד סיני לא התקבל על ידי שרת זה
/ ^ נושא: =? EUC-KR? / REJECT קידוד קוריאני אסור לשרת זה
/ ^ נושא: ADV: / REJECT פרסומות לא מתקבלות על ידי שרת זה
/^From:.*\@.*\.cn/ REJECT מצטערים, דואר סיני אינו מותר כאן
/^ מאת :.*\@.*\.kr/ לדחות מצטערים, דואר קוריאני אינו מותר כאן
/^From:.*\@.*\.tr/ לדחות מצטערים, דואר טורקי אינו מורשה כאן
/^From:.*\@.*\.ro/ REJECT מצטערים, דואר רומני אינו מותר כאן
/^( קיבלה| הודעה- ID|X-( מיילר|שולח) ):.*\b(AutoMail|E- Broadcaster|Emailer Platinum | שרת רעם | eMarksman | Extractor | e-Merge | from stealth [^.] | מסנג'ר עולמי | GroupMaster | שידור דואר | MailKing | Match10 | MassE-Mail | massmail \ .pl | מפסק חדשות | 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) / REJECT REJECT אנו לא מקבלים קבצים מצורפים עם סיומות אלה
אנו בודקים את התחביר, מפעילים מחדש את אפאצ'י ואת פוסטיפקס ומאפשרים ומפעילים את Dovecot
[root @ linuxbox ~] # בדיקת postfix [root @ linuxbox ~] # [root @ linuxbox ~] # systemctl הפעל מחדש את httpd [root @ linuxbox ~] # systemctl status httpd [root @ linuxbox ~] # systemctl הפעל מחדש את postfix [root @ linuxbox ~] # תיקון מצב systemctl [root @ linuxbox ~] # systemctl status dovecot ● dovecot.service - שרת הדוא"ל IMAP / POP3 של Dovecot טעון: נטען (/usr/lib/systemd/system/dovecot.service; מושבת; הגדרת ספק מראש: מושבתת) פעיל: לא פעיל (מת) [root @ linuxbox ~] # systemctl מאפשר יונה [root @ linuxbox ~] # systemctl הפעל את יונה [root @ linuxbox ~] # systemctl הפעל מחדש את dovecot [root @ linuxbox ~] # systemctl status dovecot
בדיקות ברמת המסוף
- חשוב מאוד לפני שתמשיך בהתקנה ותצורה של תוכניות אחרות, לבצע את הבדיקות המינימליות הדרושות של שירותי SMTP ו- POP.
מקומי מהשרת עצמו
אנו שולחים דוא"ל למשתמש המקומי לגולס.
[root @ linuxbox ~] # הד "שלום. זוהי הודעת בדיקה" | דואר - "בדוק" legolas
אנו בודקים את תיבת הדואר של לגולה.
[root @ linuxbox ~] # openssl s_client -crlf-connect 127.0.0.1:110 -starttls pop3
אחרי ההודעה Dovecot מוכן! אנחנו ממשיכים:
--- + אישור Dovecot מוכן! משתמש לגולא + אישור עובר לגולא + אישור מחובר. STAT + OK 1 559 LIST + OK 1 הודעות: 1 559. RETR 1 + OK 559 אוקטטים מסלול חזרה: X-Original-To: legolas נמסר ל-: legolas@desdelinux.fan שהתקבל: על ידי desdelinux.fan (Postfix, מאת userid 0) id 7EA22C11FC57; שני, 22 במאי 2017 10:47:10 -0400 (EDT) תאריך: שני, 22 במאי 2017 10:47:10 -0400 אל: legolas@desdelinux.fan נושא: מבחן סוכן משתמש: Heirloom mailx 12.5 7/5 / גרסת MIME 10: 1.0 סוג תוכן: טקסט / רגיל; charset = us-ascii קידוד העברת תוכן: 7bit מזהה הודעה: <20170522144710.7EA22C11FC57@desdelinux.fan> מאת: root@desdelinux.fan (root) שלום. זוהי הודעת בדיקה. הפסק בוצע [root @ linuxbox ~] #
שלטים ממחשב ברשת LAN
בוא נשלח הודעה נוספת אל לגולס ממחשב אחר ברשת LAN. שים לב כי אבטחת TLS אינה הכרחית בהחלט ברשת SME.
buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \ -t legolas@desdelinux.fan \ - "שלום" \ -מ "ברכות לגולה מחברך באז" \ -s mail.desdelinux.fan -o tls = no 22 במאי 10:53:08 sysadmin sendemail [5866]: דוא"ל נשלח בהצלחה!
אם ננסה להתחבר דרך Telnet ממארח ב- LAN - או מהאינטרנט, כמובן - ל- Dovecot, הדברים הבאים יקורים מכיוון שאנו משביתים אימות טקסט פשוט:
buzz @ sysadmin: ~ $ telnet mail.fromlinux.fan 110 מנסה 192.168.10.5 ...
מחובר ל- linuxbox.fromlinux.fan. דמות הבריחה היא '^]'. + אישור Dovecot מוכן! משתמש לגולא
-ERR [AUTH] אימות טקסט רגיל אסור על חיבורים לא מאובטחים (SSL / TLS).
צא + אישור יציאה מהחיבור נסגר על ידי מארח זר.
buzz @ sysadmin: ~ $
עלינו לעשות זאת OpenSSL. הפלט המלא של הפקודה יהיה:
buzz @ sysadmin: ~ $ openssl s_client -crlf-connect mail.fromlinux.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 = קובה, L = הוואנה, O = FromLinux.Fan, OU = נלהבים, CN = * .fromlinux.fan, emailAddress = buzz@fromlinux.fan אמת החזרה: 1 --- שרשרת אישורים 0 שניות: /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 --- תעודת שרת ----- התחל תעודה-- --- 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 = / C = CU / ST = קובה / L = הוואנה / O = DesdeLinux.Fan /OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan issuer = / C = CU / ST = Cuba / L = Habana / O = DesdeLinux.Fan / OU = Entusiasts / CN = *. Desdelinux .fan / emailAddress = buzz @ desdelinux.fan --- אין אישור לקוח שמות CA נשלחו מפתח טמפ שרת: ECDH, secp384r1, 384 סיביות --- לחיצת יד SSL נקראה 1342 בתים ונכתבה 411 בתים --- חדש, TLSv1 / SSLv3 , צופן הוא ECDHE-RSA-AES256-GCM-SHA384 המפתח הציבורי של השרת הוא 1024 ביט מאובטח מחדש משא ומתן דחיסה: הרחבה ללא: SSL-מושב: פרוטוקול: TLSv1.2 הצפנה: ECDHE-RSA-AES256-GCM-SHA384 מושב- מזהה: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB6C5295BF4E2D73A Session-ID-ctx: Master-Key : 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 מפתח-Arg: אין Principal Krb5: 300 זהות PSK ללא: רמז זהות PSK ללא: HS 0000F4F3A8FD29CD7F4BC63BFF72E7F6F4 מפתח-Arg: רמז זהות PSK ללא:: Principal Krb7 ללא: אין 1 PSK הזהות מושב TLS HS XNUMX XNUMX שניות XNUMX F Nonec XNUMX מושב כרטיסים XNUMX ו 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 .5 ...... h ... r..y 0040 - 89 4a 28 e3 85 a4 8b da-e9 7a 29 c7 77 bf 22 0d .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 dc 3c a0 z..p .... b ..... <. + אישור Dovecot מוכן! לגולות משתמש + אישור לעבור לגולאות + אישור מחובר. רשימה + אישור 1 הודעות: 1 1021. חזרה 1 + OK 1021 אוקטטים חזרה לנתיב: X-Original-To: legolas@desdelinux.fan נמסר ל-: 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 דואר אלקטרוני: sendEmail-1.56 גרסת MIME: 1.0 סוג תוכן: מרובה / קשורים; boundary = "---- מפריד MIME עבור sendEmail-365707.724894495" זוהי הודעה מרובת חלקים בפורמט MIME. כדי להציג הודעה זו כראוי אתה זקוק לתוכנית דואר אלקטרוני התואמת ל- MIME. ------ MIME תוחם עבור sendEmail-1.0 סוג תוכן: טקסט / רגיל; charset = "iso-365707.724894495-8859" קידוד העברת תוכן: ברכות 1bit ברכות לגולאס מחברך באז ------ MIME תיחום עבור sendEmail-7--. תיכנע + אישור יציאה. סָגוּר buzz @ sysadmin: ~ $
סנאי
סנאי הוא לקוח אינטרנט שנכתב כולו ב- PHP. הוא כולל תמיכת PHP מקומית לפרוטוקולי IMAP ו- SMTP, ומספק תאימות מרבית לדפדפנים השונים הנמצאים בשימוש. הוא פועל כהלכה בכל שרת IMAP. יש לו את כל הפונקציונליות הדרושה לך מלקוח דואר הכולל תמיכה ב- MIME, פנקס כתובות וניהול תיקיות.
[root @ linuxbox ~] # yum install 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 או רשומת SPF
במאמר שרת DNS סמכותי של NSD + חוף ראינו שאזור "desdelinux.fan" מוגדר באופן הבא:
root @ ns: ~ # nano /etc/nsd/desdelinux.fan.zone $ ORIGIN מ- linux.fan. $ TTL 3H @ IN SOA ns.fromlinux.fan. root.fromlinux.fan. (1; 1D סדרתי; רענן 1H; נסה שוב 1W; תפוג 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 בדואר 172.16.10.30 ב- 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 או 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 הגדרת את אתרך באופן שגוי. כדי למנוע את גניבת המידע שלך, פיירפוקס לא התחבר לאתר זה ”, האישור שנוצר בעבר זה תקף, ויאפשר את האישורים בין הלקוח לשרת לנסוע מוצפן, לאחר שנקבל את האישור.
אם תרצה, וכדרך לאחד את האישורים, תוכל להצהיר עבור Apache על אותם אישורים שהצהרת עבור Postfix, וזה נכון.
[root @ linuxbox ~] # ננו /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/fromlinux.fan.crt
SSLCertificateKeyFile /etc/pki/tls/private/fromlinux.fan.key
[root @ linuxbox ~] # שירות httpd מחדש
[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 מהקובץ /etc/pki/tls/dhparams.pem. אם מדובר בגרסה 2.4.8 ואילך, נצטרך להוסיף לקובץ /etc/httpd/conf.d/ssl.conf השורה הבאה:
SSLOpenSSLConfCmd DHParameters "/etc/pki/tls/private/dhparams.pem"
הגרסה של אפאצ'י בה אנו משתמשים היא:
[root @ linuxbox tls] # yum info httpd
תוספים טעונים: המהיר ביותר מירור, langpacks טוען מהירויות מראה מתוך קובץ מארח שמור במטמון חבילות מותקנות שם: httpd אדריכלות: x86_64
גרסה: 2.4.6
שחרור: 45.el7.centos גודל: 9.4 M מאגר: מותקן ממאגר: Base-Repo סיכום: כתובת ה- URL של שרת ה- HTTP של אפאצ'י: http://httpd.apache.org/ רישיון: ASL 2.0 תיאור: שרת ה- HTTP של אפאצ'י הוא חזק , יעיל ומתרחב: שרת אינטרנט.
מכיוון שיש לנו גרסה לפני 2.4.8, אנו מוסיפים בסוף אישור ה- CRT שנוצר קודם לכן, את התוכן של קבוצת דיפי הלמן:
[root @ linuxbox tls] # חתול פרטי / dhparams.pem >> certs / desdelinux.fan.crt
אם ברצונך לבדוק שפרמטרי ה- DH נוספו כראוי לתעודת CRT, בצע את הפקודות הבאות:
[root @ linuxbox tls] # חתול פרטי / dhparams.pem ----- התחל פרמטרים DH ----- MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP /O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe 8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv /LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3 cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg== ----- END DH PARAMETERS ----- [root @ linuxbox tls] # חתולי 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== ----- END DH PARAMETERS -----
לאחר שינויים אלה, עלינו להפעיל מחדש את שירותי Postfix ו- httpd:
[root @ linuxbox tls] # הפעלה מחדש של תיקון השירות [root @ linuxbox tls] # שירות תיקון פוסט [root @ linuxbox tls] # הפעלה מחדש של שירות httpd [root @ linuxbox tls] # שירות httpd שירות
הכללת קבוצת Diffie-Helman בתעודות TLS שלנו עשויה להפוך את החיבור דרך HTTPS לאט יותר, אך תוספת האבטחה שווה את זה.
בודק סנאי
לאחר מכן שהאישורים נוצרו כראוי ושנאמת את פעולתם הנכונה כפי שעשינו באמצעות פקודות המסוף, הפנה את הדפדפן המועדף עליך לכתובת האתר 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 לגולות דואר 4096 22 במאי 12:39. drwx ------. 3 לגולות לגולות 75 מאי 22 11:34 .. -rw -------. 1 לגולות לגולות 72 מאי 22 11:34 dovecot.mailbox.log -rw -------. 1 לגולה לגולה 8 במאי 22 12:39 יונק-תוקף -ר - r - r--. 1 לגולות לגולאס 0 22 במאי 10:12 dovecot-uidvalidity.5922f1d1 drwxrwx ---. 2 דואר לגולה 56 מאי 22 10:23 תיבת דואר נכנס drwx ------. 2 לגולות לגולות 56 מאי 22 12:39 נשלח drwx ------. 2 לגולות לגולות 30 במאי 22 11:34 אשפה
הם מאוחסנים גם ב- / var / mail /
[root @ linuxbox ~] # פחות / 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 נמסר ל-: legolas@desdelinux.fan שהתקבל: על ידי desdelinux.fan (Postfix, מאת userid 0) id 7EA22C11FC57; שני, 22 במאי 2017 10:47:10 -0400 (EDT) תאריך: שני, 22 במאי 2017 10:47:10 -0400 אל: legolas@desdelinux.fan נושא: מבחן סוכן משתמש: Heirloom mailx 12.5 7/5 / גרסת MIME 10: 1.0 סוג תוכן: טקסט / רגיל; charset = us-ascii קידוד העברת תוכן: 7bit מזהה הודעה: <20170522144710.7EA22C11FC57@desdelinux.fan> מאת: root@desdelinux.fan (root) X-UID: 7 סטטוס: RO שלום. זוהי הודעת בדיקה מאת buzz@deslinux.fan שני 22 במאי 10:53:08 2017 Return-Path: X-Original-To: legolas@desdelinux.fan נמסר ל-: 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 דואר אלקטרוני: sendEmail-1.56 גרסת MIME: 1.0 סוג תוכן: מרובה חלקים / קשורים; boundary = "---- מפריד MIME עבור sendEmail-794889.899510057 / var / mail / legolas
סיכום סדרת מיני PAM
בדקנו את הליבה של Mailserver ושמנו דגש קטן על אבטחה. אנו מקווים שהמאמר משמש כנקודת כניסה לנושא כה מורכב ורגיש לטעויות, שכן הוא מיושם שרת דואר באופן ידני.
אנו משתמשים באימות משתמשים מקומי מכיוון שאם אנו קוראים את הקובץ כהלכה /etc/dovecot/conf.d/10-auth.conf, נראה שבסופו של דבר זה נכלל -כברירת מחדל- קובץ האימות של משתמשי המערכת ! כולל auth-system.conf.ext. בדיוק קובץ זה אומר לנו בכותרת שלו כי:
[root @ linuxbox ~] # פחות /etc/dovecot/conf.d/auth-system.conf.ext
# אימות למשתמשי מערכת. כלול מ- 10-auth.conf. # # # # אימות PAM. מועדף כיום על ידי רוב המערכות.
# PAM משמש בדרך כלל עם uswdb passwd או usdb סטטי. # זכור: תזדקק לקובץ /etc/pam.d/dovecot כדי שאימות PAM # יפעל בפועל. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [cache_key = ] [ ] # ארגז = יונה}
והקובץ האחר קיים /etc/pam.d/dovecot:
[root @ linuxbox ~] # cat /etc/pam.d/dovecot #% PAM-1.0 אימות נדרש pam_nologin.so אימות כולל חשבון אימות סיסמא כולל אימות סיסמא אימות כולל אימות סיסמא
מה אנו מנסים להעביר לגבי אימות PAM?
- CentOS, Debian, Ubuntu והרבה הפצות לינוקס אחרות מתקינות את Postifx ו- Dovecot כשהאימות המקומי מופעל כברירת מחדל.
- מאמרים רבים באינטרנט משתמשים ב- MySQL - ולאחרונה גם ב- MariaDB - כדי לאחסן משתמשים ונתונים אחרים הנוגעים לשרת Mails. אבל אלה שרתים עבור אלפי משתמשים, ולא עבור רשת SME קלאסית עם - אולי - מאות משתמשים.
- אימות באמצעות PAM הוא הכרחי ומספיק בכדי לספק שירותי רשת כל עוד הם פועלים על שרת יחיד כפי שראינו במיני סדרה זו.
- משתמשים המאוחסנים במסד נתונים של LDAP ניתנים למיפוי כאילו היו משתמשים מקומיים, ובאימות PAM ניתן להשתמש בכדי לספק שירותי רשת משרתי לינוקס שונים המשמשים כלקוחות LDAP לשרת האימות המרכזי. באופן זה, נעבוד עם אישורי המשתמשים המאוחסנים במסד הנתונים של שרת ה- LDAP המרכזי, ולא יהיה זה חיוני לקיים בסיס נתונים עם משתמשים מקומיים.
עד להרפתקה הבאה!
9 תגובות, השאר את שלך
האמינו לי שבפועל מדובר בתהליך שמספק ליותר מ- sysadmin כאבי ראש קשים, אני משוכנע שבעתיד זה יהיה מדריך עזר לכל מי שרוצה לנהל את המיילים שלהם, מקרה מעשי שהופך ל- abc כאשר שילוב פוסט-פיקס, יונה, סנאי ..
תודה רבה על תרומתך לשבח,
מדוע לא להשתמש ב- Mailpile בכל הנוגע לאבטחה עם PGP? כמו כן ל- Roundcube יש ממשק הרבה יותר אינטואיטיבי והוא יכול גם לשלב PGP.
לפני 3 ימים קראתי את הפוסט, אני יודע להודות לך. אני לא מתכנן להתקין שרת דואר אך תמיד מועיל לראות יצירת אישורים, שימושיים עבור יישומים אחרים והמדריכים הללו כמעט ולא יפוגו (במיוחד כאשר אתה משתמש ב- centOS).
מנואל צ'ילרו: תודה על קישור לבלוג שלך וממנו מאמר זה שהוא הליבה המינימלית של שרת דואר המבוסס על Postfix ו- Dovecot.
לטאה: כמו תמיד, ההערכה שלך מתקבלת מאוד. תודה.
דארקו: כמעט בכל המאמרים שלי אני אומר פחות או יותר ש"כולם מיישמים את השירותים עם התוכניות שהם הכי אוהבים. " תודה על התגובה.
מרטין: תודה גם לך על קריאת המאמר ואני מקווה שזה יעזור לך בעבודה שלך.
חבר המאמר העצום פדריקו. תודה רבה על טוטו כל כך טוב.
מצוין אם כי הייתי משתמש ב"משתמשים וירטואליים "כדי להימנע מהצורך ליצור משתמש מערכת בכל פעם שאני מוסיף אימייל, תודה למדתי הרבה דברים חדשים וזה סוג הפוסט שחיכיתי לו
אחר צהריים טובים,
הם יעודדו להכין אותו עם שרת ספריות Fedora + postifx + dovecot + Thunderbird או Outlook.
יש לי חלק אבל אני תקוע, אשמח לשתף את המסמך לקהילת @desdelinux
לא תיארתי לעצמי שהוא יגיע ליותר מ 3000 ביקורים !!!
ברכת לטאה!
עמית הדרכה מעולה.
האם תוכל לעשות זאת עבור דביאן 10 עם משתמשים ב- Active Directory המותקנים על Samba4 ???
אני מתאר לעצמי שזה יהיה כמעט זהה אך משנה את סוג האימות.
הקטע שאתה מקדיש ליצירת תעודות בחתימה עצמית מעניין מאוד.