ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅ΠΆΠ΅Π»Π°Π½Π° ΠΏΠΎΡΠ° Rspamd 3.0, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΡΠ΅ΡΠ½ΠΈ ΡΠΏΠΈΡΡΡΠΈ, Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠ΅ΠΆΠ΅ΡΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΈ Π΄Π° Π±Π»ΠΎΠΊ. Rspamd ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Π² SpamAssassin, ΠΈ ΠΈΠΌΠ° ΡΠ΅Π΄ΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠ°ΡΠ° ΡΡΠ΅Π΄Π½ΠΎ 10 ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ SpamAssassin, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊ C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache 2.0.
Rspamd Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠΈΠ»Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΡΠΎΡΠΈΡΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ·Π½Π°ΡΠΈ Π½Π° ΡΠΏΠ°ΠΌ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ²ΠΊΠ°Π²ΠΈ ΠΈ Π² Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠ°ΡΠ° ΡΠΈ ΡΠΎΡΠΌΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ, Π° Π² ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Lua. Π Π°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ C ΠΈ Lua. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠ° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SPF, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ° ΡΡΠ΅Π· DKIM ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ DNSBL ΡΠΏΠΈΡΡΡΠΈ. ΠΠ° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΡΠΎΡ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° HTML, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ. ΠΠΎΠ²ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° HTML Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° DOM ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΄ΡΡΠ²ΠΎ ΠΎΡ ΡΠ°Π³ΠΎΠ²Π΅. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΡΡΠΎ Π²ΡΠ²Π΅ΠΆΠ΄Π° CSS Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° Ρ Π½ΠΎΠ² HTML Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ, Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ°ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΈΠΌΠ΅ΠΉΠ»ΠΈ Ρ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΎ HTML ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΠΊΠΎΠ΄ΡΡ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠ° Π½Π΅ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊ C, Π° Π½Π° C++17, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΎΠ·ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡ Π·Π° Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅.
ΠΡΡΠ³ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° API Π½Π° Amazon Web Services (AWS), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Amazon ΠΎΡ Lua API. ΠΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠ»ΡΠ³ΠΈΠ½, ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° Amazon S3
- ΠΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ Π΅ ΠΊΠΎΠ΄ΡΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΡΠ΅ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° DMARC ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΎΡΡΠ΅ΡΠΈ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° spamadm dmarc_report.
- ΠΠ° ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΠΏΠΈΡΡΡΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° βDMARC mungingβ, Π·Π°ΠΌΠ΅Π½ΡΠΉΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ° Π½Π° From Π² ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Ρ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈΡ Π°Π΄ΡΠ΅Ρ, Π°ΠΊΠΎ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ DMARC ΠΏΡΠ°Π²ΠΈΠ»Π°.
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ»ΡΠ³ΠΈΠ½ external_relay, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ ΠΊΠ°ΡΠΎ SPF, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π΄ΠΎΠ²Π΅ΡΠ΅Π½ΠΎΡΠΎ ΡΠ΅Π»Π΅ Π·Π° ΠΏΠΎΡΠ° Π²ΠΌΠ΅ΡΡΠΎ Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° "rspamadm bayes_dump" Π·Π° ΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΡΠΎΠΊΠ΅Π½ΠΈ Π½Π° Bayes, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° Rspamd.
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠ°ΠΌ Pyzor.
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΠ° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΠΏΠΎ-ΡΡΠ΄ΠΊΠΎ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru