Spamassassin vs Rspamd

Sziasztok!

Új projekthez kéne eldönteni, hogy melyik legyen. Én az Rspamd-t egyáltalán nem ismerem, de jókat olvasok róla. Ha van valakinek tapasztalata vele, megoszthatná velem. Adminisztrálás, minőség, előnyök, hátrányok stb.
Előre is köszi.

Hozzászólások

Csak azt tudom javasolni, hogy bármelyiket választod a folyamatos felügyelet kelleni fog, illetve már SMTP szinten előttük érdemes megfogni a próbálkozások nagyrészét.

Egyértelműen Rspamd. Kb a megjelnéstől használtam a Spamassassint.

Az Rspamd-re decemberben váltottam, jelenleg 3 különböző környezetben fut, összesen 10 mailservert szűrnek.
Gyönyörűen teszi a dolgát, atomstabil, a neural modul is szépen betanítja magát, volumentől függően pár nap vagy hét alatt.

Arra kell figyelni, hogy Redis alá érdemes kicsivel több memóriát adni, ha nagy a forgalom a mailservereken.

A BL checkeket és a graylistinget is bízd rá!

Most hallottam róla először, ~13 éve én is Spamassassint használok, de most feltettem egy teszt szerverre.
Eddig nagyon tetszik az rspamd, úgy tervezem, hogy a meglévő szűrőm elé fogom betenni, több filter többet lát alapon.

Most épp azon agyalok, hogy hogyan tudnék nagy mennyiségű spam és ham levelet kinyerni a userektől, hogy felgyorsítsam a tanulását.

Nekem mindkettő van, kb. 0 darab spam jön (pár hónapja váltottam, a spamassassin meg a postfix RBL-ek nem voltak elég hatékonyak).
A score-t statisztika alapján lehúztam 15-ről 9-re (igazából 7-ig le lehetne, de az bizonyos esetekben már túl szigorú).

Tanítás: csináltass minden userrel egy megfelelő mappát (pl. "Junk") és mondjuk 10 percenként dolgozd fel a tartalmát ('rspamc learn_spam').

Külön szerveren lesz (mailgw) az rspamd, mint a dovecot/postfix (webmail), ezért nem tudom direktben tanítani.

Amit nem tudok, hogyan tudom én, vagy az userek tanítani? Mármint a webfelületen keresztül? A history alatt látom a leveleket, de nem tudom megmondani, hogy itt-ott tévedett, vagy csak nem találom az erre szolgáló menüpontot.

Nem akadaly, csak tovabbitsd a levelet az rspamd szerverre.

Nalam is masik hoston fut a szuro, ezert icy nez ki a tanitas: global sieve rule elkapja, hogy a user levelet tett a Junk mappaba; belso SMTP-n tovabbitja az rspamd szerverre; ott a cim alapjan alias atadja a tanito scriptnek a levelet.

Kár hogy az ispconfigba még nincs benne...

Hát, gyerekek, az elmúlt hetekben a cégünk kis hálózatának STMP gateway-ét kellett lecserélnem, mert a régi Sendmail/Spamassassin kombó már naponta százával engedte át a spameket. Átálltam Rspamd-re, és leesett tőle az állam. Jól tudom, hogy oroszok kezdték fejleszteni? Hát, ezek az oroszok tudnak valamit. Postfixből meghívott milterként szűri a spameket (illetve Clamav-et is meghív, hogy a vírusokat is elkaphassa úgy-ahogy), és a kimenő leveleinket is ellátja DKIM aláírással, és úgy tűnik, tényleg hibátlanul teszi a dolgát. Egy rolling release van alatta, így időközben 1.9.4-ről már frissítettem a pár napja megjelent 2.0-ra, és úgy tűnik, a frissítés is probléma nélkül lement. Csak ajánlani tudom.

Mondjuk annyit hozzátennék, hogy a régi spamszűrő rossz hatékonyságának köszönhetően rengeteg spamet tudtam begyűjteni, és mielőtt élesben elindítottam az Rspamd-t kb. ezer-ezer spammel és hammel tanítottam be az `rspamc learn_spam` és `rspamc learn_ham` parancsok segítségével a bayes classifier modult. Az Rspamd webes felületén figyelve látom, ahogy fokozatosan változik a divatos spamek témája, ezért jó, hogy a bayes statisztikai modul automatikusan tanítja magát, az elavult leveleket pedig folyamatosan selejtezi ki az adatbázisból. A következőképpen állítottam be a tanulást/avulást a /etc/rspamd/local.d/classifier-bayes.conf fájlban:

backend = "redis";
servers = "localhost:6378";
new_schema = true;
autolearn = [-4, 11.5];
expire = 7776000;

Ez ugye 90 napos elavulást jelent, és a 11,5-nél több "rossz pontot gyűjtő" levelek spamként, illetve a -4-nél kevesebbet gyűjtő levelek hamként történő megtanulását jelenti. Nem biztos, hogy a legjobb értékeket sikerült beállítanom, de eddig meglehetősen jól bevált ez a beállítás.

Még az jár a fejemben, hogy hosszabb távon TALÁN megpróbálkozom a Fuzzy check, a DCC és a Trie modulok beüzemelésével is, de egyelőre azok nélkül is kiválóan működik.

Régebben a Postfixben próbálkoztam meg olyan szigorú tiltásokkal, mint a reject_unknown_client_hostname vagy reject_unknown_helo_hostname, de elég sok legális levél is elveszett miattuk. Az Rspamd viszont majdnem minden ilyen feltételt (és még sokkal többet) képes vizsgálni, és olyan pontszámot rendelek hozzájuk, amilyet akarok. Középtávon el tudom képzelni, hogy más szabályokat is áthozok a Postfixből az Rspamd-be, hogy az még hatékonyabban tanuljon, illetve hogy szükség esetén "meg tudjon kegyelmezni" a béna, de jó szándékú levélküldőknek. A multimap modul segítségével máris létrehoztam DNS-zónákra és IP-címtartományokra vonatkozó fehérlistákat néhány partnerünk számára.

Az említett Postfix szabályokat pl. így ültettem át az Rspamd /etc/rspamd/local.d/groups.conf fájljába:

symbols = {
 "HFILTER_HOSTNAME_UNKNOWN" {
  weight = 4;
 }
 "HFILTER_HELO_IP_A" {
  weight = 2;
 }
}

A fehérlisták pedig így néznek ki a /etc/rspamd/local.d/multimap.conf fájlban:

sajat_from_dns_whitelist {
 type = "from";
 filter = "email:domain";
 map = "$LOCAL_CONFDIR/local.d/sender_domain_whitelist.map";
 symbol = "SAJAT_FROM_DNS_WHITELIST";
 description = "Feherlistazas a felado DNS domainje alapjan";
 score = -4.0;
}
sajat_from_ip_whitelist {
 type = "ip";
 map = "$LOCAL_CONFDIR/local.d/sender_ip_whitelist.map";
 symbol = "SAJAT_FROM_IP_WHITELIST";
 description = "Feherlistazas a felado IP cime alapjan";
 score = -6.0;
}

Egyébként nagyon fontos, hogy az Rspamd csomag által tartalmazott konfigfájlokat SOHA NEM SZERKESZTEM (mert azokat egy szoftverfrissítés felülírná), hanem a /etc/rspamd/local.d/ könyvtárban hozom létre az alapértelmezettől eltérő konfigurációs opciókat tartalmazó fájljaimat.

Már csak abban reménykedem, hogy nem az orosz titkosszolgálatnál kötnek ki a leveleink ;-)

Ja, még egy fontos infó: Sokat szívtam azzal, hogy a doksiban leírt konfigurációs szintaxissal nem tudja a DKIM signing modul a domain-specifikus konfigurációkat értelmezni, ezért csak fallback üzemmódban tudtam beüzemelni. Lehet, hogy a 2.0-ás verzióban már javították ezt a hibát, de az is lehet, hogy én rontottam el valamit. Ti tapasztaltatok hasonlót?