Postfix'i SMTP AUTH üle TLS vastu Postgresql baasi Debianiga
Sisukord
Sissejuhatus
Eesmärgiks on seadistada käima Postfix SMTP server selliselt, et kirja väljasaatmiseks saaks kasutaja suvaliselt ip aadressilt pöörduda, kasutaja autenditakse ning kasutaja saab kirju välja saata. Autentimine on oluline kuna vastasel korral oleks tegu nn avaliku releega (ingl. k. open relay).
Postgresql andmebaasi ettevalmistamine
TODO
SASL ettevalmistamine
Cyrus SASL teekide ja utiliitide paigaldamiseks tuleb öelda
# apt-get install libsasl2-modules sasl2-bin
SASL seadistusfailis /etc/default/saslauthd peab sisalduma
# egrep -v "^$|^#" /etc/default/saslauthd START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="pam" MECH_OPTIONS="" THREADS=5 OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Seadistusfailis näidatud kataloogis /var/spool/postfix/var/run/saslauthd asub nimega soket
# file /var/spool/postfix/var/run/saslauthd/mux /var/spool/postfix/var/run/saslauthd/mux: socket
ja ta asub /var/spool/postfix kataloogis, kuna postfix kasutaja töötab chroot keskkonnas.
PAM ettevalmistamine
# apt-get install libpam-pgsql
libpam-pgsql mooduli seadistusfail on /etc/pam_pgsql.conf
host= 192.168.1.247 database = auth user = cyrus password = parool table = cyrus user_column = username pwd_column = passwd expired_column = expire_status newtok_column = newtok debug pw_type = md5
Postfix kasutab autentimiseks moodulit /etc/pam.d/smtp mille sisu võiks olla selline
auth required pam_pgsql.so account required pam_pgsql.so password required pam_pgsql.so
SASL ja PAM testimiseks sobib öelda
$ testsaslauthd -u mart -p parool -f /var/spool/postfix/var/run/saslauthd/mux -s smtp 0: OK "Success."
Postfixi ettevalmistamine
Selleks, et Postfix server teaks, kuidas SASL abil kasutajat autentida peab näitama /etc/postfix/sasl/smtpd.conf failis ära SASL soketi asukoha postfix kasutaja chroot keskkonna suhtes
# cat /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd saslauthd_path: /var/run/saslauthd/mux mech_list: plain login
Selleks, et server võimaldaks TLS-krüptida smtp klientide sissetulevaid ühendusi peavad olema seadistusfailis main.cf read
smtpd_tls_key_file = /etc/postfix/serdid/smtp.loomaaed.tartu.ee.pem smtpd_tls_cert_file = /etc/postfix/serdid/smtp.loomaaed.tartu.ee.crt smtpd_tls_CAfile = /etc/postfix/serdid/loomaaed-ca.crt smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
kus
- smtpd_tls_key_file näitab, millises failis asub sertifikaadile vastav salajane võti
- smtpd_tls_cert_file näitab, millises failis asub sertifikaat
- smtpd_tls_CAfile näitab, millises failis asuvad sertifikaadi allkirjastanud ahela ülemised sertifikaadid
Selleks, et teha kindlaks, kas postiserver toetab SMTP STARTSSL laiendust sobib öelda
$ openssl s_client -starttls smtp -showcerts -connect 192.168.1.251:25
Kasulikud lisamaterjalid
- http://www.postfix.org/SASL_README.html
- zless /usr/share/doc/postfix/TLS_README.gz
- http://www.lxtreme.nl/index.pl/docs/linux/dovecot_postfix_pam
- http://www.fatofthelan.com/articles/articles.php?pid=22