Rspamd – Lokale Blacklist & Whitelist mit multimap

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Rspamd – Lokale Blacklist & Whitelist mit multimap

Ziel

Lokale Steuerung von Mailannahme und -ablehnung in Rspamd auf Basis von Absender-Domain, Absender-Adresse und IP-Adressen ohne externe Regelsets.

Voraussetzungen

  • Funktionierende Rspamd-Installation
  • Zugriff auf /etc/rspamd/local.d/
  • Rspamd >= 2.x

Map-Dateien anlegen

  • touch /etc/rspamd/local.d/lists/whitelist.sender.domain.map
  • touch /etc/rspamd/local.d/lists/whitelist.sender.email.map
  • touch /etc/rspamd/local.d/lists/blacklist.sender.domain.map
  • touch /etc/rspamd/local.d/lists/blacklist.sender.email.map
  • touch /etc/rspamd/local.d/lists/blockip.map
  • touch /etc/rspamd/local.d/lists/allowip.map
  • touch /etc/rspamd/local.d/lists/blacklist.list-id.map

Beispielinhalt der Map-Dateien

# whitelist.sender.domain.map
example.org
trusted-domain.tld

# whitelist.sender.email.map
admin@example.org
service@trusted-domain.tld

# blacklist.sender.domain.map
spamdomain.tld

# blacklist.sender.email.map
badguy@evil.tld

# blacklist.list-id.map
vc.dlhuifu.com

# blockip.map
203.0.113.45
198.51.100.0/24

# allowip.map
192.0.2.10

multimap-Konfiguration

Datei: /etc/rspamd/local.d/multimap.conf

CUSTOM_KEYWORDS {
    type = "content";
    map = "/etc/rspamd/local.d/lists/junk_keywords.map";
    regexp = true;
    icase = true;
    symbol = "CUSTOM_KEYWORD";
    score = 8.0;
}

WHITELIST_SENDER_DOMAIN {
    type = "from";
    filter = "email:domain";
    map = "/etc/rspamd/local.d/lists/whitelist.sender.domain.map";
    action = "accept";
    symbol = "WHITELISTED_DOMAIN";
}

WHITELIST_SENDER_EMAIL {
    type = "from";
    map = "/etc/rspamd/local.d/lists/whitelist.sender.email.map";
    action = "accept";
    symbol = "WHITELISTED_ADDRESS";
}

BLACKLIST_SENDER_DOMAIN {
    type = "from";
    filter = "email:domain";
    map = "/etc/rspamd/local.d/lists/blacklist.sender.domain.map";
    action = "reject";
    symbol = "BLACKLISTED_DOMAIN";
}

BLACKLIST_SENDER_EMAIL {
    type = "header";
    header = "From";
    filter = "email";
    map = "/etc/rspamd/local.d/lists/blacklist.sender.email.map";
    action = "reject";
    symbol = "BLACKLISTED_ADDRESS";
    regexp = false;
}

BLOCKLIST_IP {
    type = "ip";
    map = "/etc/rspamd/local.d/lists/blockip.map";
    prefilter = true;
    action = "reject";
    symbol = "BLOCKLIST_IP";
}

ALLOWLIST_IP {
    type = "ip";
    map = "/etc/rspamd/local.d/lists/allowip.map";
    prefilter = true;
    action = "accept";
    symbol = "ALLOWLIST_IP";
}

BLACKLIST_LIST_ID {
    type = "header";
    header = "List-ID";
    map = "/etc/rspamd/local.d/lists/blacklist.list-id.map";
    action = "reject";
    symbol = "BLACKLISTED_LIST_ID";
}

Wirkung

  • accept → Mail wird sofort akzeptiert, kein weiteres Scoring
  • reject → Mail wird sofort abgelehnt
  • IP-Regeln mit prefilter greifen vor allen anderen Checks
  • Whitelist übersteuert Blacklist nur bei früherem Treffer

Konfiguration prüfen

  • rspamadm configtest
  • systemctl reload rspamd

Funktionstest

  • rspamc symbols < mail.eml

Erwartete Symbole:

  • WHITELISTED_DOMAIN
  • WHITELISTED_ADDRESS
  • BLACKLISTED_DOMAIN
  • BLACKLISTED_ADDRESS
  • BLOCKLIST_IP
  • ALLOWLIST_IP

Hinweise

  • Map-Dateien dürfen leer sein
  • Änderungen an Maps benötigen kein Rspamd-Neustart
  • Änderungen an multimap.conf erfordern reload oder restart