Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Rspamd — zaawansowany filtr antyspamowy dla Postfix

Opublikowano: 10 kwietnia 2026 · Kategoria: Hosting

SpamAssassin przez lata był standardem w filtracji spamu na serwerach Linux, ale jego wydajność (poniżej 50 wiadomości/sekundę) stała się problemem nawet dla mniejszych serwerów pocztowych. Rspamd to nowoczesna alternatywa napisana w C: przetwarza tysiące wiadomości na sekundę, ma wbudowany DKIM signing, filtr Bayes z Redis backendem i czytelny interfejs webowy. Ten artykuł pokazuje integrację Rspamd z Postfixem przez milter, konfigurację kluczowych modułów ochrony i trening filtru Bayes.

Instalacja Rspamd

Rspamd dystrybuuje oficjalne pakiety dla Ubuntu i Debian przez własne repozytorium. Wymaga Redis jako backend dla filtra Bayes i przechowywania statystyk:

# Dodaj repozytorium Rspamd
curl https://rspamd.com/apt-stable/gpg.key | \
  sudo gpg --dearmor -o /usr/share/keyrings/rspamd.gpg
echo "deb [signed-by=/usr/share/keyrings/rspamd.gpg] https://rspamd.com/apt-stable/ $(lsb_release -cs) main" | \
  sudo tee /etc/apt/sources.list.d/rspamd.list

# Instaluj Rspamd i Redis
sudo apt update
sudo apt install -y rspamd redis-server

# Uruchom usługi
sudo systemctl enable --now rspamd redis-server

# Sprawdz status
sudo systemctl status rspamd
rspamc stat  # statystyki (baza Bayes, polaczenia)

Integracja z Postfixem przez milter

Milter (mail filter) to protokół pozwalający zewnętrznym programom przetwarzać wiadomości przechodzące przez Postfix. Rspamd wystawia socket milter domyślnie w /var/run/rspamd/rspamd.sock:

# /etc/postfix/main.cf - dodaj te linie
smtpd_milters = unix:/var/run/rspamd/rspamd.sock
non_smtpd_milters = unix:/var/run/rspamd/rspamd.sock
milter_default_action = accept      # fallback gdy Rspamd niedostepny
milter_protocol = 6

# Zrestartuj Postfix
sudo systemctl restart postfix

# Test - wyslij email i sprawdz logi
sudo tail -f /var/log/mail.log | grep rspamd
# Powinnien pojawic sie wpis: "rspamd: action=no action, score=X.XX"

# Konfiguracja progow w /etc/rspamd/local.d/actions.conf
actions {
  reject = 15;        # >= 15 punktow: odrzuc wiadomosc
  add_header = 6;     # >= 6: dodaj X-Spam nagłówek
  greylist = 4;       # >= 4: greylisting
}

DKIM signing — podpisywanie wychodzących emaili

DKIM (DomainKeys Identified Mail) to podpis kryptograficzny dodawany do każdego wychodzącego emaila. Weryfikuje, że wiadomość pochodzi z Twojej domeny i nie była modyfikowana w transporcie:

# Utwórz katalog na klucze DKIM
sudo mkdir -p /etc/rspamd/dkim

# Wygeneruj parę kluczy RSA 2048-bit
sudo rspamadm dkim_keygen \
  -s default \
  -d example.com \
  -b 2048 \
  -k /etc/rspamd/dkim/example.com.default.key \
  > /tmp/dkim_record.txt

# Wyswietl rekord DNS do dodania
cat /tmp/dkim_record.txt
# default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgk..."
# Dodaj ten rekord TXT w panelu DNS swojej domeny

# Konfiguracja /etc/rspamd/local.d/dkim_signing.conf
path = "/etc/rspamd/dkim/${domain}.${selector}.key";
selector_map = "/etc/rspamd/dkim_selectors.map";
# Lub prosta konfiguracja dla jednej domeny:
# domain {
#   example.com {
#     path = "/etc/rspamd/dkim/example.com.default.key";
#     selector = "default";
#   }
# }

sudo systemctl restart rspamd

# Weryfikacja - wyslij email i sprawdz naglowek DKIM-Signature

SPF, DMARC i moduły ochrony

Rspamd weryfikuje SPF i DMARC automatycznie przez moduły. Poniżej konfiguracja i whitelist dla zaufanych nadawców:

# Modul SPF - /etc/rspamd/local.d/spf.conf (domyslnie aktywny)
# SPF_FAIL daje -5 punktow, SPF_PASS daje +1

# Modul DMARC - /etc/rspamd/local.d/dmarc.conf
reporting = false;   # nie wysylaj raportow DMARC (dla serwera prywatnego)

# Whitelist - /etc/rspamd/local.d/whitelist.conf
# Zaufane IP (zawsze 0 punktow)
local_wl_ip = "10.0.0.0/8";
local_wl_ip = "192.168.0.0/16";

# Zaufane domeny nadawcow
whitelist_from = [
  "trusted-partner.com",
  "[email protected]",
];

# Blacklist IP - /etc/rspamd/local.d/rbl.conf
# Zewnetrzne listy RBL (Real-time Blackhole List)
rbls {
  spamhaus {
    symbol = "SPAMHAUS_ZEN";
    rbl = "zen.spamhaus.org";
    ipv4 = true;
    ipv6 = true;
    returncodes {
      SPAMHAUS_ZEN = "127.0.0.0/8";
    }
  }
}

Web interface i monitoring

Rspamd ma wbudowany interfejs webowy dostępny na porcie 11334. Wymaga hasła — zalecane jest przekierowanie przez Nginx z uwierzytelnieniem lub dostęp tylko przez tunel SSH:

Cecha Rspamd SpamAssassin
Język implementacji C + Lua Perl
Wydajność 10 000+ msg/s ~40 msg/s
DKIM signing Tak (wbudowany) Nie (trzeba osobnego)
Web UI Tak (wbudowany) Nie
Redis backend Tak (Bayes + statystyki) Opcjonalnie
Reguły community Rspamd rules Bardzo bogata baza
Aktywny rozwój Tak Wolny
# Ustaw haslo do web UI
rspamadm pw -q > /etc/rspamd/local.d/worker-controller.inc
# Wpisz haslo dwukrotnie, zostanie zapisane jako hash

# /etc/rspamd/local.d/worker-controller.inc (edytuj recznie):
password = "$2$HASH_HASLA";
enable_password = "$2$HASH_HASLA_ADMINA";

# Nginx proxy do web UI (opcjonalnie)
location /rspamd/ {
  proxy_pass http://127.0.0.1:11334/;
  proxy_set_header Host $host;
  auth_basic "Rspamd";
  auth_basic_user_file /etc/nginx/.htpasswd_rspamd;
}

# Ssh tunnel dla lokalnego dostepu (bezpieczniejsze)
# Na swoim komputerze:
# ssh -L 11334:localhost:11334 user@server -N
# Potem otworz http://localhost:11334 w przegladarce

Najczęstsze pytania

Czym Rspamd różni się od SpamAssassin? +
Rspamd jest napisany w C i Go (nie Perlu jak SpamAssassin) — jest wielokrotnie szybszy. Rspamd przetwarza 10 000+ wiadomości/sekundę vs ok. 40/sekundę SpamAssassin. Rspamd ma wbudowany DKIM signing (nie tylko sprawdzanie), Bayes filter z Redis backendem, web UI do monitorowania i konfiguracji, lepszy system reguł (Lua), oraz aktywny rozwój i wsparcie dla nowoczesnych standardów (DMARC, ARC). SpamAssassin jest starszy i ma więcej reguł community, ale jest znacznie wolniejszy.
Jak Rspamd integruje się z Postfixem? +
Integracja odbywa się przez protokół milter (mail filter). Postfix przekazuje każdą wiadomość do Rspamd przez Unix socket lub TCP, Rspamd analizuje i zwraca wynik (przyjmij/odrzuć/oznacz), Postfix wykonuje akcję. Konfiguracja w main.cf: smtpd_milters = unix:/var/run/rspamd/rspamd.sock i milter_default_action = accept (fallback jeśli Rspamd niedostępny). Rspamd może też modyfikować nagłówki (dodawać X-Spam-Score) lub przenosić do kwarantanny.
Jak trenować filtr Bayes w Rspamd? +
Trening Bayes w Rspamd: (1) Ręczny przez CLI: rspamc learn_spam /path/to/spam.eml lub rspamc learn_ham /path/to/ham.eml. (2) Przez web UI: wgraj plik .eml i oznacz jako spam/ham. (3) Autotraining: włącz autolearn = true w classifier.bayes.conf — Rspamd automatycznie uczy się z wiadomości z wysokim (spam) lub niskim (ham) wynikiem. Dane Bayes są w Redis. Potrzebujesz minimum 200 spamów i 200 hamów dla skutecznego filtrowania.
Jak włączyć DKIM signing w Rspamd? +
Rspamd może podpisywać wychodzące emaile DKIM. Kroki: (1) Wygeneruj klucz: rspamadm dkim_keygen -s default -d example.com -b 2048 > /etc/rspamd/dkim/example.com.default.key. (2) Dodaj rekord DNS TXT: default._domainkey.example.com z wygenerowaną wartością. (3) Skonfiguruj /etc/rspamd/local.d/dkim_signing.conf z path do klucza. (4) Zrestartuj Rspamd. Weryfikacja: wyślij email i sprawdź nagłówek DKIM-Signature.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.