Автор: Алексей Середа (news@ant.kiev.ua)
Назначение: фильтр почтового трафика
Язык реализации: Perl
О скрипте "Bastion"
BASTION является Perl-скриптом, для фильтрации e-mail трафика между почтовым сервером Sendmail и локальным почтовым агентом Procmail с целью удаления подозрительных сообщений. Скрипт выявляет опасные вложения (исполняемые файлы и им подобные) и наиболее подозрительные HTML-тэги в сообщении, удаляет опасное сообщение и уведомляет об этом получателя и отправителя, а также копирует удаленное сообщение в заданное место для дальнейшего анализа.
Инсталляция Bastion
Инсталляция скрипта очень проста и состоит из нескольких шагов:
- Вы должны переписать файл 'BASTION' в любую подходящую директорию, обычное его местонахождение - /usr/local/bin
- Если нужно, создайте отдельную директорию для конфигурационных файлов, например - /usr/local/etc/bastion, или в другом допустимом месте по Вашему желанию (Не требуется для версии 4)
- Внесите изменения в файл 'sendmail.cf'? как показано ниже. Обычно он находится в директории /etc.
- Проверьте, чтобы пути указанные в 'sendmail.cf' и в тексте скрипта соответствовали действительности. ВНИМАНИЕ! Обратите внимание на содержание переменной $LECAR - она содержит директорию, в которой нужно создать дополнительную поддиректорию 'tmp' для "складирования" зараженных и подозрительных сообщений.
- Перезапустите демон 'sendmail'.
Необходимые изменения в 'sendmail.cf':
Исходный текст
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qShP, S=10/30, R=20/40,
T=DNS/RFC822/X-Unix,
A=procmail -a $h -d $u
Измененный текст
Mlocal, P=/usr/local/bin/bastion, F=lsDFMAw5/|@qShP, S=10/30, R=20/40,
T=DNS/RFC822/X-Unix,
A=bastion -a $h -d $u
Если Вы желаете включить опцию "черного списка", измените значение переменной '$chnongrata' с '0' на '1' и задайте список всех нежелательных e-mail адресов в файле 'nongrata'. Внимание! Опция не поддерживается версией 4!
Если Вы желаете смотреть статистику фильтрации сообщений, переместите файл 'fltstat.cgi' в директорию '/cgi-bin/' Вашего Web-сервера.
Добавить дополнительные условия фильтрации вложений можно поместив их в переменную '$VIRAVOID'.
Сообщите мне обо всех ошибках и проблемах, возникших при работе скрипта.
Удачи Вам!
Скачать скрипт Bastion можно здесь:
Версия 1.1.0 - самая простая для самостоятельного развития и адаптации под свои нужды.
Версия 2.1.0 - более развитая проверка адресов отправителя и получателя для противодействия спаму. Более удобный лог-файл.
Версия 3.0.0 - расширены возможности борьбы со спамом, добавлен анализ содержания приаттаченных файлов.
Версия 4.1.0 - усилена борьба со спамом, отсутствуют конфигурационные файлы, код программы хорошо структурирован, что существенно облегчает его доработку и адаптацию. Добавлена поддержка "дружественных доменов" - для которых применяются менее жесткие правила фильтрации.
Скачать необходимые CPAN можно здесь:
CPAN Mail-Sendmail-0.78 необходим для отправки сообщений.
CPAN MIME::Base64 необходим для декодирования названий файлов на "местных" языках.
Новая версия фильтра содержит более развитые средства для борьбы со спамом,
кроме того добавлен анализ приаттаченных файлов с целью отсечения возможных
каналов распространения вирусов (в архивных и html'ных файлах)






Последнюю версию bastion4 я высылаю по запросу.
Алексей Середа
news@ant.kiev.ua