vSMTP to serwer pocztowy z wbudowanym językiem do filtrowania ruchu

W ramach projektu vSMTP opracowywany jest nowy serwer pocztowy (MTA), którego celem jest zapewnienie wysokiej wydajności oraz zapewnienie elastycznych możliwości filtrowania i zarządzania ruchem. Kod projektu napisany jest w języku Rust i jest rozpowszechniany na licencji GPLv3.

Według wyników testów opublikowanych przez twórców, vSMTP jest dziesięć razy szybszy niż konkurencyjne MTA. Na przykład vSMTP wykazał 4-13 razy większą przepustowość niż Postfix 3.6.4 przy przesyłaniu wiadomości o rozmiarze 100 KB i ustanawianiu 4-16 jednoczesnych sesji. Wysoką wydajność osiąga się dzięki zastosowaniu architektury wielowątkowej, w której do komunikacji pomiędzy wątkami wykorzystywane są kanały asynchroniczne.

vSMTP - serwer pocztowy z wbudowanym językiem do filtrowania ruchu

vSMTP rozwijany jest ze szczególnym naciskiem na zapewnienie wysokiego bezpieczeństwa, które osiągane jest poprzez intensywne testowanie z wykorzystaniem testów statycznych i dynamicznych, a także wykorzystanie języka Rust, który przy właściwym użyciu pozwala uniknąć wielu błędów związanych z pracą z pamięcią. Pliki konfiguracyjne są zdefiniowane w formacie TOML.

vSMTP - serwer pocztowy z wbudowanym językiem do filtrowania ruchu

Cechą szczególną projektu jest także obecność wbudowanego języka vSL do pisania skryptów filtrujących pocztę, co pozwala na tworzenie bardzo elastycznych reguł filtrowania niechcianych treści i zarządzania ruchem. Język oparty jest na języku Rhai, który wykorzystuje dynamiczne pisanie, umożliwia wstawianie kodu w programach Rust i zapewnia składnię przypominającą mieszankę JavaScript i Rust. Skrypty są wyposażone w interfejs API umożliwiający sprawdzanie i modyfikowanie wiadomości przychodzących, przekierowywanie wiadomości i kontrolowanie ich dostarczania do hostów lokalnych i zdalnych. Skrypty obsługują łączenie się z systemem DBMS, uruchamianie dowolnych poleceń i poddawanie kwarantannie wiadomości e-mail. Oprócz vSL, vSMTP obsługuje również SPF i filtry oparte na listach otwartych przekaźników w celu zwalczania niechcianych wiadomości.

Plany na przyszłą wersję obejmują możliwość integracji z systemem DBMS opartym na SQL (obecnie dane o adresach i hostach podawane są w formacie CSV) oraz obsługę mechanizmów uwierzytelniania DANE (DNS-Based Authentication of Named Entities) i DMARC (Domain-based Authentication Uwierzytelnianie wiadomości). W kolejnych wersjach planowane jest wdrożenie mechanizmów BIMI (Brand Indicators for Message Identification) i ARC (Authenticated Otrzymane Łańcuch), możliwość integracji z Redis, Memcached i LDAP, narzędzia do ochrony przed botami DDoS i SPAM, wtyczki do organizowania sprawdza pakiety antywirusowe (ClamAV, Sophos itp.).

Źródło: opennet.ru

Dodaj komentarz