В сентябре 2018 года, спустя три c половиной года с момента прошлого выпуска представлен релиз платформы для фильтрации спама - SpamAssassin 3.4.2.
В SpamAssassin реализован комплексный подход в принятии решения о блокировании: сообщение подвергается ряду проверок (контекстный анализ, черные и белые списки DNSBL, обучаемые байесовские классификаторы, проверка по сигнатурам, аутентификация отправителя по SPF и DKIM и т.п.). После оценки сообщения разными методами, накапливается определенный весовой коэффициент. Если вычисленный коэффициент превышает определенный порог - сообщение блокируется или помечается как спам.
Поддерживаются средства автоматического обновления правил фильтрации. Пакет может использоваться как на клиентских, так и на серверных системах.
Код SpamAssassin написан на языке Perl и распространяется под лицензией Apache.
Особенности нового выпуска:
- Добавлены плагины (отключены по умолчанию):
- Mail::SpamAssassin::Plugin::HashBL - интерфейс к EBL (Email Blocklist), списку блокировки email-адресов, специфичных для spam-сообщений. Список блокировки может оказаться полезен в ситуациях, когда блокировка по доменам и IP невозможна из-за значительного числа ложных срабатываний;
- Mail::SpamAssassin::Plugin::ResourceLimits - использует perl-модуль BSD::Resource для ограничения ресурсов CPU и памяти для дочерних процессов spamd;
- Mail::SpamAssassin::Plugin::FromNameSpoof - выявляет спуфинг содержимого поля "From:", когда спамеры подставляют в качестве отправителя адреса легитимных пользователей;
- Mail::SpamAssassin::Plugin::Phishing - осуществляет поиск в сообщении ссылок на фишинговые сайты, присутствующие в чёрных списках OpenPhish и PhishTank;
- Из соображений безопасности из spamc удалена поддержка протокола SSLv3, который уже не считается надёжным;
Проведена оптимизация кода, позволившая ускорить запуск процесса spamd; - В скрипт sa-update добавлена возможность проверки целостности загружаемых правил с использованием хэщ-функций SHA-256 и SHA-512, вместо ранее применяемого SHA1 (SpamAssassin прекращает применение цифровых подписей на базе SHA1 для верификации обновлений правил);
- Проведена работа по усилению безопасности плагина TxRep. Переработан код для работы с временными файлами. Усилены проверки в обработчиках spamd;
- В плагины RelayCountry и URILocalBL добавлена поддержка API GeoIP2;
- Добавлены новые элементы конфигурации, в том числе тег шаблонов "_DKIMSELECTOR_" для извлечения из сигнатуры селектора DKIM (тег 's'), опция 'uri_block_cont' для учёта континентов в плагине URILocalBL, 'country_db_type', 'country_db_path' и 'uri_country_db_path' для выбора баз территориальной привязки IP (GeoIP, GeoIP2, IP::Country::Fast или IP::Country::DB_File), 'resource_limit_cpu' и 'resource_limit_mem'для задания лимита на потребление ресурсов CPU и памяти;
- Добавлена возможность сборки с OpenSSL 1.1.0;
- Устранены четыре уязвимости:
- CVE-2018-11780 - уязвимость в плагине PDFInfo, позволяющая организовать удалённое выполнение кода при обработке специально оформленных PDF-файлов;
- CVE-2017-15705 - позволяет осуществить отказ в обслуживании. При указании в тексте письма определённой комбинации незакрытых HTML-тегов, обработка письма не завершается до истечения таймаута, что можно использовать для исчерпания доступных ресурсов в системе;
- CVE-2016-1238 - в одном из скриптов конфигурации в пути поиска модулей (@INC) использовался символ ".", что могло привести к переопределению модулей при доступе атакующего к каталогу из которого был запущен SpamAssassin;
- CVE-2018-11781 - возможность подстановки кода локальным пользователем через манипуляции со значением в правиле meta.
Дополнительно сообщается о начале подготовки выпуска SpamAssassin 4.0.0, основным изменением в котором станет полноценная встроенная поддержка окружений с кодировкой UTF-8.
Благодарим проект www.opennet.ru за предоставленный материал.