lëshimi i sistemit të filtrimit të spamit , duke ofruar mjete për vlerësimin e mesazheve sipas kritereve të ndryshme, duke përfshirë rregulla, metoda statistike dhe lista të zeza, në bazë të cilave formohet pesha përfundimtare e mesazhit, e përdorur për të marrë një vendim në lidhje me bllokimin e tij. Rspamd mbështet praktikisht të gjitha funksionalitetet e realizuara në SpamAssassin dhe ka një sërë veçorish që lejojnë filtrimin e postës mesatarisht 10 herë më shpejt se SpamAssassin, si dhe të sigurojnë cilësi më të mirë filtrimi. Kodi i sistemit është shkruar në gjuhën C dhe nën licencën Apache 2.0.
Rspamd është ndërtuar me një arkitekturë të orientuar nga ngjarjet (Event-driven) dhe fillimisht është projektuar për t'u përdorur në sisteme me ngarkesë të lartë, duke lejuar përpunimin e qindra mesazheve në sekondë. Rregullat për identifikimin e shenjave të spamit ofrojnë fleksibilitet të lartë dhe në formatin më të thjeshtë mund të përfshijnë shprehje të rregullta, ndërsa në situata më të komplikuara mund të redaktohen në gjuhën Lua. Zgjerimi i funksionalitetit dhe shtimi i llojeve të rinj të kontrolleve realizohet përmes moduleve, të cilat mund të krijohen në gjuhët C dhe Lua. Për shembull, janë të disponueshme module për verifikimin e dërguesit duke përdorur SPF, konfirmimin e domainit të dërguesit përmes DKIM, dhe formimin e kërkesave në listat DNSBL. Për të thjeshtuar konfigurimin, krijimin e rregullave dhe ndjekjen e statistikave, ofrohet një ndërfaqe administrative web.
TĂ« rejat kryesore:
- ĂshtĂ« realizuar kalimi nĂ« njĂ« skemĂ« tĂ« re numĂ«rimi tĂ« lĂ«shimeve. Duke qenĂ« se numri i parĂ« nĂ« numrin e versionit nuk Ă«shtĂ« ndryshuar pĂ«r disa vjet, ndĂ«rsa treguesi real i versionit Ă«shtĂ« numri i dytĂ«, Ă«shtĂ« vendosur qĂ« nĂ« vend tĂ« skemĂ«s "x.y.z" tĂ« kalohen nĂ« formatin "y.z";
- Për ciklin e përpunimit të ngjarjeve në vend është angazhuar biblioteka , e cila është e lirë nga disa kufizime të libevent dhe lejon arritjen e performancës më të lartë. Përdorimi
libev ka lejuar thjeshtimin e kodit, përmirësimin e trajtimit të sinjaleve dhe kohëve të pritjes, si dhe unifikimin e ndjekjes së ndryshimeve të skedarëve me mekanizmin inotify (jo të gjitha versionet e ofruara për platformat e mbështetura të libevent ishin në gjendje të punonin me inotify); - Ka ndaluar mbështetje për modulin e klasifikimit të mesazheve që përdor bibliotekën e mësimit të thellë Torch. Si arsyetim është dhënë kompleksiteti i tepruar i Torch dhe shkalla e madhe e punës për mbajtjen e tij të azhurnuar. Si zëvendësim për klasifikimin duke përdorur metoda të mësimit të makinave është propozuar një modul i ri i shkruar krejtësisht , në të cilin për të siguruar funksionimin e rrjetit nervor përdoret biblioteka , e cila përfshin vetëm 4000 rreshta kodi në gjuhën C. Në implementimin e ri janë zgjidhur shumë probleme me bllokimet e ndërsjella gjatë trajnimet;
- Moduli zëvendësoi modulët SURBL dhe Emails, duke i lejuar të unifikohet përpunimi i të gjitha kontrolleve në listashtesat e zezë. Mundësitë RBL janë zgjeruar me mbështetje për lloje shtesë, të tilla si selektorët, dhe mjete për thjeshtimin e zgjerimit të rregullave ekzistuese. Rregullat e bllokimit të emailit mbi bazën e listave map më shumë nuk mbështeten, e rekomanduar është përdorimi i multimap me selektorët;
- Për përcaktimin e llojeve të skedarëve sipas përmbajtjes është përdorur një bibliotekë e re Lua Magic, e cila përdor Lua dhe Hyperscan në vend të libmagic.
Si shkak për krijimin e bibliotekës së vet, përmendet dëshira për të arritur një performancë më të lartë, për t'u shpëtuar nga dështimet në identifikimin e skedarëve docx, për të marrë një API më të përshtatshëm dhe për të shtuar lloje të reja heuristikash, pa u kufizuar nga rregullat strikte; - Moduli për ruajtjen e të dhënave në DB është përmirësuar . Janë shtuar fushat LowCardinality dhe është optimizuar në mënyrë të konsiderueshme konsumimi i memories;
- Janë zgjeruar mundësitë e modulit , në të cilin është shtuar mbështetje për dhe përputhjesh;
- Në modulën Maillist është përmirësuar identifikimi i listave të dërgimit;
- Në proceset punuese është shtuar mundësia për të dërguar mesazhe heartbeat në procesin kryesor, që konfirmojnë funksionimin normal. Në mungesë të këtyre mesazheve për një periudhë të caktuar, procesi kryesor mund të ndalojë me forcë procesin punues. Ky modalitet është ndalur për momentin.
- ĂshtĂ« shtuar njĂ« seri e re skanuesish nĂ« gjuhĂ«n Lua. PĂ«r shembull, janĂ« shtuar module pĂ«r skanimin e mesazheve nĂ« paketat antivirale Kaspersky ScanEngine, Trend Micro IWSVA (nĂ«pĂ«rmjet icap) dhe
F-Secure Internet Gatekeeper (nĂ«pĂ«rmjet icap), si dhe janĂ« propozuar skanues tĂ« jashtĂ«m pĂ«r Razor, oletools dhe P0F; - ĂshtĂ« shtuar mundĂ«sia e ndryshimit tĂ« mesazheve pĂ«rmes API-sĂ« Lua. PĂ«r tĂ« bĂ«rĂ« ndryshime nĂ« blloqet MIME, Ă«shtĂ« propozuar moduli ;
- ĂshtĂ« siguruar pĂ«rpunimi i ndarĂ« i konfigurimeve tĂ« vendosura pĂ«rmes "Settings-Id:", pĂ«r shembull, tani Ă«shtĂ« e mundur tĂ« lidhen rregulla vetĂ«m me Identifikues tĂ« caktuar tĂ« konfigurimit;
- JanĂ« kryer optimizime tĂ« performancĂ«s sĂ« motorit Lua, dekodimit base64 dhe identifikimit tĂ« gjuhĂ«s pĂ«r tekst. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r caching tĂ« pĂ«rputhjeve komplekse (maps). ĂshtĂ« realizuar mbĂ«shtetje pĂ«r
HTTP keep-alive.
Burimi: opennet.ru
