105 lines
No EOL
2.5 KiB
Markdown
105 lines
No EOL
2.5 KiB
Markdown
# 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'
|
|
}
|
|
``` |