Postfix'i SMTP AUTH üle TLS vastu Postgresql baasi Debianiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 9. juuli 2009, kell 21:35 kasutajalt Imre (arutelu | kaastöö)

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"

SASL testimiseks sobib öelda

 $ testsaslauthd -u mart -p parool -f /var/spool/postfix/var/run/saslauthd/mux -s smtp
 0: OK "Success."

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

Postfixi ettevalmistamine

Selleks, et server võimaldaks 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