Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

rspamd

  • Clone with SSH
  • Clone with HTTPS
  • Julian Rother's avatar
    Julian authored
    dcdc8d72
    History
    Name Last commit Last update
    defaults
    files
    handlers
    meta
    tasks
    templates
    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'
          }