Released was the spam filtering system Rspamd 3.9, which provides means for assessing messages based on various criteria, including rules, statistical methods, and blacklists, on the basis of which the final weight of the message is formed, used to make a decision on the need for blocking. Rspamd supports nearly all features implemented in SpamAssassin and has a number of features that allow it to filter mail on average 10 times faster than SpamAssassin, as well as to provide better filtering quality. The system's code is written in C and is distributed under the Apache 2.0 license.
Rspamd is built using an event-driven architecture and is primarily designed for use in high-load systems, allowing for the processing of hundreds of messages per second. The rules for identifying signs of spam are highly flexible and can in their simplest form contain regular expressions, while in more complex situations can be formulated in Lua. Extending functionality and adding new types of checks is implemented through modules, which can be created in C and Lua. For example, modules are available for checking the sender using SPF, confirming Π΄ΠΎΠΌΠ΅ΠΉΠ½ the sender via DKIM, and generating queries to DNSBL lists. To simplify configuration, rule creation, and statistics tracking, an administrative web interface is provided.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π±Π°ΠΉΠ΅ΡΠΎΠ²ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΎΡ 5 Π½Π° 2 Π΄ΡΠΌΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΠ΅ΡΠΈΡΠΈΠΊΡΠ°ΡΠ½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΡΡΡΠΎ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π²Π»ΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠΏΠ°ΠΌΠ°. ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° "rspamadm classifier_test".
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠΎΠ΄ΡΠ» GPT, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API OpenAI GPT Π·Π° ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π· Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΡΠΎ GPT-3.5 Turbo ΠΈ GPT-4o. Π’ΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠΏΠ°ΠΌΠ° Ρ Π½ΠΎΠ²ΠΈΡ ΠΌΠΎΠ΄ΡΠ» Π΅ ΠΏΠΎ-Π½ΠΈΡΠΊΠ° ΠΎΡ ΡΠ°Π·ΠΈ Π½Π° Π±Π°ΠΉΠ΅ΡΠΎΠ²ΠΈΡ ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎΡΠΎ ΠΌΡ Π΅, ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π±Π°ΠΉΠ΅ΡΠΎΠ²ΠΈΡ ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ. ΠΡΠ²Π΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎΡΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠΏΠ°ΠΌ Π² ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°, ΠΌΠΎΠ΄ΡΠ»ΡΡ GPT ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π·Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°ΠΉΠ΅ΡΠΎΠ²ΠΈΡ ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ known_senders ΠΈ replies Π·Π° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π²Π°Π½Π΅ Π½Π° Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅Π»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π»ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ.
- ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π°ΡΠ° ΡΠΌΡΠ½Π° Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ (dynamic ratelimit), ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΅Π΄ΠΈΠ½ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ, ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π» ΠΈΠ»ΠΈ IP Π°Π΄ΡΠ΅ΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
