vSMTP — поштовий сервер із вбудованою мовою для фільтрації трафіку

Проект vSMTP розвиває новий поштовий сервер (MTA), націлений на забезпечення високої продуктивності та надання гнучких можливостей щодо фільтрації та керування трафіком. Код проекту написаний мовою Rust та поширюється під ліцензією GPLv3.

Відповідно до опублікованих розробників результатів тестування, vSMTP в десять разів швидше, ніж конкуруючі MTA. Наприклад, vSMTP показав у 4-13 разів вищу ніж у Postfix 3.6.4 пропускну здатність, при передачі повідомлень розміром 100 КБ та встановлення 4-16 одночасних сеансів. Висока продуктивність досягається завдяки застосуванню багатопоточної архітектури, в якій взаємодії потоків використовуються асинхронні канали.

vSMTP - поштовий сервер із вбудованою мовою для фільтрації трафіку

vSMTP розвивається з первинною орієнтацією на забезпечення високої безпеки, що досягається інтенсивним тестуванням із застосуванням статичних та динамічних тестів, а також застосуванням мови Rust, що дозволяє при належному використанні уникнути багатьох помилок, пов'язаних із роботою з пам'яттю. Конфігураційні файли визначаються у форматі TOML.

vSMTP - поштовий сервер із вбудованою мовою для фільтрації трафіку

Особливістю проекту є наявність вбудованої мови vSL для написання сценаріїв фільтрації листів, що дозволяє створювати дуже гнучкі правила відсіювання небажаного вмісту та управління трафіком. Мова заснована на мові Rhai, що використовує динамічну типізацію, що забезпечує вбудовування коду в програми на Rust і надає синтаксис, що нагадує суміш JavaScript та Rust. Сценаріям надається API для інспектування та модифікації вхідних повідомлень, перенаправлення повідомлень та керування їх доставкою на локальні та віддалені хости. У сценаріях підтримується з'єднання до СУБД, запуск довільних команд та розміщення листів до карантину. Крім vSL для боротьби з небажаними повідомленнями vSMTP також підтримуються SPF і фільтри на основі списків відкритих релеїв.

З планів на майбутній випуск відзначається можливість інтеграції з СУБД на базі SQL (зараз дані про адреси та хості задаються у форматі CSV) і підтримка механізмів аутентифікації DANE (DNS-Based Authentication of Named Entities) та DMARC (Domain-based Message Authentication). У більш відокремлених версіях планується реалізувати механізми BIMI (Brand Indicators for Message Identification) та ARC (Authenticated Received Chain), можливість інтеграції з Redis, Memcached та LDAP, засоби захисту від DDoS та SPAM-ботів, плагіни для організації перевірок в антивірусних пакетах ( ClamAV, Sophos і т.п.).

Джерело: opennet.ru

Додати коментар або відгук