postfix policy daemons im eigenbau
play

Postfix Policy Daemons im Eigenbau. Before-Queue vs. After-Queue - PowerPoint PPT Presentation

Postfix Policy Daemons David Schweikert Filtering- berblick Postfix Policy Daemons im Eigenbau. Before-Queue vs. After-Queue Was ist eine Sinn und Implementation. Access-Policy? Beispiel SMTP-Policies Die Policy- Schnittstelle


  1. Postfix Policy Daemons David Schweikert Filtering- Überblick Postfix Policy Daemons im Eigenbau. Before-Queue vs. After-Queue Was ist eine Sinn und Implementation. Access-Policy? Beispiel SMTP-Policies Die Policy- Schnittstelle Motivation für einen David Schweikert externen Prozess Das Protokoll Konfiguration in Postfix Milters Open Systems AG Implementation Implementation mit spawn 3. Mailserver-Konferenz Implementation als einzelner Prozess Berlin, 3. Juli 2007 Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  2. Über mich Postfix Policy Daemons David Schweikert Filtering- Überblick 7 Jahren Postmaster an der ETH Zürich Before-Queue vs. After-Queue Was ist eine Access-Policy? Verantwortlich bei der Open Systems AG für: Beispiel SMTP-Policies Die Policy- Mail-Filter Service Schnittstelle Intrusion Detection Service Motivation für einen externen Prozess Das Protokoll Open-Source Projekte: Mailgraph, Postgrey, Gedafe, Konfiguration in Postfix Milters ISGTC, Perl-Module Implementation Implementation mit spawn http://david.schweikert.ch Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  3. Über Open Systems AG Postfix Policy Daemons David Schweikert Business: Managed Security Services Filtering- Überblick Before-Queue vs. Expertise + berechenbare Kosten After-Queue Was ist eine Access-Policy? (kein Technologie-Risiko) Beispiel SMTP-Policies Die Policy- Schnittstelle Mehr als 900 Rechner in über 70 Ländern Motivation für einen externen Prozess Das Protokoll Management von: Konfiguration in Postfix Milters Mail-Filter, Firewall, Site-to-site VPN, ISP-Failover, Implementation Traffic Shaping, Content-Filtering Proxy, IDS, Implementation mit spawn Reverse-Proxy, . . . Implementation als einzelner Prozess Datenbanken Testen http://www.open.ch Typische Fallen Zusammenfassung Fragen und Diskussion

  4. Postfix Policy Daemons im Eigenbau Postfix Policy Daemons David Schweikert Filtering- Überblick Filtering-Überblick 1 Before-Queue vs. After-Queue Was ist eine Access-Policy? Beispiel SMTP-Policies Die Policy-Schnittstelle 2 Die Policy- Schnittstelle Motivation für einen externen Prozess Implementation 3 Das Protokoll Konfiguration in Postfix Milters Implementation Fragen und Diskussion 4 Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  5. Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. After-Queue Was ist eine Access-Policy? Beispiel SMTP-Policies Die Policy- Filtering-Überblick Schnittstelle Motivation für einen externen Prozess Das Protokoll Konfiguration in Postfix Milters Implementation Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  6. After-Queue Filtering Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. Klassisches Setup mit SpamAssassin, etc. After-Queue Was ist eine Access-Policy? Beispiel SMTP-Policies Inline rejection nicht möglich Die Policy- Schnittstelle Sollte bounces generieren Motivation für einen externen Prozess Das Protokoll Konfiguration in Postfix Problemen mit Backscatter Milters Implementation Mails können unter Last verzögert prozessiert werden Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  7. Before-Queue Filtering Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. After-Queue Antwort schon beim Mail-Verkehrseingang Was ist eine Access-Policy? ( SMTP -Protokoll) Beispiel SMTP-Policies Die Policy- Schnittstelle Access-Policy Motivation für einen externen Prozess Das Protokoll Content-Filtering möglich, aber : Konfiguration in Postfix Milters Implementation Heikel für grosse Volumen Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  8. Was ist eine Access-Policy? Postfix Policy Daemons David Schweikert Filtering- Entscheiden beim Mail-Verkehrseingang (SMTP-Protokoll), Überblick Before-Queue vs. was mit einer E-Mail gemacht werden soll: After-Queue Was ist eine Access-Policy? Beispiel SMTP-Policies Die Policy- Zurückweisen mit einem definitiven Fehler Schnittstelle Motivation für einen externen Prozess Zurückweisen mit einem temporären Fehler Das Protokoll Konfiguration in Postfix Milters Mail akzeptieren (kann später noch “bouncen”) Implementation Implementation mit spawn Kein Entscheid : weitere Policy-Regeln überprüfen Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  9. Beispiel SMTP-Session Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. 220 example.com ESMTP Postfix After-Queue Was ist eine HELO mail.schweikert.ch Access-Policy? Beispiel SMTP-Policies 250 example.com Die Policy- Schnittstelle MAIL FROM: <david@schweikert.ch> Motivation für einen 250 Ok externen Prozess Das Protokoll Konfiguration in Postfix RCPT TO: <test@example.com> Milters 451 Greylisted for 300 seconds Implementation Implementation mit QUIT spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  10. Access-Policy Mechanismen Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. After-Queue Was ist eine Access-Policy? Eingebaute smtpd_xxxx_restrictions Beispiel SMTP-Policies Die Policy- Schnittstelle Policy delegation Motivation für einen externen Prozess Das Protokoll Milters Konfiguration in Postfix Milters Implementation Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  11. smtpd_xxxx_restrictions Postfix Policy Daemons David Schweikert Filtering- Überblick Beispiel: Before-Queue vs. After-Queue Was ist eine smtpd_recipient_restrictions = Access-Policy? Beispiel SMTP-Policies reject_non_fqdn_recipient Die Policy- Schnittstelle reject_unlisted_recipient Motivation für einen permit_mynetworks externen Prozess Das Protokoll permit_sasl_authenticated Konfiguration in Postfix Milters check_client_access Implementation hash:/etc/postfix/client_access Implementation mit reject_unauth_destination spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  12. Policy-Beispiel: Relaying nur für lokale Clients Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. Nur lokale Clients dürfen Mails schicken, die an Dritte After-Queue Was ist eine weitergeleitet werden sollen. Access-Policy? Beispiel SMTP-Policies Die Policy- Input aus dem Mail-System: Schnittstelle Motivation für einen IP-Adresse des Mail-Clients externen Prozess Das Protokoll Konfiguration in Postfix Policy: Milters Implementation Bekannte Adresse? → ACCEPT Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

  13. Policy-Beispiel: SPF Postfix Policy Daemons Bekämpfung von Fälschungen der Absenderadresse: David Schweikert Filtering- “Darf dieser Mail-Client Mails mit dieser Überblick Absender-Mail-Domain verschicken?” Before-Queue vs. After-Queue Was ist eine Access-Policy? Beispiel SMTP-Policies Input aus dem Mail-System: Die Policy- Mail-Domain des Absenders (“Envelope Sender”) Schnittstelle Motivation für einen IP-Adresse des Mail-Clients externen Prozess Das Protokoll Konfiguration in Postfix Policy: Milters Aus der DNS (SPF TXT-Einträge): Implementation Implementation mit erlaubte Mail-Clients für diese Mail-Domain spawn Implementation als Mail-Client nicht in der Liste? → REJECT einzelner Prozess Datenbanken Testen Typische Fallen Nicht möglich mit den eingebauten Restrictions von Zusammenfassung Postfix. Fragen und Diskussion

  14. Policy-Beispiel: Greylisting Postfix Policy Daemons “Echte” Mail-Server reagieren auf temporäre Fehler, indem David Schweikert sie später erneut versuchen, die Mail zu versenden. Idee: Filtering- einen temporären Fehler beim ersten Versuch erzeugen. Überblick Before-Queue vs. Spammers haben keine echten Mailserver und kommen After-Queue Was ist eine Access-Policy? daher nicht wieder. Beispiel SMTP-Policies Die Policy- Schnittstelle Input aus dem Mail-System: Motivation für einen externen Prozess IP-Adresse der Mail-Client Das Protokoll Absenderadresse Konfiguration in Postfix Milters Empfängeradresse Implementation Implementation mit Policy: spawn Implementation als einzelner Prozess “Triplet” neu? → DEFER Datenbanken Testen Typische Fallen Zusammenfassung Nicht möglich mit den eingebauten Restrictions von Fragen und Postfix. Diskussion

  15. Postfix Policy Daemons David Schweikert Filtering- Überblick Before-Queue vs. After-Queue Was ist eine Access-Policy? Beispiel SMTP-Policies Die Policy- Die Policy-Schnittstelle Schnittstelle Motivation für einen externen Prozess Das Protokoll Konfiguration in Postfix Milters Implementation Implementation mit spawn Implementation als einzelner Prozess Datenbanken Testen Typische Fallen Zusammenfassung Fragen und Diskussion

Recommend


More recommend