UcallWeconn

Кіраўніцтва па Postfix ад Jeffrey Posluns


Original on http://www.posluns.com/guides/postfix_sasltls.html

This translation became possible due to efforts of world's most complete How To Call guide authors, who work for UcallWeconn a cheap VoIP provider in Denmark

Уводзіны

Агульныя Нататкі:

Гэты дакумент прызначаны для людзей, якія жадаюць наладзіць Postfix выкарыстаннем sasl2 аўтэнтыфікацыі і TLS шыфравання. Ён таксама можа быць скарыстаны для забеспячэння загалоўка з адпаведным праграмным забеспячэннем.

Важная Інфармація:

Выкарыстоўвайце гэтыя інструкцыі на свой страх і рызыку.
Ніколі не тэставаць у асяроддзі!

Гэтыя інструкцыі заснаваны на OpenBSD 3.2 з дрэва партоў па ўмаўчанні. OpenBSD пастаўляецца з OpenSSL ужо ўстаноўленым, аднак калі вы выкарыстоўваеце распаўсюд ці густы UNIX, якія не звязаны з OpenSSL, варта мець першы пакет для ўстаноўкі.
OpenBSD 3,2 дрэва ппартоў траўні Кір-SASL-2.1.7 даступная для ўстаноўкі па змаўчанні. Ажыццяўляецца проста; робіце ўстаноўку ў адпаведны каталог, які будзе клапаціцца толькі аб вас.
Дрэва партоў OpenBSD ідзе поруч з версіяй Postfix і здымак добра аб гэтым сведчыць. Варыянты, якія вы жадаеце ўключыць, можна праглядзець на здымку TLS, sasl2. Калі вы жадаеце выкарыстоўваць LDAP, PCRE, ці іншыя варыянты, проста пагледзіце ў Makefile і дазвольце адбыцца таму, чаго вы чакаеце.
Пакет, які будзе выкарыстоўвацца для мэт гэтага кіраўніцтва:
Postfix-1.1.11-20020917.tls0.8.11a-sasl2-sasl2-TLS была створана з опцыяй для здымка, TLS, sasl2 у Makefile. Заўважым, пазнейшы перагляд дрэва партоў можа мець абноўленыя версіі і гэта рэалізацыя была адмысловым выкарыстаннем 20020917. Нататка Гэтыя інструкцыі былі пратэставаны са здымкі Postfix 20030424 і 20030717 без якіх-небудзь праблем.

Sasl2 падрабязнасці:

Па-першае, пераканайцеся, што sasl2 правільна ўстаноўлены так, як вы хацелі. Напрыклад, канфігурацыі, файлы знаходзяцца ў /usr/local/lib/sasl2, і /usr/lib/sasl2 быў сімвалічна з ім злучаны. Файлы, якія былі пакінуты ў каталогу толькі тыя, якім пажадана знаходзіцца ў сістэме. Астатнія былі скапіяваны на /use/local/lib/sasl2_backup.
Бібліятэкі, выкарыстоўваемых на тэст-сістэмах, якія засталіся ў каталогу, прадстаўлены наступным чынам.

 libcrammd5
 libdigestmd5
 liblogin
 libplain
 libsasldb

Заўважым, для гэтай рэалізацыі Postfix толькі збіраемся выкарыстоўваць liblogin і libplain, які для яснай абароны текставага лагіна Libsasldb бібліятэк, абраў туннель (з дапамогай крыптаграфіі) SSL /TLS. Гэта будзе карысным, калі збіраецеся мець асобны файл з імёнамі і паролямі. MD5 бібліятэкі з'яўляюцца добрымі для аўтэнтыфікацыі сесіі, якія не абаронены ад крыптаграфіі.
Вы павінны стварыць файл у /usr/local/lib/sasl2 завецца smtpd.conf. Гэты файл павінен мець прававы доступ у 0644, і яго ўтрыманне павінна быць наступным:

 # Гэта ўстанаўлівае smtpd аўтэнтыфікацыю з выкарыстаннем saslauthd дамена.
 pwcheck_method: saslauthd
 # Гэта дазваляе толькі просты Лагін, як механізм праверкі сапраўднасці.
 mech_list: plain login

Зараз, калі sasl2 (аўтаномныя) наладка завершана, дамэн павінен быць запушчаны. У OpenBSD /etc/rc.local з'яўляецца лепшым месцам для гэтага. Вы павінны дадаць прыкладна наступны запіс у rc.local:

 # Sasl2 Дэман Аўтэнтыфікацыя
 # Гэта канфігурацыя мноства saslauthd на выкарыстанне файлавай сістэмы пароляў.
 if [ -x /usr/local/sbin/saslauthd ]; then
 /usr/local/sbin/saslauthd -a getpwent
 fi

Зараз sasl2 гатовая ды выкарыстання. Postfix траўні дадае некалькі простых канфігурацый /змены, якія неабходна зрабіць для таго, каб даручыць выкарыстанне новай сістэме аўтэнтыфікацыю.
У файле /etc/postfix/main.cf будзе кантраляваць наладкі для smtpd дамэнаў. Для таго, каб атрымаць гэту працу (без ажыццяўлення большіх змен), вы павінны ўстанавіць smtpd не ізаляваным. Пасля таго, як вы пацвердзілі, што SASL працуе без ізаляванасці, уключыце ізаляцыю і паспрабуйце прымусіць яго працаваць больш бяспечным спосабам.

service type private unpriv chroot wakeup maxproc command
smtp inet n n n - - smtpd

Адзначым, што ідэя вельмі дрэнная для unchroot, бо працэс можа працаваць ізалявана, калі гэта абсалютна неабходна! Для таго каб запусціць smtpd ізалявана, вам прыйдзецца скапіяваць шэраг файлаў у ізаляваную турму. Гэта будзе ўключаць усе адпаведныя файлы праверкі сапраўднасці, і ўсё астатняе, што вы дададзіце/змяніць, прывядзе да таго, што Postfix пачне патрабаваць файлы па-за ізаляванай турмы.

У файле /etc/Postfix/main.cf павінен мець некалькі дадаткаў у мэтах даручыць яго выкарыстоўваць sasl2:

 smtpd_sasl_auth_enable = yes
 smtpd_sasl_security_options = noanonymous
 smtpd_sasl_local_domain =

 broken_sasl_auth_clients = yes

Нататка: Па абмеркаванні ў спісе рассылання карыстачоў Postfix, есць вядомая праблема ў Postfix20020917/SASL2 дзе smtpd_sasl_local_domain опцыя павінна быць пакінута на пустыя (нулявыя) значэнні, у адваротным выпадку sasl2 не сапраўднасці.

Калі вы жадаеце дазволіць аўтарызаваным карыстачам для перадачы пошты, тыя вы таксама павінны дадаць smtpd_recipient_restrictions=permit_sasl_authenticated так main.cf. Smtpd абмежаванняў на ўезд павінен быць шмат больш, і павінна ўтрымоўваць больш абмежаванняў, як у наступным прыкладзе:

 smtpd_recipient_restrictions =
 permit_mynetworks,

 check_recipient_access hash:/etc/postfix/maps/access,
 reject_maps_rbl,
 reject_unknown_sender_domain,
 reject_unauth_pipelining,
 reject_unknown_recipient_domain,
 reject_non_fqdn_sender,

 reject_non_fqdn_recipient,
 reject_non_fqdn_hostname,
 permit_sasl_authenticated,
 check_relay_domains

Звернеце ўвагу, што запіс для reject_maps_rbl, верагодна, варта ў спісе раней абмежаванні, і як такая будзе залішнім тут. Акрамя таго, уступ reject_non_fqdn_hostname, верагодна, выкліча шмат праблем, у якасці прымалага боку, не заўсёды (ці нават частая) наладжаны поўныя даменныя імёны.

Для больш поўнага прыклад main.cf гл. http://www.posluns.com/files/main.cf

TLS падрабязнасці:

Вельмі важна разгледзець тое, як карыстальнікі будуць ажыццяўляць аўтэнтыфікацыю ў выглядзе адкрытага тэксту. Калі вы збіраецеся ажыццяўляць TLS (шыфраванне) у Postfix, то варта дадаць наступныя радкі ў ваш main.cf:

 # Гэта толькі дазволіць рабіць аўтэнтыфікацыю карыстальнікаў, як гэта некалькі разоў TLS было
 # прём і перадача інфармацыі ў зашыфраваным выглядзе.
 smtpd_tls_auth_only = yes

Для таго, каб выкарыстоўваць TLS, ваш сервер павінен мець сертыфікат у фармаце PEM. Калі вы збіраецеся ажыццявіць сертыфікацыю (за што павінны заплаціць), вам прыйдзецца стварыць сертыфікат па сваяму меркаванню. Самы просты тып сертыфіката на выкарыстанне - гэта самазавяраючыйся. PEM файл, які можа быць створаны з дапамогай OpenSSL.

Нататка: добры набор інструкцый для вырабу сертыфікатаў можна знайсці на http://www.eclectica.ca/howto/ssl-cert-howto.php.

Нататка: Іншым карысным метадам для стварэння самазавяраючага PEM файла з'яўляецца выкарыстанне mkimapdcert праграмы, якую пастаўляе Courier-IMAP. Гэта праграма, якая будзе ствараць сабе сертыфікат, завецца imapd.pem. Усё, што вам трэба зрабіць - гэта пераназваць smtpd.pem, перамясціць яго ў /etc/Postfix/SSL, і гэта CHMOD так 400.
Для таго, каб выкарыстоўваць сертыфікат, вам неабходна зрабіць наступныя дадаткі ў main.cf:

 smtp_use_tls = yes
 smtpd_use_tls = yes 
 smtp_tls_note_starttls_offer = yes 
 smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
 smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
 smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
 smtpd_tls_loglevel = 1

 smtpd_tls_received_header = yes
 smtpd_tls_session_cache_timeout = 3600s
 tls_random_source = dev:/dev/urandom

Канчатковыя дэталі:

Перазапускам, калі ўсе вышэй канфігурацыі завершаны, і зараз вы павінны мець sasl2 аўтэнтыфікацыю і TLS уключаны ў Postfix сервера.



Valid CSS Valid XHTML 1.0 Transitional

---