Das Perfekte Setup - Ubuntu 6.06 LTS Server (Dapper Drake) - Seite 4

11 Postfix mit SMTP-AUTH und TLS

Um Postfix mit SMTP-AUTH und TLS zu installieren, führe folgende Schritte aus:

apt-get install postfix libsasl2 sasl2-bin libsasl2-modules libdb3-util procmail

Zwei Fragen werden Dir gestellt. Antworte wie folgt:

General type of configuration? <-- Internet Site
Mail name? <-- server1.example.com

Führe dann Folgendes aus

dpkg-reconfigure postfix

Wieder werden Dir einige Fragen gestellt:

General type of configuration? <-- Internet Site
Where should mail for root go <-- NONE
Mail name? <-- server1.example.com
Other destinations to accept mail for? (blank for none) <-- server1.example.com, localhost.example.com, localhost
Force synchronous updates on mail queue? <-- No
Local networks? <-- 127.0.0.0/8
Use procmail for local delivery? <-- Yes
Mailbox size limit <-- 0
Local address extension character? <-- +
Internet protocols to use? <-- all

Führe als Nächstes dies aus:

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,reject_unauth_destination'
postconf -e 'inet_interfaces = all'
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

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

Dann konfigurieren wir Postfix für TLS:

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'
postconf -e 'myhostname = server1.example.com'

Die Datei /etc/postfix/main.cf sollte nun so aussehen:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h # TLS parameters smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom
Starte Postfix neu:

/etc/init.d/postfix restart

Die Authentifizierung wird von saslauthd ausgeführt. Wir müssen ein paar Dinge ändern, damit es richtig funktioniert. Da Postfix chrooted in /var/spool/postfix ausgeführt wird, müssen wir Folgendes unternehmen:

mkdir -p /var/spool/postfix/var/run/saslauthd

Nun müssen wir /etc/default/saslauthd bearbeiten um saslauthd zu aktivieren. Entferne # vor START=yes und füge die Zeile PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" hinzu:

vi /etc/default/saslauthd


# This needs to be uncommented before saslauthd will be run automatically
START=yes PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" # You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for PAM support, but may also include # "shadow" or "sasldb", like this: # MECHANISMS="pam shadow" MECHANISMS="pam"
Wir müssen außerdem /etc/init.d/saslauthd bearbeiten und den Ort von saslauthds PID Datei ändern. Ändere den Wert von PIDFILE zu /var/spool/postfix/var/run/${NAME}/saslauthd.pid:

vi /etc/init.d/saslauthd


[...]
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid" [...]
Starte nun saslauthd:

/etc/init.d/saslauthd start

Um herauszufinden, ob SMTP-AUTH und TLS richtig funktionieren, führen wir folgenden Befehl aus:

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server eingerichtet hast, gib ein

ehlo localhost

Wenn Du die Zeile

250-STARTTLS
und

250-AUTH
siehst, ist alles in Ordnung.


Gib ein

quit

um zur Kommandozeile des Systems zurückzukehren.

12 Courier-IMAP/Courier-POP3

Führe dies aus um Courier-IMAP/Courier-IMAP-SSL (für IMAPs auf Port 993) und Courier-POP3/Courier-POP3-SSL (für POP3s auf Port 995) zu installieren:

apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0

Zwei Fragen werden Dir gestellt:

Create directories for web-based administration ? <-- No
SSL certificate required <-- Ok

Wenn Du ISPConfig nicht verwenden möchtest, konfiguriere Postfix so, dass es E-Mails an eine Maildir* des Benutzers sendet:

postconf -e 'home_mailbox = Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart

*Bitte beachte: Diesen Schritt musst Du nicht ausführen, wenn Du vorhast ISPConfig auf Deinem System zu verwenden, da ISPConfig die notwendige Konfiguration unter Verwendung von procmail recipes vornimmt. Aber bitte vergewissere Dich, dass Du Maildir unter Management -> Server -> Settings -> EMail im ISPConfig Web Interface freischaltest.

0 Kommentar(e)

Zum Posten von Kommentaren bitte