Rspamd はイベント駆動型のアーキテクチャを使用して構築されており、当初は高負荷のシステムで使用するように設計されており、XNUMX 秒あたり数百のメッセージを処理できます。 スパムの兆候を識別するためのルールは非常に柔軟で、最も単純な形式には正規表現を含めることができ、より複雑な状況では Lua で記述することができます。 機能の拡張と新しいタイプのチェックの追加は、C 言語および Lua 言語で作成できるモジュールを通じて実装されます。 たとえば、SPF を使用した送信者の検証、DKIM を介した送信者のドメインの確認、DNSBL リストへのリクエストの生成にモジュールを使用できます。 構成を簡素化し、ルールを作成し、統計を追跡するために、管理 Web インターフェイスが提供されています。
主な革新:
- 新しい号番号付けスキームに移行しました。 バージョン番号の最初の数字は数年間変更されておらず、実際のバージョン インジケーターは XNUMX 番目の数字であるため、「xyz」スキームの代わりに「yz」形式に切り替えることが決定されました。
- 代わりにイベントループの場合
リイベント 関連する図書館リベフ これにより、libevent の制限の一部が削除され、パフォーマンスが向上します。 使用法
libev により、コードの簡素化、信号とタイムアウトの処理の改善、inotify メカニズムを使用したファイル変更追跡の統合が可能になりました (サポートされているプラットフォーム用に出荷されたすべての libevent リリースが inotify で動作するわけではありません)。 - Torch 深層機械学習ライブラリを使用するメッセージ分類モジュールのサポートは廃止されました。 その理由として、Torch が過度に複雑であることと、Torch を最新の状態に保つことが非常に複雑であることが挙げられます。 機械学習手法を使用した分類の代替として、完全に書き直されたモジュールが提案されています
ニューラル 、ニューラル ネットワークの動作を保証するためにライブラリが使用されます。缶 、これには 4000 行の C コードしか含まれていません。 新しい実装では、トレーニング中のデッドロックの発生に関する多くの問題が解決されます。 - モジュール
RBL SURBL モジュールと Emails モジュールが置き換えられ、すべてのブラックリスト チェックの処理を統合できるようになりました。 RBL の機能は、セレクターなどの追加タイプのサポートや、既存のルールを簡単に拡張するためのツールを含むように拡張されました。 DNS RBL ではなくマップ リストに基づく電子メール ブロック ルールはサポートされなくなりました。代わりにセレクターを備えたマルチマップを使用することをお勧めします。 - コンテンツに基づいてファイルの種類を決定するには、libmagic の代わりに Lua と Hyperscan を使用する新しい Lua Magic ライブラリが使用されます。
独自のライブラリを作成する理由には、より高いパフォーマンスを達成すること、docx ファイルを識別する際の失敗を取り除くこと、より適切な API を取得すること、厳密なルールに制限されない新しいタイプのヒューリスティックを追加することが含まれます。 - DBMS にデータを保存するための改良されたモジュール
クリックハウス 。 LowCardinality フィールドを追加し、メモリ消費を大幅に最適化しました。 - モジュールの機能が拡張されました
マルチマップ 、サポートが登場しました結合 и依存 比較。 - Maillist モジュールはメーリング リストの定義を改善しました。
- ワーカー プロセスは、ハートビート メッセージをメイン プロセスに送信して、通常の動作を確認できるようになりました。 一定時間そのようなメッセージが存在しない場合、メインプロセスはワーカープロセスを強制終了することができます。 デフォルトでは、このモードは今のところ無効になっています。
- Lua 言語の一連の新しいスキャナーが追加されました。 たとえば、Kaspersky ScanEngine、Trend Micro IWSVA (icap 経由)、および
F-Secure インターネット ゲートキーパー (icap 経由)、Razor、oletools、および P0F 用の外部スキャナーも提供します。 - Lua API 経由でメッセージを変更する機能が追加されました。 MIME ブロックに変更を加えるモジュールが提案されています
lib_mime ; - 「Settings-Id:」を通じて設定された設定の個別の処理が提供されています。たとえば、ルールを特定の設定識別子にのみバインドできるようになりました。
- Lua エンジン、base64 デコード、テキストの言語検出のパフォーマンスが最適化されました。 複雑なマップのキャッシュのサポートが追加されました。 サポートの実施
HTTP キープアライブ。
出所: オープンネット.ru