Postfix mit DKIM, SPF und DMARC ausstatten

Logo von Postfix

Viele Betreiber von kleineren Email-Servern kennen das Problem, dass die großen Anbieter die Mails von ihren Servern gerne mal als Spam einsortieren. t-online.de geht sogar soweit, dass sie Mails von kleinen Servern direkt abweisen und man muss erst durch Email an die angegebene Email-Adresse seinen Mailserver freischalten lassen. Mit einer neuen IP-Adresse beginnt das Spiel dann von neuem.
Daher ist es sinnvoll seine Mails mit allem Möglichen und möglichst fehlerfrei auszustatten was als state-of-the-art auf dem Gebiet der Email-Sicherheit betrifft gilt. Die Sinnhaftigkeit und Wirkung dieser Maßnahme was das Identifizieren von potentiellen Spam betrifft braucht man da nicht in Frage zu stellen denn oft macht es wenig sinn denn niemand verhindert, dass Spammer die gleichen Methoden benutzen. Gängig auf dem Gebiet ist DKIM, SPF und DMARC. Interessanterweise haben viele größere Email-Provider Probleme mit ihrer eigenen korrekten Implementierung oder verzichten ganz darauf.

Wikipedia definiert folgendes:

  • DKIM: DomainKeys, auch bekannt unter DomainKeys Identified Mail (DKIM), ist ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern. Es wurde konzipiert, um bei der Eindämmung von unerwünschter E-Mail wie Spam oder Phishing zu helfen.
  • SPF: Das Sender Policy Framework (SPF; früher Sender Permitted From) ist ein Verfahren, mit dem das Fälschen der Absenderadresse einer E-Mail verhindert werden soll, genauer das Versenden von E-Mail über nicht legitimierte Mail Transfer Agents (MTAs) unterbindet. Es entstand als Verfahren zur Abwehr von Spam. Bei SPF trägt der Inhaber einer Domain in das Domain Name System ein, welche Adressen von MTAs zum Versand von E-Mails für diese Domain berechtigt sind.
  • DMARC: Domain-based Message Authentication, Reporting and Conformance (DMARC) ist eine Spezifikation, die entwickelt wurde, um den Missbrauch von E-Mails zu reduzieren, wie er etwa bei Mail-Spoofing vorkommt. DMARC versucht einige seit langem bestehende Unzulänglichkeiten im Zusammenhang mit der Authentifizierung von E-Mails zu beheben und wurde bei der IETF zur Standardisierung eingereicht.

Weiterlesen

Ein wenig zu Postfix und der Mailqueue

Logo von Postfix

Postfix ist ein weit verbreiteter Mail Transfer Agent (MTA) der auch bei mir in Benutzung ist. Seltsamerweise ist Email eine der komplexesten Dienste auf einem Server. Daher kann es durchaus vorkommen, dass etwas nicht rund läuft. Hier soll in einem kurzen How-To die Mailqueue von Postfix behandelt werden. Für mich soll das hier so etwas wie ein Spickzettel sein denn der Umgang mit der Mailqueue ist alles andere als intuitiv und offensichtlich. Postfix sammelt dort alle Mails die eintreffen oder versandt werden sollen die aus welchen Gründen auch immer nicht sofort abgearbeitet werden können. Die aktuelle Mailqueue kann man sich mit mailq anzeigen lassen und sie sollte eigentlich so aussehen:

# mailq
Mail queue is empty

Weiterlesen

Ein Let’s Encrypt TLS-Zertifikat für Postfix statt ein selbstsigniertes Zertifikat

Logo von Postfix

Ich betreibe auf dem Server auch eine Nextcloud-Installation als Groupwarelösung. D.h. mein Kalender ist über mehrere Geräte abrufbar und auch teilbar, Emails können über ein Webmailer (Rainloop) versandt werden – leider ohne vernünftigen Unterstützung von GPG da man dazu den privaten Schlüssel auf dem Server hinterlegen müsste und ich einen Yubikey benutze welcher nicht unterstützt wird. Nun wollte ich für Nextcloud die Emailfunktion einrichten damit ich per Email an Termine erinnert werden kann. Trotz korrekter Verbindungsdaten funktionierte dies nicht und /var/log/mail.log quitierte die Testmail mit folgender Fehlermeldung:

postfix/smtps/smtpd[25336]: warning: TLS library problem: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:../ssl/record/rec_layer_s3.c:1544:SSL alert number 48:

Nach einer Recherche stellte sich heraus, dass sich Nextcloud an dem selbst-signierten TLS-Zertifikat stört. Andere Mailer K-9 und Thunderbird scheint das nicht zu stören da Email ansonsten funktioniert. Seit einer Weile kann man von Let’s Encrypt kostenlose Zertifikate bekommen, was ich auch reichlich auf Websites benutze. Nun gilt es das TLS-Zertifikat von Postfix auf eines von Let’s Encrypt umzustellen. Dazu muss zunächst einmal ein Zertifikat beantragt werden. Dies erfolgt mit dem Client certbot der jedoch mit apt-get install certbot installiert werden muss.

Weiterlesen

Error: net_connect_unix(/var/run/dovecot/stats-writer) failed

Käfer (Bug)

Ich habe einen Server der als Grundlage nach dieser Anleitung mit Postfix und Dovecot erstellt wurde. Die Tage ist mir dann aufgefallen, dass Dovecot bei jeder empfangenen Email folgende Fehlermeldung in /var/log/mail.log hinterlässt:

Jul 26 02:33:21 example postfix/pipe[10873]: 4081A2B819F3: to=<user@example.com>, relay=dovecot, delay=0.25, delays=0.09/0.04/0/0.11, dsn=2.0.0, status=sent (delivered via dovecot service (lda(user@example.com,)Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: Permissi))

Weiterlesen

ISPConfig mit Postfix, Apache2, Spamfilter usw. einrichten (Teil 3 – Postfix, Dovecot und Mariadb installieren)

Logo von Debian

Nachdem wir im 2. Teil weitere Vorarbeiten erledigt haben kommt nun der Postfix dran. Postfix ist ein Mail Transfer Agent (gemeinhin auch Mailserver genannt der angetreten ist die Schwachstellen des sendmail zu beseitigen. Postfix ist ein sehr modular aufgebauter MTA dessen Softwaredesign auf Sicherheit ausgelegt ist. Postfix besitzt nur zwei Konfigurationsdateien und ist deshalb deutlich konfigurationsfreundlicher als sendmail – was darüber hinaus irgendwann auch für seine geballte Ladung an Sicherheitslücken bekannt war. Postfix funktioniert unter Debian in einfacher Form fast ohne Eingreifen von root und Alpine als Mailclient aber wir möchten ja ein modernes Mailsystem auf SQL-Basis aufbauen. Zunächst müssen die Pakete installiert werden und dazu wird der gute alte apt-get bemüht:

apt-get install postfix postfix-mysql postfix-doc

Dabei wird exim4 vom Server entfernt und Postfix lassen wir gerade unkonfiguriert. Ein:

apt-get remove --purge exim4

entsorgt auch die letzten Exim4-Reste.

Mittlerweile überflüssige Pakete kann man mit:

apt-get autoremove

entfernen.

Weiterlesen

ISPConfig mit Postfix, Apache2, Spamfilter usw. einrichten (Teil 2 – Allgemeine Software installieren)

Logo von Debian

Im ersten Teil dieser Serie wurden die Einstellungen am DNS-System vorgenommen die für den Betrieb eines Mailservers (MTA) nötig sind. Nun ist es an der Zeit die nötige Software zu installieren. Ursprünglich hatte ich vor, das ganze in ziemlich einem Rutsch zu machen aber das erwies sich bei der großen Menge an Paketen als zu fehlerträchtig bzw. als unpraktikabel zur Fehlersuche.

Allgemeine Software

Natürlich sind die Ansprüche an die Auswahl an Paketen recht individuell und die Images der Serverprovider sind mit Minimalinstallation mit unterschiedlicher Software ausgestattet. Man muss unter Debian/apt nicht nachschauen ob man ein bereits installiertes Paket noch einmal installieren will denn apt-get erkennt das.

  • Editor – Linux bietet eine große Anzahl an Editoren und viel davon haben eine fast religöse Anhängerschaft. Wir werden hier eine größere Anzahl an Konfigurationsdateien bearbeiten so das wir einen Texteditor brauchen der einem liegt und den man in der Konsole benutzen kann. Ich selber nutze normalerweise vi oder nano. Statt vi installiere ich mir noch den vim der sich etwas intuitiver als der orginal vi bedienen lässt. Ein beherztes apt-get install nano vim befördert die beiden Pakete auf die Festplatte.

Weiterlesen

ISPConfig mit Postfix, Apache2, Spamfilter usw. einrichten (Teil 1 – Allgemeine Vorarbeiten und DNS-Einstellungen)

Logo von Debian

Diese Anleitung geht von einem vServer oder Root-Server aus der unter Debian 9 frisch installiert ist. Debian 10 ist leider noch nicht allgemeiner Standard bei den Providern. Zunächst wird also Debian auf den neusten Stand gebracht. Leider unterstützen manche Provider heute noch nicht Debian 10 aber die Anleitung sollte zum Größtenteil auch unter Debian 9 funktionieren. Ich habe das hier auf einem vServer von Strato und einer kostenlosen .tk-Domain nachgestellt.

Bitte nicht auf einem Home-Server mit dynamischer IP-Adresse in den Produktivbetrieb umsetzen denn das wird in die Hose gehen. Auch sollte man genug Linux-Kenntnisse mitbringen um evtl. Kleinigkeiten zu fixen denn jedes Provider-Image sieht anders aus und beinhaltet andere Pakete. Die Anleitung ist absolut nichts für Anfänger geeignet es ein komplexes System ist was fortgeschrittene Kenntnisse erfordert. Verschiedene Provider-Images enthalten auch Software die nicht benötigt wird und das Betriebssystem anfällig für Angriffe machen. Daher alles nicht benötigte, vor allem an Daemons die auf Netzwerkschnittstellen lauschen deinstallieren.

Ein Mailserver ist komplex und nicht ganz einfach zu installieren, zu konfigurieren und zu administrieren. Diese Anleitung ist zwar von

Als Domainnamen werde ich hier exemplarisch example.com und als IP-Adresse die 10.0.0.1 verwenden. Diese müssen selbstverständlich an die gegebenen Verhältnisse angepasst werden.

Weiterlesen

kais-universum.de