Skip to content

Config Files and Comments from the Rspamd Workshop at the SLAC 2023

Notifications You must be signed in to change notification settings

HeinleinSupport/rspamd-slac-2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

drawing

Sichere Mailcluster mit Rspamd, Spamhaus DQS und PeekabooAV

Workshop auf der SLAC 2023

[[TOC]]


Repo Status 25.5.2023

  • initiale Slides
  • derzeitige Rspamd Worker Config vom Ende des Workshops
  • TODO:
    • Postfix Config
    • Rspamd Proxy Config
    • Spamhaus DQS Slides und Config
    • PeekabooAV Einbindung Slides und Config
    • Kommentare

Redundanter Postfix Cluster

  • Wir trennen bei einer Postfix Infrastruktur gern die Systeme mit Internet-Kommunikation und internen Verbindungen
  • externe Systeme sollten im Idealfall keinen Zugriff interne Systeme haben (bzw. nur zum internen Postfix)
  • interne Mails laufen nicht über Systeme mit Verbindung zum Internet
  • MX Server (eingehend) und Mailout (ausgehend) stehen also in einer DMZ
  • HUB (interner Mailverteiler) steht im internen Netzwerk und kommuniziert auch mit MX und Mailout

Postfix Cluster #1

drawing


Postfix Cluster #2

drawing


Postfix Cluster #3

drawing


Postfix Cluster #4

drawing


Rspamd Anbindung

  • Um Single Points of Failure zu vermeiden installieren wir den Rspamd Proxy direkt auf dem Postfix System
  • Der Proxy bekommt eine Liste von Rspamd Backends, die lastverteilend angesprochen werden
  • Vorteil: Redundanz und Ausfallsicherheit
  • Jeder Postfix übergibt via milter_macro_daemon_name ein Keyword für seine Aufgabe im Cluster
    • z.B. incoming

Kapselung einzelner Dienste in eigene Systeme oder Container/CGroups

  • Redis reagiert empfindlich wenn der Arbeitsspeicher im System ausgeht
  • File Analyse-Tools wie Anti-Viren Systeme oder VBA/PDF-Analysen können bei der Analyse abstürzen
  • Darum sperren wir diese Tools gern in extra Systeme, Container oder mit anderen Mechanismen ein

Realworld Sizing

  • Wir benötigen nicht zwingend xx VMs für einen wirkungsvollen Cluster
  • die Ideen hinter der Segmentierung/Aufteilung lassen sich auch lassen sich auch mit 2 Systemen umsetzen
  • es geht vor allem darum mögliche Sicherheitsprobleme zu minimieren und einen effektiven redundanten Cluster aufzubauen

Rspamd - Symbole, Module, Plugins, Funktionen

  • Rspamd denkt in Symbolen
  • Symbole im Rspamd sind wie Objekte, die auszuführende Funktionen haben, Konfigurationen, Beschreibungen, Punkte haben können
  • Symbole lassen sich zur Laufzeit an- und abschalten, logisch verknüpfen oder für forcierte Aktionen nutzen

drawing


Rspamd Composites

  • wirken wie die Meta Rules in Spamassassin und können noch einiges mehr
  • Matching erfolgt auf als logische Verknüfung auf aktivierte Symbole oder Gruppen
    • expression = "INCOMING & BAD_SUBJECT";
    • neues Symbol und Punkte hinzufügen
    • gematchte Symbole entfernen oder deren Score

Rspamd - Actions und Force Actions

  • Rspamd kennt verschiedene Aktionen, die bei einer bestimmten Summe von Punkten aktiviert werden können
    • no action
    • greylist (soft reject)
    • add header
    • rewrite subject
    • reject
  • dazu können je nach MTA auch eigene Aktionen definiert werden (Postfix/Milter z.B. discard, quarantine)
  • daneben lassen sich in den Force Actions mit logischen Verknüpfungen (expressions) von Symbolen auch Aktionen forcieren
    • expression = "CLAMAV_VIRUS & !WHITELIST_ANTIVIRUS";
  • direkte Aktionen lassen sich auch direkt in verschiedenen Plugins auslösen
    • Antivirus
    • Multimap
    • DMARC
    • Ratelimit
    • Spamtrap

Warum Aktionen direkt in den Plugins (oft) nicht sinnvoll sind

  • Ausnahmen von den Rejects (Whitelisting) können nicht mehr umgesetzt werden
  • Frühe Rejects lösen einen Passthrough aus, so dass andere Prüfungen abgebrochen werden
    • eindeutige Spam Mails werden ggf. nicht gelernt
  • Oft werden die Rejects in den Plugins eher pauschal ausgeführt
    • Antivirus z.B. verschlüsselte Mails oder Fehlercodes
    • Ratelimit alle Limits führen zu einem Soft Reject

Indikatoren sammeln und auswerten

  • Wir empfehlen Rspamd viele Indikatoren sammeln zu lassen und diese am Ende des Scan auszuwerten
  • Dafür werden Composites und Force Actions intensiv genutzt
  • Ausnahmen lassen sich auf einfache Weise umsetzen
  • Es kann eingehender, ausgehender und interner Traffic einfach unterschieden werden
  • Viren lassen sich z.B. in Spam (zum Lernen) und Malware (einfach ablehnen) kategorisieren
  • Ratelimit Rules können einzeln bewertet werden
    • Ablehnung bei bestimmten Rules
    • Info an den Admin bei anderen Limits

Rspamd Settings

  • Mit dem Settings Plugin im Rspamd lässt sich ein Scan-Profil erstellen, dass abweichende Schwellwerte hat, bestimmte Funktionen deaktiviert oder explizit aktiviert
  • Oder einfach ein weiteres Symbol als Indikator für Composites oder Force Actions bereits stellt

About

Config Files and Comments from the Rspamd Workshop at the SLAC 2023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages