The Net Wizard HauptseiteISP SetupNetzwerkeVelotourenSoftwareKryptografieVaria

Postfix

Der nächste Baustein in meinem Setup ist Postfix. Postfix fungiert als Mail Transfer Agent (MTA), ist also für den Empfang und das Versenden von Emails zuständig. Betrachten wir diese beiden Vorgänge einmal etwas detailierter:

Überblick

Das folgende Schema zeigt, wie Emails transportiert werden, und welche Protokolle dabei vorkommen:
ISP setup

Als erstes verschickt der Sender ein Mail. Dabei erstellt er eine smtp Verbindung zu einem Server, der es ihm erlaubt, über ihn Mails zu versenden. Solche Server werden Mail Transfer Agent (MTA) genannt. Der erste MTA macht nun einen dns request, um den mx record zu finden, der zur domain der Empfängeradresse gehört. Es kann duchaus vorkommen, dass mehrere MTA's in der Kette vorkommen, bis der eigentlich zuständige Server erreicht wird. Dieser nimmt dann die Email entgegen und übergibt sie dem Mail Delivery Agent, der sie wiederum abspeichert. Der Empfänger kann die Email dann mitels seines Mailclients über pop resp. imap anschauen.

Versenden von Emails.

Theoretisch könnte jeder Mailclient seine Emails auch direkt verschicken. Das ist allerdings problematisch, da viele Provider die entsprechenden Ports in ihren Netzen blockieren, um gegen das Aufkommen von unerwünschten Werbemails (Spam) zu wirken. Zudem markieren viele MTAs Emails als Spam, wenn sie von dynamischen Adressen kommen. Aus diesem Grund sind die meisten Mailclients so konfiguriert, dass sie über einen Mailserver relayen. Dabei geschieht folgendes:
  1. Der Client verbindet sich mit dem Server über Port 25 oder Port 587. Dabei sendet er seine login Daten an den Server. Dies kann wahlweise verschlüsselt oder unverschlüsselt geschehen.
  2. Der Server fragt beim imap daemon an, ob die login Daten korrekt sind.
  3. Der imad daemon überprüft die Daten mit der Datenbank. Falls die daten korrekt sind, erlaubt der Server das versenden einer Email.
Damit dieser Teil funktioniert, sind folgende Konfigurationen notwendig: In /etc/postfix/master.cf:
587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
Dies stellt sicher, dass Port 587 (submission) zur Verfügung gestellt wird, und auf diesem port smtp authentication erlaubt ist.
In /etc/postfix/main.cf:
smtpd_client_restrictions =
    check_sender_access hash:/etc/postfix/access
    permit_mynetworks
    sleep 2
    reject_unauth_pipelining
smtpd_sender_restrictions =
    check_sender_access hash:/etc/postfix/sender-access
#enable smtp authentication through dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
#virus/spam filtering
content_filter = amavis:[127.0.0.1]:10024
#enable transport layer security
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_cert_file = /etc/postfix/smtpd_new.cert
smtpd_tls_key_file = /etc/postfix/smtpd_new.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
myorigin = name.example.com
#who is allowed to relay
smtpd_relay_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_unknown_recipient_domain,
    reject_unknown_sender_domain,
    check_recipient_access,
    regexp:/etc/postfix/rcpt_access,
    check_policy_service,
    inet:127.0.0.1:10023,
    reject_unverified_recipient
Einstellungen für das relayen von Emails.

Empfangen von Emails.

Powered by w3.css