Das Perfekte Setup – CentOS 4.3 (64-bit)


9 Postfix mit SMTP-AUTH und TLS

Jetzt installieren wir Postfix und dovecot (dovecot wird unser POP3/IMAP Server sein):

yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot

Als Nächstes konfigurieren wir SMTP-AUTH und TLS:

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‘

Wir müssen /usr/lib64/sasl2/smtpd.conf bearbeiten, sodass Postfix PLAIN und LOGIN Logins zulässt. So sollte es aussehen:

vi /usr/lib64/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login

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

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‘

Nach diesen Konfigurationsschritten solltest Du nun eine /etc/postfix/main.cf Datei haben, die wie folgt aussieht (ich habe alle Kommentare entfernt):

vi /etc/postfix/main.cf

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix

mail_owner = postfix

inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost

unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.1.5/samples
readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
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
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
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

CentOS‘ dovecot daemon bietet standardmäßig nur IMAP und IMAPs Dienste. Da wir aber auch POP3 und POP3s möchten, müssen wir dovecot dementsprechend konfigurieren. Wir bearbeiten /etc/dovecot.conf und fügen die Zeile protocols = imap imaps pop3 pop3s ein:

vi /etc/dovecot.conf

[...]
# Base directory where to store runtime data.
#base_dir = /var/run/dovecot/

# Protocols we want to be serving:
#  imap imaps pop3 pop3s
protocols = imap imaps pop3 pop3s

# IP or host address where to listen in for connections. It's not currently
# possible to specify multiple addresses. "*" listens in all IPv4 interfaces.
[...]

Starte nun Postfix, saslauthd und dovecot:

chkconfig –levels 235 sendmail off
chkconfig –levels 235 postfix on
chkconfig –levels 235 saslauthd on
chkconfig –levels 235 dovecot on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/dovecot 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 aufgebaut hast, tippe

ehlo localhost

Siehst Du die Zeile

250-STARTTLS

und

250-AUTH

dann ist alles in Ordnung.

Tippe

quit

um zur Kommandozeile des Systems zurückzukehren.

9.1 Maildir

dovecot verwendet ein Maildir Format (nicht mbox), wenn Du also ISPConfig auf dem Server installierst, pass auf, dass Du Maildir unter Management -> Server -> Settings -> Email aktivierst. ISPConfig führt dann die notwendige Konfiguration aus.

Wenn Du ISPConfig nicht installieren möchtest, dann musst Du Postfix so konfigurieren, dass es E-Mails an eine Maildir des Benutzers sendet:

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

Das könnte Dich auch interessieren …