Der perfekte Server – OpenSUSE 10.3 (32-bit)
9 Postfix mit SMTP-AUTH und TLS
Lass uns jetzt Postfix und Cyrus-SASL installieren:
yast2 -i postfix cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd procmail
Dann fügen wir die System Startup Links für Postfix und saslauthd hinzu und starten diese:
chkconfig –add postfix
/etc/init.d/postfix start
chkconfig –add saslauthd
/etc/init.d/saslauthd start
Danach erstellen wir die Zertifikate für TLS:
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Als Nächstes konfigurieren wir Postfix für SMTP-AUTH und TLS:
postconf -e ‚mydomain = example.com‘
postconf -e ‚myhostname = server1.$mydomain‘
postconf -e ‚mynetworks = 127.0.0.0/8′
postconf -e ’smtpd_sasl_local_domain =‘
postconf -e ’smtpd_sasl_auth_enable = yes‘
postconf -e ’smtpd_sasl_security_options = noanonymous‘
postconf -e ‚broken_sasl_auth_clients = yes‘
postconf -e ’smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains‘
postconf -e ‚inet_interfaces = all‘
postconf -e ‚alias_maps = hash:/etc/aliases‘
postconf -e ’smtpd_tls_auth_only = no‘
postconf -e ’smtp_use_tls = yes‘
postconf -e ’smtpd_use_tls = yes‘
postconf -e ’smtp_tls_note_starttls_offer = yes‘
postconf -e ’smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key‘
postconf -e ’smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt‘
postconf -e ’smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem‘
postconf -e ’smtpd_tls_loglevel = 1′
postconf -e ’smtpd_tls_received_header = yes‘
postconf -e ’smtpd_tls_session_cache_timeout = 3600s‘
postconf -e ‚tls_random_source = dev:/dev/urandom‘
Um TLS Verbindungen in Postfix zu aktivieren, bearbeite /etc/postfix/master.cf und aktiviere die Zeile tlsmgr so, dass sie wie folgt aussieht:
vi /etc/postfix/master.cf
[...] tlsmgr unix - - n 1000? 1 tlsmgr [...] |
Starte Postfix nun neu:
/etc/init.d/postfix restart
Um zu sehen, ob SMTP-AUTH und TLS richtig funktionieren, lass folgenden Befehl laufen:
telnet localhost 25
Nachdem Du die Verbindung zu Deinem Postfix Mail Server erstellt hast, tippe
ehlo localhost
Wenn Du die Zeilen
250-STARTTLS
und
250-AUTH LOGIN PLAIN
siehst, ist alles Bestens.
Auf meinem System sieht die Ausgabe wie folgt aus:
server1:/etc/postfix/ssl # telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‚^]‘.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
server1:/etc/postfix/ssl #
Tippe
quit
um zur Kommandozeile zurück zu kehren.
10 Courier-IMAP/Courier-POP3
Ich möchte einen POP3/IMAP Daemon verwenden, der Maildir Unterstützung hat. Daher verwende ich Courier-IMAP und Courier-POP3.
yast2 -i courier-imap fam-server courier-authlib expect tcl
Danach fügen wir die System Startup Links hinzu und starten POP3, IMAP, POP3s und IMAPs:
chkconfig –add fam
chkconfig –add courier-authdaemon
chkconfig –add courier-pop
chkconfig –add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig –add courier-pop-ssl
chkconfig –add courier-imap-ssl
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start
Wenn Du ISPConfig nicht benutzen möchtest, dann konfiguriere Postfix um E-mails zum Maidir* eines Nutzers zuzustellen:
postconf -e ‚home_mailbox = Maildir/‘
postconf -e ‚mailbox_command =‘
/etc/init.d/postfix restart
*Achtung: Wenn Du die Absicht hast ISPConfig auf Deinem System zu verwenden, brauchst Du dies nicht zu tun, da ISPConfig die nötige Konfiguration vornimmt indem es Procmails Rezepte verwendet. Aber bitte vergewissere Dich, Maildir unter Management -> Server -> Settings -> EMail im ISPConfig Web Interface zu aktivieren.