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