Amavis поиск контента с помощью регулярных выражений, распаковка объектов
У меня есть рабочий почтовый сервер с Postfix+Amavisd+Spamassassin. Сейчас я пытаюсь заблокировать фишинговые / вирусные письма, содержащие URL-адреса и / или Javascript внутри.
Один пример: фишинговая электронная почта содержит PDF-документ с URL-адресом вредоносного сайта, маскируемый как кнопка или изображение:
...
27 0 obj /URI (http://some-malware-site/.../docx.zip) endobj
...
Большинство "легальных" PDF-файлов не содержат URL-адресов.
То же самое с текстовыми частями писем (хотя их можно проверить с помощью SpamAssassin).
Другая проблема, с которой я сталкиваюсь, заключается в том, что Amavis не заглядывает внутрь упакованных объектов. Например: он обнаруживает вложение документа MS Word (в формате OpenXML, ZIP-архив) и ничего не делает с его содержимым. Поэтому с помощью Amavis невозможно определить, содержит ли такой документ объекты ActiveX/JS/..., которые (как правило) являются отдельными файлами внутри архива.
Я думал о том, чтобы включить в Amavis какой-нибудь декодер или модуль поиска (встроенный или внешний Amavis) и передать ему все / некоторые объекты, извлеченные из сообщения Amavis. Я попытался немного исказить исходный код Amavis, но безуспешно.
Есть идеи, как это можно реализовать?