1 / 50

Mailserver unter Linux

Mailserver unter Linux. Martin Klisch 08689 http://www.klitec.de. Übersicht. 1 Die elektronische Post 1.1 Was ist elektronische Post 1.2 Geschichte der E-Mail 1.3 Abläufe des E-Mail-Transportsystems im Internet 1.4 Adressierung einer E-Mail 1.5 Aufbau und Formatierung einer E-Mail

evan
Download Presentation

Mailserver unter Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mailserver unter Linux Martin Klisch 08689 http://www.klitec.de

  2. Übersicht • 1 Die elektronische Post • 1.1 Was ist elektronische Post • 1.2 Geschichte der E-Mail • 1.3 Abläufe des E-Mail-Transportsystems im Internet • 1.4 Adressierung einer E-Mail • 1.5 Aufbau und Formatierung einer E-Mail • 2 Protokolle • 2.1 Simple Mail Transfer Protocol (SMTP) • 2.2 Post Office Protocol Version 3 (POP3)

  3. Übersicht • 2.3 Internet Message Access Protocol (IMAP) • 2.4 Spam und Malware • 3 Betrieb eines Mailservers • 3.1 Anforderungen an einen modernen Mailserver • 3.2 Was wird alles benötigt? • 3.3 Spamfilter • 4 Installation eines Mailservers • 4.1 Vorraussetzungen • 4.2 Installation der Programme • 4.3 Anlegen von Benutzern

  4. 1 Die elektronische Post • 1.1 Was ist elektronische Post? • Vergleichbar mit normalen Brief • Anschrift entspricht der Adresse • Briefkasten entspricht einem Mailserver • Abläufe im Postamt entsprechen Abläufe auf Mailserver • Transport nicht mit Postauto, sondern mit Hilfe eines Netzwerkes (Internet)

  5. 1 Die elektronische Post Anschrift Hochschule Merseburg Geusaer Straße 88 06217 Merseburg Hallo, Wie geht es dir? Mit freundlichen Grüßen Postkasten Brief

  6. 1 Die elektronische Post E-Mail Adresse Brief Server

  7. 1 Die elektronische Post • 1.2 Geschichte der E-Mail • Ursprung im ARPAnet in den 70er Jahren • Unter Benutzung schon existierender Protokolle wie FTP, TELNET oder UUCP • Anfang der 70er Jahre: „Mail Box Protocol“ • Versand wurde über so genannte Relays durchgeführt • 1982 Einführung des „Simple Mail Transfer Protocol“ (SMTP) • Spätere Erweiterung des zum „Simple Mail Transfer Protocol Service Extensions“ (ESMTP)

  8. 1 Die elektronische Post • Viele Jahrzehnte nur von Akademikern benutzt • Erst ab den 90er Jahren weite Verbreitung in der Öffentlichkeit • Ist neben dem World-Wide-Web eine der wichtigsten Anwendungen im Internet • Mail-Aufkommen steigt exponentiell an

  9. 1 Die elektronische Post • 1.3 Abläufe des E-Mail-Transportsystems im Internet • Die meisten TCP/IP Protokolle dienen der direkten Kommunikation zwischen zwei Hosts • Elektronische Post: Kommunikation direkt zwischen den Anwendern • Kommunikation läuft asynchron ab • Sehr große Verbreitung und Kompatibilität • Verschiedenste Arten von Endgeräten

  10. 1 Die elektronische Post • Gesamter Prozess besteht regulär aus fünf Schritten: • 1. Erstellung • 2. Übertragung • 3. Zustellung • 4. Empfang und Verarbeitung • 5. Zugriff und Abfrage • Erstellung und Übertragung sowie Empfang und Zugriff können auch zusammengefasst werden

  11. 1 Die elektronische Post Mailserver von Benutzer B Mailserver von Benutzer A SMTP SMTP Internet POP3 / IMAP SMTP Benutzer B Benutzer A

  12. 1 Die elektronische Post • Kein einzelner Standard • Bildet ein System aus verschiedenen Standards, die modular zusammengesetzt sind: • MTA (Mail Transfer Agent) • Erledigt Transport und Verteilung der Mails • MDA (Mail Delivery Agent) • Nimmt E-Mails an und verteilt sie auf Empfänger-Mailboxen • MRA (Mail Retrieval Agent) • Bietet gespeicherte E-Mails für den Mail User Agent an • MUA (Mail User Agent) • Programm, womit E-Mails gelesen, geschrieben, gesendet und verwaltet werden können

  13. 1 Die elektronische Post • Empfänger und Sender müssen nicht direkt miteinander kommunizieren können • Die beteiligten SMTP-Server müssen sich jedoch direkt erreichen können • Die POP3-/IMAP-Server müssen durchgehend von den abrufenden Clients erreichbar sein • -> Vorteil des gesamten Systems: Empfänger und Sender einer E-Mail müssen nicht durchgängig Online sein um E-Mails auszutauschen • Empfänger sucht sich selber aus, wann er die E-Mail abholen will

  14. 1 Die elektronische Post • 1.4 Adressierung einer E-Mail • E-Mail Adresse besteht immer aus zwei Teilen: martin.klisch@stud.hs-merseburg.de Lokaler Teil (Benutzername oder Mailboxname) Trennzeichen Domainname

  15. 1 Die elektronische Post • Der lokale Teil: • Ist innerhalb der Domain eindeutig • Darf nur Buchstaben und Zahlen sowie einige bestimmte Zeichen enthalten • Der lokale Teil einer E-Mailadresse ist Case-Sensitive • Der Domain-Teil: • Unterliegt den Regeln des DNS (a-z, 0-9,., -) • Domain muss existieren und sollte im Domain-Name-System einen MX-Eintrag besitzen

  16. 1 Die elektronische Post • MX-Eintrag • Legt fest zu welchem SMTP-Server eine E-Mail, die an eine bestimmte Domain adressiert ist, geliefert werden soll • Beispiel:

  17. 1 Die elektronische Post • 1.5 Aufbau und Formatierung einer E-Mail • Folge von ASCII Zeichen • Codierung in 7 Bit -> Umlaute müssen anders dargestellt werden • Eine E-Mail besitzt zwei Teile: Header, Body

  18. 1 Die elektronische Post Date: 5 Dec 2005 21:23:39 +0100 To: mak@klitec.de Subject: Test Received: from 85.116.204.35 (auth. user martin@campus- merseburg.de@mail.campus-merseburg.de) by angst.verrissen.org with HTTP; Mon, 05 Dec 2005 20:23:39 +0000 Message-ID: <HPpDvt8m.1133814219.2424570.martin@campus-merseburg.de> From: <martin@campus-merseburg.de> Dies ist ein test Header Body

  19. 1 Die elektronische Post • Header: • Die Kopfzeilen der E-Mail • Besteht aus einer Folge von Feldern, jedes Feld entspricht einer Zeile – „Feldname: Feldinhalt“ • Beinhaltet alle wichtigen Informationen um eine E-Mail zu transportieren • Kann Auskunft über den zurück gelegten Weg geben • Beinhaltet in der jüngsten Zeit auch Informationen auf durchgeführte Spam- oder Virenscans

  20. 1 Die elektronische Post

  21. 1 Die elektronische Post • Body: • Folgt nach dem Header (durch eine Leerzeile getrennt) • Besteht nur aus Zeichen mit 7 Bit • Maximal 1000 Zeichen pro Zeile • Sollen andere Zeichen, Umlaute oder binäre Anhänge benutzt werden, müssen diese extra kodiert werden • Einschränkungen werden durch MIME (Multipurpose Internet Mail Extensions) größtenteils aufgehoben

  22. 2 Protokolle • 2.1 Simple Mail Transfer Protocol (SMTP) • Transport einer Mail vom Client zum Mailserver • Transport einer Mail von Mailserver zu Mailserver • SMTP-Server läuft regulär auf Port 25 (TCP) • Übertragung im Klartext (ASCII) • Ursprünglich in RFC 821 dokumentiert, aktuellste Version ist RFC 2821 • Offizieller Internet Standard • Erweiterung ist Simple Mail Transfer Protocol Service Extensions (ESMTP)

  23. 2 Protokolle • War ursprünglich ein authentifizierungsfreies Protokoll • Kann er eine Nachricht nicht direkt (lokal) zustellen, baut er eine Verbindung zu einem anderen Mailserver auf (SMTP Relay) • Problem des Missbrauchs: • Jeder Nutzer könnte den SMTP-Server nutzen • Spammer nutzen diese Sicherheitslücke aus • Lösung: • SMTP-Server akzeptiert Mails unbekannter Absender nur noch an lokale Benutzer • Echtes SMTP Relay ist weiterhin nach einer Authentifizierung möglich: SMTP-AUTH

  24. 2 Protokolle • Weiteres Problem: • Übertragung der E-Mails laufen im Klartext ab • Somit ist die Möglichkeit einer Spionage gegeben • Lösung: • Schaffung eines sicheren Übertragungskanals • „Secure SMTP over SSL/TLS“ über Port 465

  25. 2 Protokolle • 2.2 Post Office Protocol Version 3 (POP3) • Abholen von E-Mails von einem Mailserver • POP3-Server läuft regulär auf Port 110 (TCP) • Übertragung in Klartext (ASCII) • Authentifizierung nötig • Sehr einfaches Protokoll: • Nachrichten werden vom Client abgeholt • Auf Server gelöscht • Entstand mit dem Aufkommen der Personal Computer in den 80er Jahren

  26. 2 Protokolle • Problem: • Übertragung der E-Mails laufen im Klartext ab • Somit ist die Möglichkeit einer Spionage gegeben • Lösung: • Schaffung eines sicheren Übertragungskanals • „Secure POP3 over SSL/TLS“ über Port 995

  27. 2 Protokolle • 2.3 Internet Message Access Protocol (IMAP) • Zugriff und Verwaltung auf empfangene E-Mails • IMAP-Server läuft regulär auf Port 143 (TCP) • Übertragung in Klartext (ASCII) • Authentifizierung nötig • Post bleibt auf Mailserver liegen • Nachrichten können selektiv und partiell herunter geladen werden • Unterstützung von Ordnern auf Mailserver

  28. 2 Protokolle • Nachrichten können direkt auf Server gesucht und sortiert werden • Auf IMAP-Postfach kann zugegriffen werden, als würden sich die Nachrichten auf lokalen Rechner befinden • Problem: • Übertragung der E-Mails laufen im Klartext ab • Somit ist die Möglichkeit einer Spionage gegeben • Lösung: • Schaffung eines sicheren Übertragungskanals • „Secure IMAP over SSL/TLS“ über Port 993

  29. 2 Protokolle • 2.4 Spam und Malware • Spam-Mails sind massenhafte und unerwünschte Nachrichten, z.B. Werbung • Malware: „von Malicious Software“ – Böswillige Software, z.B. Viren, Trojaner, Würmer • Der Großteil des E-Mail-Verkehrs besteht mittlerweile aus Spam und Malware • Urhebern droht meistens keine Strafe • Der Grund für die Möglichkeiten von Spam und Malware ist im SMTP-Protokoll und in der Globalität des Internets zu suchen • Ist nur durch komplexe Filter zu verhindern

  30. 3 Betrieb eines Mailservers • 3.1 Anforderungen an einen modernen Mailserver • Zuverlässigkeit: • Es dürfen keine E-Mails verloren gehen • Der Mailserver sollte immer erreichbar sein • Zugriffsmöglichkeiten der Benutzer: • SMTP und SMTP-SSL/TLS zum Versenden von E-Mails • POP3 und POP3-SSL/TLS zum Empfangen von E-Mails • IMAP und IMAP-SSL/TLS zum Empfangen von E-Mails

  31. 3 Betrieb eines Mailservers • Sicherheit: • Es darf niemand unbefugt Zugriff auf fremde E-Mails bekommen • Es sollten verschlüsselte Protokolle unterstützt werden • Mailserver darf nicht als SMTP-Relay benutzt werden • SMTP Authentifizierung • Einfache Administration • Erstellung eines Webfrontends um Benutzer hinzuzufügen oder zu löschen • Einbindung in existierende Strukturen (Datenbank, Radius) • Unterstützung verschiedener Domains

  32. 3 Betrieb eines Mailservers • Spam- und Virenfilter • Es sollten leistungsfähige Spam- und Virenfilter installiert sein • Die dazugehörigen Datenbanken sollten immer auf dem aktuellen Stand sein • Gute Treffer-Quote bei geringem False-Positive-Ausschuss • Leichte Bedienbarkeit • Leistung und Performance • Das System sollte den Anforderungen des Mailaufkommens entsprechen • Kurzzeitige Fluten von Malware sollten keine negativen Auswirkungen auf die Erreichbarkeit haben • Standortwahl

  33. 3 Betrieb eines Mailservers • Weitere benutzerfreundliche Features • Webmail • Mailinglisten

  34. 3 Betrieb eines Mailservers • 3.2 Was wird alles benötigt? • Qmail • Modularer und sicherer Mail Transfer/Delivery Agent • Weit verbreitet • Viele Erweiterungen existent • „SMTP over SSL/TLS“ fähig • Courier-IMAP • Mail Retrieval Agent (MRA) • „POP3 over SSL/TLS“ fähig • „IMAP over SSL/TLS“ fähig

  35. 3 Betrieb eines Mailservers • Qmail-Scanner • Erweiterungsscript für Qmail • Scannt von Qmail angenommene Mails nach Viren und Malware • SpamAssassin • Bekanntester Spamfilter • Wird von qmail-scanner aufgerufen • Nutzt zum erkennen von Spam: • Distributed Checksum Clearinghouse (DCC) • Vilpul‘s Razor

  36. 3 Betrieb eines Mailservers • F-Prot • Anti-Viren-Programm • Wird von qmail-scanner aufgerufen • VPOPMAIL • Verwaltung der Domains und Benutzer • MySQL • Beinhaltet User- und Domaindatenbank • Apache und PHP • Webserver für die Frontends

  37. 3 Betrieb eines Mailservers • 3.3 Spamfilter • 3.3.1 Statische Regeln • Basieren auf reguläre Ausdrücke • Bestimmte Eigenschaften (Wörter) einer E-Mail werden überprüft und dazu eine Punktzahl festgelegt • Es wird nach Fehlern im Header oder Body gesucht, die typisch für Spam sind • Gesamtpunktzahl wird zusammengerechnet • Z.B. SpamAssassin

  38. 3 Betrieb eines Mailservers • 3.3.2 „Collaborative Filtering Networks“ • Es werden Checksummen von bestimmten Teilen einer Mail berechnet und an öffentlichen Datenbanken geschickt • Wenn gleiche Checksummen innerhalb kürzester Zeit eintreffen, ist die Wahrscheinlichkeit hoch, dass es sich um Spam handelt • Z.B. Razor, Pyzor und DCC (laufen wegen Schnelligkeit mit UDP anstatt mit TCP) • Ergebnisse ergeben wiederum eine Punktzahl

  39. 3 Betrieb eines Mailservers • 3.3.3 „Realtime Blackhole Lists“ (RBL) • Überprüfung ob der SMTP-Server, der gerade versucht eine Mail abzusetzen, in einer öffentlichen schwarzen Liste mit „offenen“ Relay-Servern existiert • Unsicher, da auch Webmail-Anbieter wie GMX gelegentlich in solchen Listen auftauchen • Ergebnis bekommt auch wieder eine Punktezahl

  40. 3 Betrieb eines Mailservers • 3.3.4 Bayesscher Filter • Rechnet anhand des Vorkommens bestimmter Wörter die Wahrscheinlichkeit aus, ob eine Mail Spam ist • Selbstlernend • Lernt aus bereits als Spam erkannten E-Mails neue Wörter – funktioniert bei einer großen Menge an Mails sehr gut • Ergibt wieder eine bestimmte Punkteanzahl

  41. 3 Betrieb eines Mailservers • 3.3.5 Die Aufgabe von SpamAssassin • Die Aufgabe von SpamAssassin ist es nun die Ergebnisse aus allen Methoden so auszuwerten, dass Spam erkannt wird • Ziel: Möglichst viele Spam-Mails sollen erkannt werden und möglichst wenig Mails sollen fälschlicherweise als Spam erkannt werden (False-Positive)

  42. X-Spam-Status: Yes, hits=16.7 required=5.0   tests=CLICK_BELOW,DOMAIN_4U2,EXCUSE_10,EXCUSE_13,EXCUSE_14,         GAPPY_TEXT,LINES_OF_YELLING,LINES_OF_YELLING_2,         LINES_OF_YELLING_3,ONLY_COST,PLING_PLING,PRIORITY_NO_NAME,         RCVD_IN_DSBL,RCVD_IN_RFCI,REMOVE_IN_QUOTES,REMOVE_SUBJ,         REPLY_REMOVE_SUBJECT,SEE_FOR_YOURSELF,SPAM_PHRASE_13_21,         SUBJ_DOLLARS,UPPERCASE_25_50X-Spam-Flag: YESX-Spam-Level: ****************X-Spam-Checker-Version: SpamAssassin 2.43 (1.115.2.20-2002-10-15-exp)X-Spam-Report:   16.70 hits, 5 required;  *  1.1 -- Subject starts with dollar amount  *  0.8 -- BODY: List removal information  *  0.7 -- BODY: See for yourself  *  0.5 -- BODY: Gives an excuse for why message was sent  *  0.5 -- BODY: List removal information  *  0.4 -- BODY: Domain name containing a "4u" variant  *  0.4 -- BODY: List removal information  *  0.3 -- BODY: "if you do not wish to receive any more"  *  0.3 -- BODY: Asks you to click below  *  0.2 -- BODY: Tells you how to stop further spam  *  0.2 -- BODY: Only $$$  *  0.0 -- BODY: Contains 'G.a.p.p.y-T.e.x.t'  *  1.3 -- BODY: Spam phrases score is 13 to 21 (high)            [score: 19]  *  0.3 -- BODY: 3 WHOLE LINES OF YELLING DETECTED  *  0.2 -- BODY: 2 WHOLE LINES OF YELLING DETECTED  *  0.2 -- BODY: A WHOLE LINE OF YELLING DETECTED  *  3.2 -- RBL: Received via a relay in list.dsbl.org            [RBL check: found 19.134.91.211.list.dsbl.org]  *  2.3 -- RBL: Received via a relay in ipwhois.rfc-ignorant.org            [RBL check: found 19.134.91.211.ipwhois.rfc-ignorant.org.,            type: 127.0.0.6]  *  1.0 -- Message has priority setting, but no X-Mailer  *  1.5 -- Subject has lots of exclamation marks  *  1.3 -- message body is 25-50% uppercase

  43. 4 Installation eines Mailservers • 4.1 Vorraussetzungen • Domain + Zugriff auf DNS • Server mit statischer IP-Adresse • Distribution: Gentoo • Webserver: Apache 2.0.54 • PHP 4.4 • MySQL 4.1.14 • OpenSSL • Daemontools • PERL

  44. 4 Installation eines Mailservers • 4.2 Installation der Programme • 4.2.1 QMAIL 1.03 • Paket installieren bzw. per Hand Compilen (Patches!) • RSA Keys für SSL/TLS erstellen • Self-signed SSL-Zertifikat erstellen

  45. 4 Installation eines Mailservers • 4.2.2 Installation von Courier-IMAP • Courier Authentication Library als erstes installieren • Dann das eigentliche Paket installieren • Authlib kann unterschiedliche Backends zu Authentifizierung benutzen (z.B. MySQL, LDAP u.a.) • Unsere Wahl: Authentifizierung der Benutzer über VPOPMAIL • Weitere Konfiguration (z.B. SSL/TLS)

  46. 4 Installation eines Mailservers • 4.2.3 Installation von VPOPMAIL • Paket installieren bzw. per Hand Kompilieren • Datenbank anlegen und konfigurieren mysql> create database vpopmail; mysql> grant select, insert, update, delete, create, drop on vpopmail.* to vpopmail@localhost identified by 'blah123'; mysql> flush privileges; mysql> quit • SMTP-Server von Qmail konfigurieren, dass SMTP-AUTH mit VPOPMAIL geht:

  47. 4 Installation eines Mailservers • 4.2.4 Installation der SPAM-Datenbank-Clients und des Virenscanners • Razor • DCC (Distributed Clearinghouse Checksum) • F-Prot • Einrichten mit Default-Konfiguration • Einen Eintrag in der Crontab, dass F-Prot regelmäßig seine Virendatenbank updated

  48. 4 Installation eines Mailservers • 4.2.5 Installation von SpamAssassin • SpamAssassin soll mehrere „Collaborative Filtering Networks“ abfragen • SpamAssassin soll den internen Bayes Filter verwenden: required_hits 5.0 rewrite_header Subject ****SPAM**** use_bayes 1 bayes_auto_learn 1 bayes_auto_learn_threshold_nonspam 1.5 bayes_auto_learn_threshold_spam 6.0 use_dcc 1 use_pyzor 1 • Als Daemon starten

  49. 4 Installation eines Mailservers • 4.2.6 Installation des Qmail-Scanners • Erkennt bei der Installation automatisch SpamAssassin und F-Prot • SMTP-Server muss wissen, dass er qmail-scanner nutzen soll (Ausschnitt aus „/etc/tcprules.d/tcp.qmail-smtp“): #IPs allowed to relay - don't scan with qmail-scanner ## localhost 127.0.0.:allow,RELAYCLIENT="",RBLSMTPD="" # Don't relay from other IPs. Scan with qmail-scanner :allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue"

  50. 4 Installation eines Mailservers • 4.3 Anlegen von Benutzern • 4.3.1 Anlegen der Domain und des Postmasters im Mailsystem über die Shell • 4.3.2 Anlegen einzelner Benutzer über ein Frontend • 4.3.3 Benutzen von Webmail

More Related