solip.de
Intel Channel Partner
Lancom Reseller

SMTP-Auth und TLS für Exim4 auf debian 5.0 (Lenny)

Erstellt von solip am Mittwoch 10. März 2010

Exim4 als Standard Mail Transport Agent (MTA) von debian kommt in zwei Varianten: light und heavy. Die Variante Heavy lässt sich gut für mehr als nur lokale Mailzustellung ausbauen. Sie bietet unter anderem von Haus aus Authentifizierung gegen /etc/passwd und /etc/shadow.

Hier eine kleine Anleitung um SMTP-Authentifizierung einzuführen und TLS-Transportverschlüsselung zu nutzen.

Zunächst mal muss das evtl. benutzte light-Paket von Exim4 gegen die heavy-Variante getauscht werden. Dies ist jederzeit ohne Änderungen an der Konfiguration möglich.

aptitude install exim4-daemon-heavy

Dann generieren wir ein X.509 Zertifikat für die Verschlüsselung. Exim4 hat dafür sein eigenes Tool und entsprechende Passagen in der Anleitung.

bash /usr/share/doc/exim4-base/examples/exim-gencert

Dies generiert uns Zertifikat und Key in /etc/exim4.

Nun ist die Exim4-Konfiguration für TLS anzupassen. Dazu fügen wir gem. Dokumentation ein:

2.1.3. Using Exim Macros to control the configuration" and "2.2.2. Enabling TLS support for Exim as server" from /usr/share/doc/exim4-base/README.Debian.gz, you should create a file with name /etc/exim4/conf.d/main/000_localmacros (split configuration) or /etc/exim4/exim4.conf.localmacros (non-split configuration), and insert lines as following:
#####################################################
### main/03_exim4-config_tlsoptions
#####################################################
MAIN_TLS_ENABLE = true
tls_on_connect_ports = 465

An gleicher Stelle kann auch noch bestimmt werden ob SMTP-AUTH verschlüsselt erfolgen muss oder nicht. Standard ist auch unverschlüsselt zugelassen.

auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

Ermöglicht nur verschlüsselten Verbindungen SMTP-AUTH zu benutzen.

Da wir gerne möchten das Exim4 uns SMTP verschlüsselt am dafür üblichen Port 465 zur Verfügung stellt, bearbeiten wir auch /etc/default/exim4 wie folgt:

# options for daemon listening on port 25
SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'

Damit Exim4 auch gegen die lokalen Benutzer authentifizieren kann, braucht der Daemon Zugriff auf /etc/shadow. Dazu müssen die Rechte geändert werden so das Exim4, welches als User Debian-exim und Gruppe Debian-exim (Schreibweise beachten) läuft, auch darauf zugreifen kann.

chgrp Debian-exim /etc/shadow
chmod g+r /etc/shadow

Nun müssen in der Sektion authenticators in der Exim4 Konfiguration PLAIN und LOGIN wie folgt aussehen. Anpassen oder ersetzen ist hier möglich.

plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_set_id = $2
server_condition = "${if pam{$2:$3}{1}{0}}"

login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_set_id = $1
server_condition = "${if pam{$1:$2}{1}{0}}"

Nun ist noch Exim4 mittels /etc/init.d/exim4 restart neu zu starten sowie die Logs und die Funktion zu prüfen.

Ein Kommentar zu “SMTP-Auth und TLS für Exim4 auf debian 5.0 (Lenny)”

  1. solip.de iT & Web » Blog Archiv » SMTP-Auth mit TLS und POP3 sowie IMAP mit TLS via Courier für Exim4 auf debian 5.0 (Lenny) sagt:

    […] SMTP-Auth und TLS für Exim4 auf debian 5.0 (Lenny) […]

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>