Skip to content

Mailserver und deren Betrieb

In den IT-spezifischen Medien war letzte Woche vermehrt von der SPAM-Welle zu lesen, mit der Erpressungstrojaner unters Volk gebracht werden sollten. Auch wir sind davon nicht verschont geblieben.
Weil wir unsere eigenen Mailserver betreiben, nehme ich dieses jetzt zum Anlass, einfach mal aufzuzählen, was man beim Betrieb eigener Mailserver beachten muss.

1. Mailserver wohnen in der DMZ
Mailserver, die direkt aus dem Internet erreichbar sein müssen, dürfen weder direkt im Internet stehen noch dürfen die im internen Netzwerk stehen oder auf dieses ungefiltert zugreifen.
Diese Systeme gehören in eine DMZ hinter einer Firewall oder einem Router mit Stateful Inspection Firewall. In der Firewall dürfen auch nur die nötigsten Ports geöffnet werden. Dieses sind im Regelfall:
- TCP/25 vom Internet zum Mailserver (E-Mail-Empfang)
- TCP/25 vom Mailserver zum Internet (E-Mail-Versand)
- UDP/53 vom Mailserver zu mehreren DNS-Servern (DNS-Auflösung für E-Mail-Versand und zur Blacklistabfrage)
- TCP/80, TCP/443 und eventuelle Spezialports vom Mailserver zu den Updateservern der AV-Lösungen und des Betriebssystems
- UDP/123 vom Mailserver zu mehreren Zeitservern (Zeitsynchronisation)

2. Mailserver kennen ihre Benutzer
Mailserver, die als Relay-Server agieren, benötigen immer eine Liste der erlaubten Benutzer.
Ein Relay darf niemals ohne Empfängerprüfung alles annehmen. Wenn dieser alles annehmen würde und die Entscheidung, ob ein Benutzer existiert oder nicht, liegt erst bei einem weiteren Server, wird man sehr schnell ein Versender von Backscatter-SPAM. Hierbei wird an den Mailserver eine E-Mail mit einem nicht vorhandenen Empfänger geschickt und die Absendeadresse ist das eigentliche Ziel des SPAMs. Sobald die E-Mail abgelehnt wird, erhält die gefälschte Absendeadresse den Hinweis, dass die Nachricht nicht zugestellt werden konnte. Der gewünschte Inhalt der E-Mail wird natürlich mit "zurückgeschickt".

3. Die Prüfung der E-Mails muss in Echtzeit erfolgen.
Ein versendender Mailserver baut eine Verbindung zum empfangenden Mailserver auf. Nach einer kurzen Vorstellung wird die eigentliche E-Mail übertragen. Im Regelfall wird direkt nachdem die Mail übertragen wurde, der Empfang bestätigt und die Verbindung beendet. Eventuelle Prüfungen auf SPAM oder Malware erfolgt danach. Bei einer negativen Prüfung wäre es jetzt so, dass man den Versender darüber informieren müsste, dass die Mail nicht zugestellt werden kann. Damit hätten wir das gleiche Problem wie in Punkt 2. Mit einer gefälschten Absendeadresse könnte man dieses wunderbar für Backscatter-SPAM nutzen.
Zeitgleich ist es aber auch so, dass der versendende Mailserver die E-Mail als erfolgreich versandt abgelegt hat. Dieses kann oder wird später rechtliche Auswirkungen haben. Wenn jetzt ein rechtlich relevantes Dokument verschickt werden würde, aber die E-Mail-Filterung lehnt diese im Nachhinein ab, dann gilt das Dokument trotzdem als zugestellt.

Unter Postfix gibt es zwei Möglichkeiten, um einen E-Mail-Filter wie amavisd-new einzuhängen. Die bekannte Variante wäre der Eintrag content_filter. Hierbei nimmt der Mailserver erst die Mail an, bestätigt den Empfang und gibt die Mail dann zur Prüfung weiter. Also genau das Verhalten, was Mist ist.
Die andere Möglichkeit ist smtpd_proxy_filter. Hier wird die Mail in Echtzeit in die Prüfung gegeben. Der versendende Mailserver bekommt das OK oder die Ablehnung noch während der bestehenden Verbindung. Wenn die Mailannahme verweigert wird, dann ist auch der versendende Mailserver für die Information an den Versender verantwortlich. Wir als Empfänger sind fein raus.

4. Blacklists immer unter Beobachtung halten
Eine gängige Methode, um SPAM zu vermeiden, ist bestimmte Server auszuschließen. Dazu werden von zig verschiedenen Betreibern Blacklists mit den verschiedensten Kriterien angeboten. So ist es z.B. üblich, dass man von Internetanschlüssen mit dynamischer IP, wie z.B. private DSL-Anschlüsse, Schmalbandeinwahlzugänge, ... gar keine E-Mails direkt annimmt. Dafür gibt es z.B. SORBS-DUHL.
Alleine SORBS bietet 17 verschiedene Blacklists an.
Verlasst euch aber nie auf nur eine Liste und macht das Ergebnis einer Liste nicht zum Gesetz. Es passiert immer mal wieder, dass Server fälschlicherweise auf einer Liste landen. Hier ist es wichtig, auf ein Punktesystem zu setzen. Erst wenn ein Server auf mehreren Listen auftaucht, kann man sicher davon ausgehen, dass die Ablehnung gerechtfertigt ist. Dazu kann man z.B. policyd-weight nutzen.
Wichtig ist aber auch, dass man kontrolliert, ob die Blacklist noch existiert. Immer wieder gehen Blacklists vom Netz, weil der Betreiber diese nicht mehr pflegen kann oder will. Dazu findet man in den IT-Nachrichten und den Newslists der Blacklists frühzeitig entsprechende Informatonen. Häufig erhält man nach Betriebsende dann für jede Anfrage eine positive Antwort, womit jeder Mailserver als SPAM-Quelle markiert wird.

5. abuse und postmaster
Nach RFC 822 und 1123 müssen alle E-Mail-Domains über die Adressen abuse@domain.tld und postmaster@domain.tld verfügen. An diese Adressen wenden sich z.B. andere Mailserverbetreiber, wenn es bei der Übermittlung zu Problemen kommt oder wenn es zum Versand unterwünschter Nachrichten kommt.
Bei diesen E-Mail-Adressen sollte man auf jegliche SPAM-Filterung verzichten. Für man diese filtern, würden eventuelle Fehler beim Einsatz einer Blacklist, nicht zum postmaster durchkommen.
Jetzt könnte man denken, dass diese Adressen prädestiniert für SPAM sind, aber dem ist nicht so. Ich glaube, ich habe über diese Adressen, die ich für mehrere Domains empfange, noch nie nur eine SPAM-Nachricht bekommen.

6. Die Sache mit den E-Mail-Anhängen
Die meiste Schadsoftware wird als Anhang verschickt. Je nach Laune wird eine exe-Datei mit dem Logo des Adobe Readers versehen und dann Rechnung.pdf.exe genannt. Durch die Standardeinstellung von Windows sieht ein Benutzer nur eine Rechnung.pdf mit dem Adobe Reader-Logo. Für den Benutzer scheint es eine pdf-Datei zu sein. Und damit ist es schon zu spät, der Rechner ist Teil eines Botnetzes.
Jetzt blockieren viele Mailprogramme und Mailprovider den direkten Zugriff auf angehängte exe-Dateien. Jetzt packt der Versender die Datei einfach in eine zip-Datei und die Mail geht problemlos durch bis zum Empfänger. peng
Aus diesem Grund sollte man Dateianhänge nach Endung und mime-Typ filtern. Um ein Umschiffen dieser Filterung zu verhindern, sollte diese auch Filterung auch auf den Inhalt von komprimierten Archiven erweitert werden.
Ausführbare Dateien haben, egal wie, im E-Mail-Verkehr nichts verloren. Sollte es doch zwingend nötig sein, so kann man die Dateien aus der Quarantäne laden oder man richtet eine spezielle E-Mail-Adresse ein, bei der die Prüfung teilweise oder gesamt abgeschaltet ist. Diese E-Mail-Adresse gibt man nur an einen stark eingeschränkten Personenkreis weiter.

7. Schadsoftware bleibt draußen
Es ist wichtig, dass Schadsoftware davon abgehalten wird, dass Netzwerk zu betreten. Daher muss eine E-Mail während des Empfangs auf einen eventuellen Befall geprüft werden. Wenn es sich um eine Archivdatei handelt, also zip und Konsorten, muss der komplette Inhalt geprüft werden.
Bei der Prüfung sollte man sich nicht auf eine einzige Antivirenlösung verlassen. Auch wenn kommerzielle Lösungen teilweise recht teuer sind, sollte man abwägen, ob es nicht günstiger ist, die AV-Lösung zu erwerben, als mehrere Stunden oder Tage Betriebsausfall zu riskieren.
Man sollte es aber auch nicht übertreiben, zwei bis drei AV-Lösungen sind schon mehr als ausreichend. Wichtig dagegen ist eine Pflege. Regelmäßig sollte die Funktionsfähigkeit geprüft, die Logs ausgewertet und der Lizenzstatus überwacht werden. Die Signaturaktualisierung muss vollautomatisch erfolgen und im kürzestmöglichen Zeitraum. Es bringt nichts, wenn eine AV-Lösung zwar vorhanden, aber durch mangelnde Wartung funktionsunfähig ist.

8. Backups
Viele hassen Sie und noch weniger machen sie: Backups. Aber nur so verhindert man Datenverluste. Sehr viele sind der Meinung, dass ein RAID-System Backups unnötig macht. Aber Backups sind lebensnotwendig. Wichtig bei der Datensicherung ist, dass diese das gesicherte System verlassen und davon unabhängig sind. Eine angeschlossene USB-Festplatte ist zwar ein guter Anfang, kann aber bei einem Hardwaredefekt trotzdem beschädigt werden.
Eine Datensicherung muss sämliche Konfigurationsdateien, die Nutzdaten und die Logs beinhalten. Zusammen mit der Dokumentation hat man dann die Möglichkeit, das System sehr schnell wieder aufzubauen.

9. Regelmäßige Logauswertung
Nicht selten fallen IT-Systeme aus, weil Vorzeichen ignoriert wurden. Dafür hat jedes Betriebssystem seine Möglichkeiten. So verfügt Microsoft über die Ereignisanzeige und unter Linux findet man im Ordner /var/log sowie mit dem Programm dmesg sehr viele Logs und Systeminformationen. Wenn man hier regelmäßig einen Blick reinwirft, findet man schnell und frühzeitig Probleme, wie Hardwaredefekte, Sicherheits- und Konfigurationsprobleme. Hierüber findet man auch Informationen dazu, warum etwas nicht so klappt, wie es klappen sollte. Die meiste Zeit bei der Fehlersuche geht verloren, weil man die Logdateien nicht beachtet.

10. Kenne dein System
Besonders in kleineren Firmen ist es üblich, ein System nach Anleitung zu bauen, ohne entsprechendes Wissen zu haben. Wenn man nach Anleitung einen Linux-Mailserver aufbaut, funktioniert er. Vermutlich auch sehr lange und problemlos. Nur wenn es dann zu einem Problem kommt, sollte man wissen, was man macht. Die gängigen Befehle sollte man im Kopf haben. Unter Windows sollte man z.B. wissen, wo man im Betriebssystem, der Registry und in der Exchange Konsole die wichtigen Punkte findet. Unter Linux sollte man wissen, wie man sich auf der Shell bewegt, einen Editor bedient und wo welche Dateien liegen. Das man nicht alles wissen kann, sollte soweit klar sein, aber wenn man erstmal im Internet suchen muss, wie man nach /etc/postfix wechselt oder wie man sich die Warteschlange von Exchange anzeigen lassen kann, sieht man über kurz oder lang sehr alt aus.

11. Updates sind dein Freund
Da Mailserver sehr häufig ein interessantes Ziel für kriminelle Subjekte ist, sollte darauf geachtet werden, dass diese regelmäßig aktualisiert werden. Hierbei sollten alle Komponenten beachtet werden, also Betriebssystem, Software und Hilfsprogramme.

12. Trenne Empfang und Lagerung
Wenn die Möglichkeit besteht, sollte man auf mehrere Mailserver setzen. So sollte einer in der DMZ sitzen, die Mails empfangen und prüfen. Ein weiterer sollte im internen Netzwerk sitzen, auf dem die E-Mails abgelegt werden und über den die Benutzer auf ihre Postfächer zugreifen. So hat ein Angreifer keine Möglichkeit, auf die Postfächer zuzugreifen. Er kann nur E-Mails sehen, die gerade empfangen oder versandt werden.

13. Nur Mailserver dürfen E-Mails versenden
Besonders in kleinen Unternehmen findet man häufig nur einen einzigen Internetzugang mit einer einzigen IP-Adresse. Häufig kommt es dazu, dass man mit dem Mailserver keine E-Mails mehr versenden kann, weil irgendein Arbeitsplatzcomputer mit einer Schadsoftware versehen ist, die für den SPAM-Versand genutzt wird.
Weil sowohl Arbeitsplatzcomputer und Mailserver nach außenhin die gleiche IP-Adresse haben, landet diese sehr schnell auf einer Blacklist und der Versand von Mails wird unmöglich.
Dazu muss in der Firewall verhindert werden, dass Benutzer E-Mails direkt verschickt werden können. Dazu den Port TCP/25 ausgehend für alle Systeme, mit Ausnahme der Mailserver, sperren.
Im Idealfall sollte man trotzdem getrennte öffentliche IP-Adressen für Server und Clients nehmen.

14. Auch interne Mailserver nehmen E-Mails erst nach Anmeldung an
Interne Mailserver sollten so eingestellt sein, dass diese erst nach einer Anmeldung E-Mails von einem Client annehmen. So kann verhindert werden, dass eventuelle Schadsoftware direkten Zugriff auf den Mailserver nimmt und diesen für SPAM-Versand nutzt.

15. Achte auf korrekte DNS-Einträge
Ein Mailserver benötigt mehrere DNS-Einträge, die korrekt gesetzt sein müssen.
Die wichtigsten DNS-Einträge sind ein A-Eintrag, der einen Hostname für den Server anlegt, wie mail.domain.tld und auf die IP-Adresse zeigt.
Am Beispiel des Blogs gibt es einen Mailserver mit dem Fully Qualified Domain Name mail.schwachstromblog.de. Dazu zeigt der A-Eintrag mail auf die IP-Adresse 217.11.48.122.

Dies reicht aber noch nicht aus.
Dann wird noch ein MX-Eintrag benötigt. MX steht für Mail eXchanger. Diesen trägt man mit einer Priorität, z.B. 10, ein. Dieser zeigt dann auf den bereits erwähnten A-Eintrag.
Darüber können andere Mailserver jetzt herausfinden, wo Mails für eine bestimmte Domain abgeliefert werden müssen.

Jetzt kommen zwei Einträge, die häufig vergessen werden, aber für einen E-Mail-Versand zu bestimmten Anbietern essentiell sind.
Für die IP-Adresse mit ein PTR-Eintrag angelegt werden. Darüber kann eine IP-Adresse in eine FQDN übersetzt werden. Dieser PTR-Eintrag muss mit dem A-Eintrag übereinstimmen.

Wenn also der A-Eintrag für mail.schwachstromblog.de auf 217.11.48.122 zeigt, muss der PTR-Eintrag für 217.11.48.122 auf mail.schwachstromblog.de zeigen.

Wenige Mailserver prüfen auch noch, ob es für für Domain selbst einen A-Eintrag gibt. Also um beim Beispiel zu bleiben für schwachstromblog.de, ohne mail, ohne www, ohne irgendwas. Hier sollte ein Eintrag existieren und auf irgendeine IP-Adresse zeigen. Es ist zwar absolut zulässig, diesen Eintrag weg zu lassen, wenn man keine Internetseite betreibt, aber manche Provider verhalten sich hier komisch.

Wenn ihr auf dem Mailserver mehrere Domains betreibt, reicht es aus, wenn für alle weiteren Domains nur ein MX-Eintrag gesetzt wird. Dieser darf auf den bestehenden A-Eintrag zeigen.

Zum PTR-Eintrag sei noch gesagt, dass dieser von eurem Internetprovider angelegt werden muss. Nur dieser hat die Hoheit über die IP-Adressen.

So, das sind viele Informationen, aber es sind wichtige Informationen. Mailserver sind keine Systeme nach dem Schema "Fire&Forget". Diese sind heute ein wichtiger Teil der Unternehmenskommunikation, werden aber besonders bei kleinen Unternehmen stiefmütterlich behandelt. Irgendwann rächt es sich.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!