LINUX II MAIL
Mail Protokolle SMTP: Simple Mail Transport Protocol Transport von Emails, Port: 25 ESMTP: Extented SMTP Server gibt Infos über seine Fähigkeiten aus, zb für Verschlüsselung verwendet POP3: Post Office Protocol Version3 abholen von Emails, Port 110 und 995 (SSL) IMAP: Internet Message Access Protocol abholen von Emails, verwalten am Server, Port 143 und 993 (SSL)
Mail Standards MTA Mail Transfer Agent Weiterleiten von Emails an anderen MTA, Zuordnung zum Benutzer, Verwalten von Retouren MDA Mail Delivery Agent speichert Nachrichten MUA Mail User Agents Zugriff auf die abgelegten Emails, Mailclients
Mail Überblick Sender Speicher MUA MDA Empfänger MTA MTA POP IMAP MUA
Email Aufbau Email besteht aus 2 Teilen: SMTP Informationen und Daten Header: from, to, date, subject, content-type,.. Body: Mailtext Attachment Envelope: sender und recipient
Mail Header MIME: Multipurpose Internet Mail Extensions, erweitert Mail um non-ascii und non-text Informationen
Mailserver Sendmail: Standard Mailserver unter Unix und früher auch Linux, kompliziert zu konfigurieren, Sicherheit war lange ein Problem, für Linux heute meistens nur für lokale Mailzustellung Postfix: heute Standard unter Linux, sicher, schnell und einfach Exim: Standard unter Debian Qmail: sicherster Mailserver unter Unix/Linux Groupware: Exchange: Windows Mailserver incl Pop/Imap usw Lotus Domino: Alternative von IBM zu Exchange, auch Linux und Unixversionen OpenSource: OpenXchange, Zimbra, Scalix,...
Sendmail Konfiguration Daemon: sendmail port: 25 config: /etc/sendmail.cf konfiguriert in /etc/mail/sendmail.mc mit der Makrosprache m4 /etc/aliases: lokale user aliases /etc/mail/virtusertable: virtuelle user /etc/mail/access: Zugriffskontrolle
Postfix schnelle, einfache und sichere Alternative zu sendmail kompatibel zu sendmail: benutzt aliases, virtusertable, access config: /etc/postfix/(master,main).cf config files leicht lesbar und gut kommentiert
Postfix Aufbau Modularer Aufbau Jede Funktion ist in eigenen Daemon ausgelagert Daemonen vertrauen sich untereinander nicht Master Daemon überwacht die anderen, teilt Aufgaben zu, kann mehrere Instanzen erzeugen
Postfix Daemonen smtpd: übernimmt Nachrichten von Mailclients, prüft diese ( Spam, Blacklists,.. ) cleanupd: korrigiert Infos, Header gibt neue Emails in die Incoming Queue qmgr: verwaltet Mailqueues, beauftragt die Zustellung oder Abweisung von Emails local, pipe, smtp: Mailzustellung, Schnittstellen zu anderen MTAs, Mailclients bounce, defer: für abgewiesene Emails
Postfix Queues incoming: einkommende Emails active: Mails ins bearbeitung maildrop: lokale Emails hold: Mails werden nicht zugestellt, Eingriff erforderlich deferred: nicht zugestellt wegen temporären Problems oder abgelehnt corrupt: beschädigte emails
Postfix Maps Dateien mit Konfigurationsinfos, Textkonfiguration, Umwandlung in DB File postmap /etc/postfix/'mapfile' > 'mapfile.db' Aufbau: Key Value Access Map: remote Server Zugriff Virtual Map: Virtuelle Emailadressen Transport Map: Zuständigkeiten
Postfix Restrictions Anhand der Restrictions entscheidet Postfix wie mit Emails verfahren wird Config: /etc/postfix/main.cf und verschiedene Dateien in /etc/postfix Werden in verschiedenen Phasen der SMTP Kommunikation angewendet
Postfix Restrictions II smtpd_client_restrictions: bei Verbindung von Client zum smtpd smtpd_helo_restrictions: werden auf vom client übermittelten envelope sender angwandt smtpd_sender_restrictions: werden auf envelope sender angewandt smtpd_recipient_restrictions: werden auf envelope empfänger angewandt
Mögliche Restrictions Beispiele: Client: unknown client, rbl client ( Spammer) Helo/Ehlo: invalid hostname, non fqdn DN Envelope sender: unknown sender domain Envelope recipient: unknown recipient domain
Anti-Spam Nur gültige Domains zulassen bei Empfang, check auf richtigen MX Eintrag Sender Address verification: bei Annahme überprüfen ob Absender in sender domain existiert, mittels Testnachricht Content Filter: blocken von Emails mit bestimmten Inhalten, Subjects, Attachments