Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

rspamd

Name Last commit Last update
defaults
files
handlers
meta
tasks
templates
vars
README.md

rspamd

configuration

rspamd:
  redis: false
  train_from_junk: false
  dmarc_reporting:
    enabled: false
  local_configs: {}

redis

configure redis and tell rspamd to use it:

redis:
  instances:
    - name: rspamd
      socket_enabled: true
      maxmemory: 200M
      maxmemory_policy: volatile-ttl
    - name: rspamd-bayes
      socket_enabled: true
      maxmemory: 500M
      maxmemory_policy: volatile-ttl
    - name: rspamd-fuzzy
      socket_enabled: true
      maxmemory: 200M
      maxmemory_policy: volatile-ttl

rspamd:
  redis: true

milter

add rspamd to your smtpd_milters:

postfix:
  smtpd_milters:
    - "inet:localhost:11332"

dkim signing

rspamd can sign outgoing mails with dkim. the following steps are necessary:

  • create a keypair: rspamadm dkim_keygen -d <domain> -s <selector>
    • domain should be the domain you want to sign mails for
    • selector should be an unique identifier, for example: 2021020801
  • add dns record
  • create private key file at /var/lib/rspamd/dkim/<domain>.<selector>.key
    • chown _rspamd /var/lib/rspamd/dkim/*
    • chmod u=r,go= /var/lib/rspamd/dkim/*
  • create/update selector in /etc/rspamd/dkim_selectors.map: <domain> <selector>

dmarc reporting

rspamd can be instructed to send dmarc reports:

rspamd:
  dmarc_reporting:
    enabled: true # Enable reports in general
    email: 'dmarc-reports-noreply@example.de' # Source of DMARC reports
    domain: 'example.de' # Domain to serve
    org_name: 'example' # Organisation
    # Optional parameters
    bcc_addrs: # additional addresses to copy on reports
      - "postmaster@example.de"
    report_local_controller: false # Store reports for local/controller scans (for testing only)
    helo: 'rspamd.localhost' # Helo used in SMTP dialog
    smtp: '127.0.0.1' # SMTP server IP
    smtp_port: 25 # SMTP server port
    from_name: 'rspamd' # SMTP FROM
    msgid_from: 'rspamd' # Msgid format
    max_entries: 1000
    keys_expire: 172800 # 2 days

spam learning

To train ham/spam from move actions from/to junk folder, imap_sieve needs to be enabled in dovecot.

rspamd:
  train_from_junk: true

writing manual rules

example:

files:
  "/etc/rspamd/local.d/rspamd.lua":
    owner: _rspamd
    group: root
    mode: "0640"
    content: |
      -- Generica
      config['regexp']['SUBJECT_GENERICA'] = {
        re = 'Subject=/Die besten Generica/Hu',
        description = 'Subject contains "Die besten Generica"',
        score = 13.37,
        group = 'headers'
      }