RSPAMD an WAZUH

Aus Xinux Wiki
Version vom 28. Juni 2026, 05:50 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Rspamd mit Virenerkennung = Rspamd wird als Milter an Postfix angebunden und prüft jede Mail. Über das Antivirus-Modul bindet es ClamAV ein und weist vers…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Rspamd mit Virenerkennung

Rspamd wird als Milter an Postfix angebunden und prüft jede Mail. Über das Antivirus-Modul bindet es ClamAV ein und weist verseuchte Mails ab.

Installation Rspamd

Repo-Werkzeuge
  • apt update
  • apt install -y lsb-release wget gpg
Signing-Key des offiziellen Rspamd-Repos
Repo eintragen
Rspamd und Redis installieren (Redis für Statistik/Cache)
  • apt update
  • apt install -y rspamd redis-server
Dienste aktivieren
  • systemctl enable --now redis-server
  • systemctl enable --now rspamd

Rspamd an Postfix anbinden

Ohne diese Anbindung läuft Rspamd zwar, wird von Postfix aber nie aufgerufen.

In die main.cf aufnehmen
  • vi /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:11332
non_smtpd_milters = inet:127.0.0.1:11332
milter_default_action = accept
milter_protocol = 6
Wichtig
Der smtps-Block (Port 465) muss den Milter explizit bekommen

Roundcube liefert über 465 ein. Ohne diese Zeile wird Rspamd für Webmail-Mail nicht aufgerufen, also auch nicht für die Virenprüfung.

  • vi /etc/postfix/master.cf
smtps     inet  n       -       y       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_milters=inet:127.0.0.1:11332
Postfix neu laden
  • systemctl restart postfix

Installation ClamAV

Scanner und Daemon installieren
  • apt install -y clamav clamav-daemon
Signaturen holen (clamd startet sonst nicht)
  • systemctl stop clamav-freshclam
  • freshclam
  • systemctl start clamav-freshclam
  • systemctl enable --now clamav-daemon
Prüfen, dass der Socket da ist
  • ls -l /run/clamav/clamd.ctl

Rspamd darf an den clamd-Socket

Der Rspamd-User muss in die clamav-Gruppe, sonst kein Zugriff auf den Unix-Socket.

  • usermod -a -G clamav _rspamd

Antivirus-Modul konfigurieren

Datei anlegen
  • vi /etc/rspamd/local.d/antivirus.conf
clamav {
    type = "clamav";
    symbol = "CLAM_VIRUS";
    servers = "/run/clamav/clamd.ctl";

    # Virus gefunden => harte Ablehnung, unabhängig vom Spam-Score
    action  = "reject";
    message = '${SCANNER}: Virus gefunden: "${VIRUS}"';

    scan_mime_parts = true;
    scan_text_mime  = false;
    scan_image_mime = false;
    max_size = 20000000;

    # EICAR sauber als eigenes Symbol erkennbar machen
    patterns {
        JUST_EICAR = '^Eicar-Test-Signature$';
    }
}
Syntax prüfen und neu starten
  • rspamadm configtest
  • systemctl restart clamav-daemon
  • systemctl restart rspamd

Funktionstest

1. ClamAV direkt prüfen (muss "Eicar-Test-Signature FOUND" zeigen)
  • echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' | clamdscan -
2. Mail mit EICAR-Anhang an einen Lab-User schicken
  • echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar.txt
  • mail -s "Rechnung" -A /tmp/eicar.txt martha@it2XX.int < /dev/null
3. Treffer im Rspamd-Log
  • tail -f /var/log/rspamd/rspamd.log | grep CLAM_VIRUS

Erwartete Logzeile:

CLAM_VIRUS(0.00){Eicar-Test-Signature;} ... action: reject