|
Обновите ArcaOS до уровня NeoWPS
- Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
- Установите eSchemes 2018, чтобы менять цвета и кнопки на рабочем столе
|
TITLE: Спам фильтр ASSP
DATE: 2006-04-01 01:04:20
AUTHOR: Vladimir Solovyov
Как защититься от спама на почтовом сервере?
Anti-Spam
SMTP Proxy (ASSP) - это ПО с открытым
исходным текстом, платформонезависимый SMTP прокси сервер,
в котором реализованы белые списки и фильтрация на основании
теоремы Байеса для того, чтобы избавить планету от удушения спамом.
Спам надо останавливать на SMTP сервере. Анти-спамовый сервер должен
обучаться новому спаму, настраиваться под требования конкретного
почтового домена.
Это бесплатный, легкий в использовании инструмент,
работающий с любым почтовым транспортом и достигающий своих целей без
вмешательства человека, которое требуется только
для первоначальной настройки.
14 ноября 2003 14:02 John Hanna
ASSP написан на языке Perl, что обеспечивает его переносимость и работу
на многих операционных системах. Распространяется по GPL лицензии.
Установка крайне проста - надо поставить Perl,
потом взять
дистрибутив
ASSP.
Рамер дистрибутива ASSP - около 200 килобайт.
Текущая версия - 1.1.1 от 26 июня 2005 года.
Как это выглядит и работает ?
Чтобы не раздувать статью, дам ссылку на описание
принципа работы байесовских фильтров.
Вкратце это выглядит так: антиспамовый сервер собирает письма со спамом
и нормальную почту, потом на основании вероятности встречи слов из
анализируемого письма в каждой из коллекций (спам или не-спам) сервер
делает вывод о том, является ли письмо спамом или нет.
Кроме байесовского фильтра ASSP обладает многими другими возможностями:
- настройка через веб-интерфейс в браузере,
- автоматическое ведение белого списка,
- наличие необрабатываемых адресов и доменов,
- адреса для сбора спама,
- поддержка дополнительных регулярных выражений для идентификации
спама и не-спама,
- обнаружение спама, кодированого MIME,
- автоматическое ведение баз спама и нормальной почты,
- защита от пересылки почты третьми лицами,
- простейший контроль вирусов,
- наличие почтового интерфейса для управления и пополнения
коллекций спама и нормальной почты,
- проверка отправителя по RBL и SPF.
И он практически не требует контроля.
У него есть свои особенности:
- пользователи должны иметь более-менее одинаковое
представление о том, что такое спам, иначе коллекция спама и нормальной
почты не будет сильно отличаться и эффективность работы фильтра будет
низкой,
- размер базы писем должен быть достаточно большим и не сильно
однородным, чтобы статистика точно описывала нормальную почту и спам,
- достаточно высокие требования к оперативной памяти.
Сервер и сеть
Запустим ASSP на почтовом сервере с eComstation
и настроим его.
Рассмотрим подсеть 192.168.1.0 с маской 255.255.255.0
Почтовый сервер располагается на компьютере с внутренним IP адресом
192.168.1.1 и внешним адресом 62.4.4.4 (адрес взят в качестве примера)
Домен называется yourdomain.com.
SMTP сервер по-умолчанию использует 25 порт. Изменим это значение,
например, на 26. Вся схема будет выглядеть так:
Интернет -> ASSP -> Почтовый сервер -> Клиенты
Клиенты -> ASSP -> Почтовый сервер -> Интернет
рис. 1. Схема движения SMTP трафика
На 25 порту внешнего и внутреннего интерфейсов ASSP будет принимать
почту и после анализа, он будет
решать что с ней делать - отправить дальше на SMTP сервер и положить
письмо в коллекцию нормальной почты, или посчитать
письмо спамом и выдать отправителю сообщение об ошибке, а потом
положить письмо
в коллекцию спама. Вся почта из интернета и из внутренней сети будет
проходить через ASSP
и только потом попадать на почтовый сервер, который будет отправлять ее
дальше. ASSP все равно какой SMTP сервер вы используете - он работает с
любым
SMTP сервером.
Процесс внедрения ASSP состоит из 4 частей:
- Установка и настройка Perl
- Установка и настрока ASSP
- Обучение и опытная эксплутация ASSP
- Промышленная эксплуатация ASSP
Установка
Дистрибутив ASSP распаковать на диск в какой-нибудь каталог, на
котором есть достаточно места для базы спама и нормальной почты.
Максимум того, что вам понадобится - 500 мегабайт.
Для запуска ASSP вам понадобится установленый и работающий Perl. Perl 5.8.0 для OS/2 для берут вот
здесь.
ActivePerl для Windows брать тут.
Для возможности проверки IP адресов по RBL и SPF для Perl надо
установить дополнительный модуль: Net-DNS.
Для проверки правильности email адресов необходим модуль Email::Valid
После установки Perl можно приступить к установке ASSP.
Распакуем архив с дистрибутивом ASSP в каталог c:\os2apps\assp
Запуск осуществляется крайне просто: perl assp.pl
рис.
2 Первый запуск
ASSP запустился, проверил имеющиеся в Perl модули, скачал список
подозрительности хостов (greylist),
загрузил базу спама и стал ждать
SMTP соединений на 125 порту и соединений для доступа к веб-интерфейсу
на 55555 порту.
Настройка
Все настройки находятся
в файле assp.cfg. Его можно править
руками, а можно использовать более удобный и понятный способ - через
браузер.
Пароль для администрирования находится в строке
webAdminPassword:=nospam4me
Вместо nospam4me можно
вписать свой пароль. Пользователь всегда будет
admin. Кроме этого можно
ограничить список IP адресов, с которых может осуществляться доступ к
веб-интерфейсу ASSP. Больше никакой особенной защиты не предусмотрено,
поэтому можно порт прикрыть брайндмауэром.
Статистика работы находится в файле asspstats.sav. При начале
эксплуатации можно его удалить, чтобы видеть только свою статистику.
Обязательно ежедневно нужно пересоздавать базу спама - файл spamdb. Это
делается запуском скрипта rebuildspamdb.pl.
Параметры, минимально необходимые для настройки: SMTP
Destination, Listen Port,
Web Admin Password, Accept All Mail,
Local Domains, Spam Error, Spam Addresses.
Вот вкратце и все, что нужно для начала работы ASSP.
Итак, заходим браузером на http://127.0.0.1:55555
рис.
3 Вход в панель управления ASSP
рис.
4 Панель управления ASSP
Настройки
разделены на группы. Последовательно рассмотрим все группы.
Рассматриваться будут не все значения, а только те, которые были мне
необходимы для работы.
Более подробные сведения о настройках можно получить здесь.
Сразу один небольшой нюанс - если в поле вводится несколько значений,
то они разделяются знаком | (pipes - в оригинале).
- Network
Setup. Настройка сети.
Здесь находятся настройки IP адресов, портов, режимов запуска ASSP
- SMTP Destination.
Здесь указывается IP адрес SMTP сервера, который получит почту внутри
нашей сети. На схеме это 192.168.1.1 порт 26.
Введем значение 192.168.1.1:26
- As a Service, As a Daemon
Этип переключатели включать не надо. Они используются при работе ASSP в Windows и
Linux/BSD/Unix/OSX.
- My Name. Здесь можно
ввести имя сервера, которое он будет добавлять в письма. По-умолчанию: ASSP-nospam
- Listen Port. Порт на
котором ASSP будет принимать соединения. Значение: 25
- Maximum SMTP Sessions.
Здесь можно задать ограничение числа одновременных сессий на сервере.
Я поставил 50.
Если значение не задано, то ограничения нет. Однако, при атаке на ваш
почтовый сервер, возможно падение ASSP из-за слишком большого числа
соединений. Я наблюдал такую картину примерно при 220-240 одновременных
соединениях. Меньше 50 ставить не советую - ASSP иногда уходит в себя и
перестает принимать соединения. Впрочем, можно ограничить число
одновременных соединений брандмауэром.
- Maximum Sessions/IP.
Ограничение числа одновременных соединений с одного IP адреса .
Я поставил 3.
- Session Limit Logging.
Включить, тогда в лог будут выводиться сообщения о превышении лимита
сессий.
- Proxy Server.
Укажите IP адрес и порт http прокси сервера, через который можно будет
скачать и выгрузить файл подозрительности хостов greylist на сервер проекта.
Адрес указывается в виде IP:port
- Web Admin Port.
Порт, на котором ASSP будет ожидать подключения к его веб-интерфейсу.
По-умолчанию: 55555.
- SPAM
Control. Управление спамом.
- Spam Error. Сообщение,
которое выдается отправителю, если его письмо посчитали спамом. Впишите
туда почтовый адрес человека, который будет отвечать за хождение почты.
Один раз за два года мне он пригодился.
- Spam Addresses. Это
ящики-спамоловки. Вся почта, приходящая на эти адреса или домены
считается спамом и пополняет собой коллекцию спама. Достаточно
засветить эти адреса у спамеров и бесперебойное обучение вашего
спам-фильтра гарантировано.
Я вписал туда адрес и засветил его где только
можно.
- Spam-Lover Addresses.
Если почта адресована только указаным здесь адресам или доменам, то
почта пропускается без обработки. Если она также адресована и другим
пользователям, то такая почта блокируется.
Здесь я не вводил ничего.
- Unprocessed Addresses.
Адреса, на которые вся почта должна поступать всегда. ASSP не
блокирует почту с этих и на эти адреса.
Здесь я указывал адреса, куда пропускается вся почта.
- Don't Use the Helo Blacklist.
Не использовать черный список HELO. Если имя хоста, сообщенное в HELO
будет в черном списке, то SMTP сессия будет прервана. На время
тестирования рекомендуется включить эту опцию, т.е. не использовать
черный список HELO.
Я включил этот переключатель.
- Don't Upload Greylist Stats.
Не выгружать статистку подозрительности хостов. ASSP производит обмен с
главным сайтом проекта списками подозрительности хостов.
Наш список загружается на сайт. Таким образом происходит обмен списками
между ASSP серверами.
Этот переключатель я выключил.
- Don't auto-download the
greylist file. Не загружать статистку подозрительности хостов.
Список подоззрительности загружается с сайта на наш сервер.
Этот переключатель я выключил.
- Add Spam Probability Header?
Добавлять к письмам заголовок вероятности спама в виде
"X-Assp-Spam-Prob: 0.0123"
Я включил этот переключатель.
- Block Outgoing Spam-Prob
header? Не добавлять к исходящим из вашего домена письмам
заголовок Spam-Prob.
Я включил этот переключатель.
- Use Subject as Maillog
Names. В качестве имени файла с письмом в коллекции ASSP будет
использоваться тема письма. Полезно при тестировании и настройке ASSP.
При эксплуатации лучше снять.
Этот переключатель я выключил.
- Whitelist
Options. Настройки белого списка.
ASSP ведет белый список почтовых адресов и доменов с которых
почта будет беспрепятственно получаться без анализа на спам. В белый
список (Whitelist)
автоматически добавляются все адресаты из писем, которые отправляются
из нашего домена yourdomain.com.
- Whitelisted Domains.
Домены, входящие в белый список. Вся почта из этих доменов будет
приниматься без обработки.
Я включил туда домены дружественных организаций и ripn.net.
com.ru|nix.ru|ripn.net
- Max Whitelist Days.
Максимальное число дней, которое будет находиться адрес в белом списке,
если на него или с него не приходила почта.
Так как белый список может сильно разрастаться, из-за ошибок при наборе
адресов, то тут надо указать число, которое не даст списку сильно
разростись.
По-умолчанию - 90 дней.
- Reject All But Whitelisted
Mail. Блокировать всю почту, кроме той, отправитель которой
находится в белом списке. В этом случае байесовский фильтр не
используется.
Я выключил этот переключатель.
- Don't log mail. Если
вы не будете использовать байесовский фильтр, то этот переключатель
можно включить, тогда почта не будет пополнять коллекцию. Этот параметр
связан с предыдущим.
Я выключил этот переключатель.
- Only the envelope-sender is
added/compared to the whitelist . Рекомендуется выключить, т.к.
в этом случае адрес берется из полей заголовка: FROM, SENDER,
REPLY-TO, ERRORS-TO, или LIST-* .
Этот переключатель я выключил.
- Only local or authenticated
users contribute to the whitelist. Только локальные или
авторизвание пользователи могут пополнять белый список.
Этот переключатель я включил.
- Keep Whitelisted Spam.
Хранить спам, пришедший с адресов, которые в последствии попали в белый
список. При перестроении базы спама подобный спам может быть удален.
Этот переключатель я выключил.
- Relaying. Пересылка почты.
Поскольку ASSP оказывается вашим внешним почтовым
интерфейсом, то у него есть защита от пересылки почты третьими лицами
через ваш почтовый сервер.
- ISP/Secondary MX Servers.Сервера
провайдера, запасные почтовые сервера. Здесь указываются почтовые
сервера, которым вы доверяете пересылать почту через ваш сервер. Этих
адресов не коснутся проверки по списку подозрительности, проверки по SPF и
RBL, их не будут ограничивать числом соединений. По умолчанию там
стоит: 127.0.0.|10.|169.254.|172.16.|192.168.
Так как у меня отсутствуют запасные сервера, то я не менял это значение.
- ISP/Secondary MX Grey
Value. Оставлено пустым.
- Accept All Mail.
Список адресов подсетей, с которых принимать всю почту к отправке. По
умолчанию там стоит: 127.0.0.|10.|169.254.|172.16.|192.168.
Я это значение не менял
- Local Domains.
Список наших почтовых доменов. Имена указваются в виде domain.com
и разделяются знаком | (pipe).
Здесь я вписал все свои домены.
-
Local
Domains File. Файл со списком наших почтовых доменов. В одной
строке - один домен.
А это поле я не заполнял.
- Pop Before SMTP DB File. Файл
со списком IP адресов клиентов, для использования авторизации "POP
before SMTP".
Это поле я не заполнял. Авторизация у нас не используется.
- Relay Host. Почтовый
сервер вашего провайдера. Используется только в том случае, если
клиенты не отправляют почту по SMTP
- Relay Port. Здесь
указывается порт к которому ваш почтовый сервер будет обращаться при
пересылке почты.
По-умолчанию не заполнен.
- Validate
Recipients. Проверка получателей.
- SPF Options. Настройки SPF.
Подробнее о том, что такое SPF здесь.
- RBL Options. Настройки RBL.
Realtime Blackhole Lists
(RBL) -
список IP адресов, владельцы которых отказываются прекратить
распространение спама. ASSP производит проверку IP адреса отправителя
из внешнего мира по списку RBL. И если IP находится в этом списке, то
соединение с ним прекращается.
Я использую эту проверку.
- Enable Realtime Blacklist
Validation. Включить проверку по черному списку.
Я включил этот переключатель.
- Whitelisted RBL Validation.
Проверять отправителей из белого списка.
Я включил этот переключатель.
- Add X-Assp-Received-RBL
Header. Добавлять к заголовку письма заголовок
X-Assp-Received-RBL.
Я выключил этот переключатель.
- Enable RBL logging.
Включить запись событий в лог при RBL проверке.
Я включил этот переключатель.
- RBL Service Providers.
Список задан по-умолчанию:
bl.spamcop.net|cbl.abuseat.org|sbl-xbl.spamhaus.org|dnsbl.njabl.org|
list.dsbl.org|dnsbl.sorbs.net|opm.blitzed.org|dynablock.njabl.org
- Maximum Replies, Maximum
Hits, Maximum Time, Socket Timeout можно оставить по-умолчанию.
- Virus Control. Проверка вирусов.
ASSP может определить расширение файла, присоединеного к письму и
блокировать письма, содержащие вложения с опасными расширениями. Также
ASSP может использовать базы антивируса ClamAV для сканирования
вложений по сигнатурам вирусов. Но так как чаще всего во вложениях
оказываются архивы, то это сканирование оказывается бесполезным.
Поэтому рассмотрим только возможность блокирования нежелательных
вложений.
Существует 3 уровня блокировки по расширениям файлов. Названия
расширений для каждого уровня указываются в реквизитах Level 1,2,3 Blocked File Extensions
Я ограничился одним уровнем защиты.
Все отальные поля я не заполнял.
- Spam Bombs
& Scripting. Спам-бомбы и сценарии.
Здесь задаются выражения для идентификации спам-бомб, скриптов
(например activex и java) и сообщения о выдаваемых ошибках.
Этот раздел я оставил со значениями по-умолчанию.
- TestMode
Options. Настройки тестового режима.
Поскольку всем байесовским спам-фильтрам требуется обучение, то при
обучении ASSP некоторое время надо пропускать всю почту и только
помечать письма со спамом. В процессе обучения
неправильно определеные письма пользователи высылают на специальные
адреса, которые ASSP создает специально для управления своей работой.
Подробнее в разделе Email Interface.
Почтовый интерфейс.
В процессе обучения надо включить все переключатели данного раздела. В
процессе эксплуатации их нужно будет выключить.
- Email
Interface. Почтовый интерфейс
ASSP использует почтовый интерфейс для того, чтобы
пользователи могли сообщать ему об ошибках обнаружения спама и
добавлять в белый список нужные адреса электронной почты. В настройках
задаются названия почтовых ящиков, при получении на которые писем, ASSP
производит соответствующую обработку поступиших данных. Все ящики
должны иметь уникальное имя. Вся почта, пришедшая на эти адреса дальше
ASSP не уйдет.
- Enable Email Interface. Использовать
почтовый интерфейс. В этом случае ASSP будет перехватывать почту на
указаные ниже адреса во всех местных доменах.
Этот переключатель надо включить.
- Report Spam Address. Адрес,
сообщений о спаме. Сюда надо отправлять письма со спамом. Письма со
спамом надо надо пересылать вложением на этот адрес.
Я вписал spam. Поэтому письма со спамом я пересылаю на
spam@yourdomain.com
- Report not-Spam Address. Адрес,
сообщений о нормальной почте. Сюда надо отправлять письма с нормальной
почтой, если ASSP их определили как спам. Письма надо надо пересылать
вложением на этот адрес.
Я вписал notspam. Поэтому письма я пересылаю на notspam@yourdomain.com
- Add to Whitelist Address.
Адрес для добавления в белый список. На этот адрес надо слать адреса
для включения в белый список.
Я вписал white. Поэтому письма я шлю на white@yourdomain.com. Процедура
выглядит так: в письме первым адресом ставится white@yourdomain.com,
потом
в копии выбираются все адреса, которые надо добавить в белый список.
- Don't reply to messages to
the Email Interface. Не отвечать на сообщения из почтового
интерфейса. На каждое письмо на почтовый интерфейс ASSP шлет ответ.
Этот переключатель позволяет отключить данную функцию.
После начала промышленной эксплуатации я включил этот переключатель.
- File Paths.
Пути к файлам.
Здесь задается путь к базе писем ASSP и имена файлов и каталогов
самого ASSP. Я указал только один параметр:
- Directory Base.
Каталог базы. Все пути дальше указываются относительно него.
По-умолчанию там стоит точка (текущий каталог).
Я указал c:\os2apps\assp.
- Logging.
Лог.
Настройка журнала событий. Три первых переключателя я выключил, все
оcтальные значения оставил по-умолчанию
- Security.
Безопасность
Здесь указывается пароль для веб-интерфейса ASSP. Здесь же можно
указать и список IP адресов с которых возможно конфигурирование ASSP
через веб-интерфейс. Впрочем, наличие этого не отменяет защиты порта
для конфигрурирования ASSP брандмауэром.
- Other
Settings. Прочие настройки
Самые главные настройки, влияющие на размер базы и
быстродействие ASSP находятся здесь.
- Max Files. Максимальное
число файлов в коллекциях. Всего коллекций две - спам и не-спам. Это
число задаёт число файлов в каждой коллекции. 10000-15000 достаточно.
Но существует опасность выбивания коллекции спам-бомбами.
Я поставил максимальное значение 25000. Сейчас размер коллекции около
300 мегабайт.
- Max Bytes.
Максимальное число байт, которые будет анализировать ASSP. Это же
максимальные размер файла в коллекции.
- Ordered-Tie hash table size.
Размер хеш-таблицы, которую ASSP использует для работы. По-умолчанию
5000. Чем больше, тем меньше обращений к диску будет делать ASSP. На рабочем сервере
я ставил 500 000. ASSP занимал в памяти около 60 мегабайт.
- Save Whitelist.
Записывать белый список. Период времени в секундах для записи белого
списка.
Я поставил 600 секунд.
Все. Теперь можно давить кнопку Apply Changes. ASSP сразу применяет все
параметры. К этому моменту ваш SMTP сервер уже должен принимать
соединения на 26 порту.
Для смены IP портов лучше ASSP перезапустить.
Проверим работоспособность ASSP. Подсоединимся telnet'ом к 25 порту и
проверим что выдаст почтовый сервер и ASSP.
рис.5 Проверка работы ASSP
Нормально работающий ASSP откроет
соединение с SMTP сервером и передаст его ответ клиенту. Если что-то не
работает, то надо проверять в разделе Network
Setup значения SMTP Destination и Listen port, а также настроки
почтового сервера.
Если все работает, то можно начинать обучать ASSP спаму и нормальной
почте.
Что такое whitelist ?
Whitelist - белый список. Это список адресов электронной почты,
вся почта с которых будет приниматься без анализа.
Пополнение белого списка
Сначала нужно отослать в белый список всех своих корреспондентов из
адресной книги. Делается это так: создаётся новое письмо, в нём первым
адресом ставится white@yourdomain.com (этот адрес указвается в разделе Email
Interface параметр Add to Whitelist Address), потом в копии выбираются все адреса, которые надо добавить в белый список.
рис.6 Письмо с адресами, которые надо внести в белый список
рис.7 ASSP обрабатывает письмо и пополняет белый список
В процессе работы в белый список попадают все адреса на которые
отправляется почта из ваших локальных доменов. В логах подобная ситуация
отражается такими строками:
Mar-28-06 15:20:40 127.0.0.1 <sven@yourdomain.com>
to: sven@yourdomain.com Recipient accepted: sven@yourdomain.com
Mar-28-06 15:20:40 127.0.0.1 <sven@yourdomain.com>
to: sven@yourdomain.com whitelist addition: sven@yourdomain.com
Mar-28-06 15:20:40 127.0.0.1 <sven@yourdomain.com>
to: sven@yourdomain.com local or whitelisted - (attachments unchecked)
В первой строке - получатель принят, во второй - происходит добавление
его в белый список, в третьей строке - сообщается, что получатель из
нашего домена или находится в белом списке.
Обучение спаму и не-спаму
Как уже говорилось в начале, для автоматического обучения ASSP
коллекцию спама надо пополнять, для этого служит специальный почтовый адрес
(Раздел SPAM
Control. Параметр
Spam Addresses). Вся
приходящая на него почта считается спамом.
Однако, фильтр не всегда срабатывает правильно и тогда письма со спамом
доходят до пользователей.
В этом случае письмо со спамом надо переслать как вложение на адрес spam@yourdomain.com (этот адрес
указвается в разделе Email
Interface. Параметр Report
Spam Address).
Аналогично надо поступать с нормальной почтой, которую ASSP пометил как
спам. Эти письма надо пересылать как вложения на адрес notspam@yourdomain.com (этот адрес
указвается в разделе Email
Interface. Параметр Report
not-Spam Address.).
рис. 8. Составление письма об ошибке
рис. 9. ASSP обрабатывает сообщение об ошибке
Вот эта строка как раз и показывает, что принято сообщение о
неправильно отфильтрованом нормальном письме (hamreport).
Mar-28-06 16:39:11 127.0.0.1 <sven@yourdomain.com> Email hamreport
Для присланого спама строка будет такой:
Mar-28-06 17:25:51 127.0.0.1 <sven@yourdomain.com> Email spamreport
рис. 10. Сообщение о спаме. Спам
пересылается как вложение
В процессе работы происходит накопление образцов нормальных писем. ASSP
делает это сам при пересылке письма.
При начале обучения ASSP необходимо разослать пользователям почтового
сервера
пись мо с краткой инструкцией. Например такое:
=============================================================================
В целях борьбы со спамом, на почтовом сервере проходит
тестирование программы для фильтрации спама.
Если вы получили письмо, которое действительно является спамом,
но тема которого НЕ начинается словами: [SPAM DETECTED],
просим переслать письмо на почтовый ящик spam@yourdomain.com
Если вы получили письмо, которое НЕ является спамом, но тема которого начинается: [SPAM DETECTED],
просим переслать его на почтовый ящик notspam@yourdomain.com
Также, просим выслать своих адресатов на почтовый ящик:white@yourdomain.com
Делается это следующим образом:
1) создать новое письмо,
2) получателем вписать: white@yourdomain.com,
3) всех своих адресатов из адресной книги добавить в "Копию", отослать письмо.
=============================================================================
Все адреса в этом письме описаны в разделе Email
Interface. Почтовый интерфейс.
При обучении надо внимательно читать maillog.txt или наблюдать за
хвостом лога через веб-интерфейс ASSP. Но об это дальше.
Просмотр лога
Вся деятельность ASSP отражается в логе. По-умолчанию файл называется
maillog.txt.
Также конец лога можно посмотреть через веб-интерфейс. В главном меню
надо выбрать пункт See
the maillog tail.
рис. 11. Maillog в веб-интерфейсе
Опишем некоторые события, отражающиеся в логе:
- Отправка письма из нашего домена наружу:
Mar-28-06 12:03:53 Connected: 192.168.1.1:1041
Соедение со 192.168.1.1
Mar-28-06 12:03:53 192.168.1.1 <sven@yourdoamin.com> to:
svemne@yandex.ru local or whitelisted - (attachments unchecked)
Выясняется, что получатель уже есть у нашем белом списке, поэтому
письмо отправляется сразу
- Проверка по RBL:
Mar-28-06 18:14:28 Connected:
222.75.114.82:3511
К нам подсоединился 222.75.114.82:3511
Mar-28-06 18:14:30 Commencing RBL
checks on 222.75.114.82
Мы производим RBL проверку.
Mar-28-06 18:14:30 222.75.114.82
<mielau@krdotv.com> to: sven@yourdomain.com failed RBL checks
Mar-28-06 18:14:30 Lookup
Returned: 1
Mar-28-06 18:14:30
222.75.114.82 <mielau@krdotv.com> to:sven@yourdomain.com Received-RBL: fail (ASSP-nospam: local policy)
rbl=bl.spamcop.net sbl-xbl.spamhaus.org; client-ip=222.75.114.82;
Отправитель проверку не прошел.
А вот этот отправитель её прошел:
Mar-28-06 18:14:12 Completed RBL checks on
194.190.207.21
Mar-28-06 18:14:12 Lookup Returned: 1
Mar-28-06 18:14:12 194.190.207.21
<sitenews@1c.ru> to: sven@yourdomain.com Received-RBL: pass
(ASSP-nospam: local policy) rbl=none; client-ip=194.190.207.21;
Mar-28-06 18:14:12 194.190.207.21
<sitenews@1c.ru>
to: sven@yourdomain.com message ok
- Работа байесовского фильтра:
Mar-28-06 11:08:57 Completed RBL checks on
84.244.91.17
Mar-28-06 11:08:57 Lookup Returned: 1
Mar-28-06 11:08:57 84.244.91.17
<ncmthijdz@atel.com>
to: sven@yourdomain.com Received-RBL: pass (ASSP-nospam: local
policy) rbl=none; client-ip=84.244.91.17;
RBL проверка прошла успешно. Будем принимать письмо и
анализировать его фильтром.
Mar-28-06 11:08:57 84.244.91.17
<ncmthijdz@atel.com>
to: sven@yourdomain.com Bayesian Spam
А вот тут оказывается, что письмо было спамом. Поэтому оно
отправляется в коллекцию спама, а не получателю.
- Нет почтового сервера:
Mar-28-06 12:56:30
Couldn't create server socket to 127.0.0.1:26 -- aborting connection
- Превышение общего числа одновременных соединений:
Mar-28-06
02:56:31 Connected: 200.114.174.228:4520
Mar-28-06 02:56:31 Limiting Total
Connections
Mar-28-06 02:56:31 Connected:
60.34.37.32:3126
Mar-28-06 02:56:31 Limiting Total
Connections
Mar-28-06 02:56:31 Connected:
10.10.0.10:1771
Mar-28-06 02:56:31 Limiting Total
Connections
Mar-28-06 02:56:31 Connected:
60.34.37.32:3176
- Укорачивание лог-файла:
Mar-28-06 03:00:10: Rolling log file -- archive
saved as '06-03-28.maillog.txt'
Просмотр белого списка, добавление и удаление адресов из белого списка
В главном меню ASSP щелкните пункт Whitelist/Redlist.
рис. 12. Управление белым списком.
Здесь можно посмотреть содержимое списка, однако при больших размерах
списка это может оказаться неблагоразумным. Делается это нажатием
кнопки Show whitelist.
рис. 13. Содержимое списка
Добавить или удалить адреса из белого списка. Адреса можно добавлять и
удалять группами. Для этого в поле List
the addresses in this box: введите адреса по одному в каждой
строке.
Выберите в переключателе Do
you want to work with the: значение Whitelist or, а в переключателе Do you want to: нужное
действие add (добавить), remove (удалить) или verify (проверить) и нажмите Submit.
рис. 14. Добавление в белый список
рис. 15. Адрес добавлен в белый список
Вкратце опишу, что такое RedList (Красный
список). В нем содержатся адреса пользователей нашего домена, при
получени почты от которых, белый список пополняться не будет. Нужно это
в том случае, если сотрудник уходит в отпуск и включает у своего
почтового клиента автоответчик. Если ему придет спам, то он ответит на
адрес, стоящий в спаме, это вызовет попадание ненужного почтового
адреса в белый список, попадание ненужного письма в нашу коллекцию
нормальных писем и искажение статистики нормальных слов. Всего этого
избегают, включая адреса подобных сотрудников в красный список. После
отключения автоответчика адрес нужно убрать из красного списка.
Статистика
ASSP собирает статистику о своей работе и хранит ее в файле
asspstats.sav. Каждые 8 часов статистика отправляется на сервер проекта
где можно посмотреть
сводную статистику по всем хостам, которые используют ASSP. Однако
в августе 2005 года сводная статистика сломалась и ее работоспособность
была восстановлена только в марте 2006 года.
рис.
16. Общая статистика ASSP
Статистику вашего ASSP можно посмотреть, выбрав в главном меню пункт Statistics. Статистика ведется с
начала эксплуатации ASSP (последний столбец с данными) и с момента
последнего запуска (первый столбец с данными).
рис.
17. Статистика работающего ASSP
Параметры, отражающиеся в статистике достаточно прозрачны, поэтому
описывать их я не буду.
Анализ содержимого писем
Для изучения того как работает фильтр можно использовать анализатор
ASSP, доступный через веб-интерфейс. Для этого выберите в главном меню
пункт Analyze an email . В
поле Copy and paste the mail header
and body here: надо вставить заголовок и содержимое письма.
В почтовом клиенте Mozilla исходный текст письма можно посмотреть, нажав
Ctrl+U. Выделите и вставьте этот текст в поле, потом нажмите Analyze.
рис. 18. Анализатор писем и тело
письма
рис. 19. Результат проверки письма на
работающем ASSP
В данном случае отправитель
письма имеет подозрительность 0.857609. Все проанализированые слова
имели вероятность 1. Письмо оказалось спамом.
Обслуживание и автоматический запуск ASSP
Помимо сбора спама и нормальной почты ASSP требуется, на
основании собранной коллекции, создать базу данных, по которой и будет
производиться анализ писем. Сама база находится в файле по-умолчанию
называющемся spamdb.
Упорядочиванием коллекции писем и созданием базы занимается скрипт rebuildspamdb.pl. Его необходимо
запускать минимум один раз в сутки, чтобы ASSP всегда имел дело с
достаточно свежей базой, и тогда он будет работать эффективно.
Создание базы spamdb достаточно трудоемкий процесс. На компьютере с
процессором Pentium 4 1.7 ГГц и ОЗУ 512 МБ процесс анализа коллекции писем
размером
около 300 МБ, содержащей около 50000 писем, занимает примерно 25 минут
(если быть точным, то 1399 секунд).
Для запуска был создан простейший скрипт rebuildspam.cmd,
который запускается по расписанию раз в сутки в два часа ночи.
Сам же ASSP запускается из startup.cmd строкой
@start /c C:\srv\assp.cmd, где assp.cmd - это тоже простейший скрипт.
Ну вот вроде и все
При начале промышленной эксплуатации выключите тестовый режим в
разделе TestMode
Options, после этого вы
перестанете получать спам. Выключите параметр Use Subject as Maillog Names
в разделе SPAM control
Для переименования всех файлов с письмами в файлы вида 12345.eml выполните perl move2num.pl -r
Просматривайте логи.
И не проверяйте каталог ASSP антивирусами, иначе можно лишиться
значительной части базы, т.к. она будет содержать вирусы.
Установите размер базы, достаточным для достоверной диагностики. Я
думаю, что это 10000-15000 писем. Максимальный размер базы - 25000
писем в каждой коллекции.
При потере эффективности надо проверить содержимое каталога spam,
вполне вероятно, что после какой-то атаки вам забили коллекцию
однообразными письмами. Восстановите коллекцию из нормального архива
или удалите письма, попавшие в коллекцию в результате атаки. После чего
обязательно запустите скрипт перестроения базы spamdb.
PS. Я использую ASSP под
Windows, защищая сеть небольшого офиса от спама. ASSP делает это уже
около двух лет. Все скриншоты с работающего ASSP получены с этого
сервера.
Автор: Владимир Соловьёв (e-mail)
Попробуй программу:
|
NetDrive - подключи ftp-каталог на букву диска (webDAV, .iso, NTFS том, ..)
|
Комментарии: Digi 2006-04-01 18:48:41 | PS. Я использую ASSP под Windows, защищая сеть небольшого офиса от спама. [skip] Все скриншоты с работающего ASSP получены с этого сервера.
------
ещё раз смотрел скриншоты с еЦентром в верху и перечитывал упоминания о "простейших скриптах" на бобике и про "ASSP запускается из startup.cmd"...
Хорошо что не пожалел времени на статью, а то спам уже достаёт порядочно, но пока не победил мою лень, а тут за тебя всё разжевали -;) | Vladimir Solovyov 2006-04-02 00:19:38 | Эту фразу надо понимать так :
статистика и анализ письма со спамом брались с ASSP, работающем под виндами и имеюшим указаную нагрузку.
В os/2 он тоже работает, что показано в статье. Просто в офисе нет os/2, а там где ASSP у меня стоит под os/2 на него нет такой нагрузки. | Oxyd 2006-04-09 19:04:48 | Спасибо за статью! Очень пользительная и легкопониаемая! Кстати неплохо было-бы ещё статью по общей настройке SMTP/POP3 (без привязки к антиспаму) сервера, да хотя-б на примере того-ж Weasel'я. | Sergey Posokhov 2006-04-10 02:39:20 | Адреса-ловушки порадовали :-) | Vladimir Solovyov 2006-04-11 22:41:57 | Одно важное дополнение к статье.
Осевый перл крив. Поэтому на больших колллекциях при перестроении базы spamdb падает с вот такими сообщениями:
1) Out of memory during request for 9299 bytes, total sbrk() is 261384192 bytes!
2)Out of memory during "large" request for 16781312 bytes, total sbrk() is 260603904 bytes
Опытным путем установлено, что размер каждой коллекции спам/не-спам должен составлять около 7500 писем.
This is perl, v5.8.0 built for os2_emx
Copyright 1987-2002, Larry Wall
OS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel
Version 5 port Copyright (c) 1994-2002, Andreas Kaiser, Ilya Zakharevich
| Digi 2006-04-25 02:02:08 | Всё хорошо, только как быть с smtp-авторизацией? Имею основную массу
пользователей в локалке и несколько во внешнем мире. Раньше с инета
авторизировались по smtp на weasel'е, после установки assp, естественно, встал
вопрос - что с ними делать? Пока для них открыт порт (по тексту) 26, т.е.
внешние так же отправляют через горностай, при этом, понятное дело, не имея
возможности пользоваться spam@/notspam@/white@ и почта от них не обрабатывается
assp со всеми вытекающими.
| Vladimir Solovyov 2006-04-25 10:16:30 | А что авторизация после установки ASSP работать перестала ?
| Digi 2006-04-26 02:58:06 | конечно пропала: assp сам не авторизирует, "настоящий" smtp тоже, т.к. для него все соединения идут с assp, т.е. локально.
Но проблема решена таким образом:
1. конфиг-я ASSP: Network Setup/SMTP Destination - у меня было прописано 127.0.0.1, заменяем на ip одного из интерфейсов (дальше станет ясно зачем)
2. конфиг-я ASSP: Relaying/Accept All Mail оставляем пустым, не смотря на все предупреждения. Нет, в результате всех процедур открытого релэя не получим.
Теперь, ASSP принимает для релеинга (на переправку не локальным адресатам, не знаю как по русски написать) почту от кого угодно. ASSP общается с нашим "настоящим" smtp не по loopback-интерфейсу.
3. в "настоящем" smtp, который умеет авторизировать по smtp, убираем все списки локальных ip-адресов/подсеток. Т.е. соединения от ASSP для отправки почты не локальным адресатам будут требовать авторизации. Для этого и заставили ASSP обращаться к нашему smtp не по loopback-интерфейсу, т.к. обычно такие соединения не требуют авторизации.
В результате, любая отправка почты не локальным адресатам требует авторизации, в том числе и с локальных ip.
Возможно, объяснил несколько коряво, но это работает. В том что не получили open relay можно убедиться через [url]
| Vladimir Solovyov 2006-04-27 12:38:56 | А у меня SMTP-авторизация работает . Вот проверил:
Weasel Pro 1.76 Copyright (C) 1998-2006 Peter Moylan [192.168.1.1]
2006-04-27 12:35:31 S 171 220 ecs.yourdomain.com Weasel 1.76 ready
2006-04-27 12:35:31 S 171 EHLO ASSP
2006-04-27 12:35:31 S 171 250-ecs.yourdomain.com
2006-04-27 12:35:31 S 171 250-AUTH PLAIN LOGIN CRAM-MD5
2006-04-27 12:35:31 S 171 250 EXPN
2006-04-27 12:35:34 S 171 AUTH CRAM-MD5
2006-04-27 12:35:34 S 171 334 PDIzNDc3OTIuMDA0NTMzNDA5MEBlY3MueW91cmRvbWFpbi5
jb20+
2006-04-27 12:35:34 S 171 c3ZlbiAyMzQxNzg3ODhmNDllMTA0ZTc5NjZkMjkxODQ4YjhmMQ=
=
2006-04-27 12:35:34 S 171 235 Authentication successful
2006-04-27 12:35:34 S 171 MAIL FROM:<[e-mail]
2006-04-27 12:35:34 S 171 250 Sender accepted
2006-04-27 12:35:34 S 171 RCPT TO:<[e-mail]
2006-04-27 12:35:34 S 171 250 mailbox OK
2006-04-27 12:35:34 S 171 DATA
2006-04-27 12:35:34 S 171 354 Socket to me
2006-04-27 12:35:34 S 171 C:\os2apps\weasel\MAIL\sven\00000001.MSG
2006-04-27 12:35:34 S 171 250 OK
2006-04-27 12:35:34 S 171 QUIT
2006-04-27 12:35:34 S 171 221 Closing connection
2006-04-27 12:35:34 S 171 End of session
| Digi 2006-04-27 19:55:31 | как я представляю ситуацию:
работает для клиентов, чьи адреса, указаны в конфиг-я ASSP: Relaying/Accept All Mail
так?
а пользователи не из этого списка, желающие отправить почту в инет (не на локальные адреса) отфутболиваются самим assp, до авторизации на твоём weasel
| Vladimir Solovyov 2006-04-28 17:15:02 | Да, так оно и есть. ASSP не дает релеить чужим IP.
Я просто проверил работоспособность авторизации через ASSP вообще.
А у тебя ситуация чуть-чуть необычная. Решение у тебя хорошее. | Digi 2006-05-26 17:28:56 | По собственному опыту хочу сказать - не стОит доверять пользователям самим безконтрольно обучать фильтр через почтовые интерфейсы, т.к. глупость при одновременном усердии временами просто поражают. | Vladimir Solovyov 2006-06-15 23:07:15 | И еще одно замечание - поскольку ASSP может использовать белый список, который заполняется при отправке писем из домена наружу, то любой виндовый червь или вирус, который рассылает спам, может заполнить белый список всяким мусором.
| Sasha 2006-09-15 18:39:55 | Еще пока не ставил, но описание очень понравилось.
Если Вам не трудно, дайте пожалуста ссылочку на описание, как поставить ASSP под Win2k Pro ввиде сервиса.
Или черкните пару слов об этом.
Спасибо! | Sasha 2006-09-18 11:17:17 | :-)
Не заметил.
Для тех, кто еще не заметил, эта информация здесь:
[url] | DemonS 2007-01-25 12:24:45 | Спасибо за статью. Вот если бы Ваше описание в веб-интерфейсе было видно при конфигурировании... жаль ,что разработчики не предусмотрели локализацию своего продукта, а переписывать код достаточно трудоемко. Параметров - туева хуча! | DemonS 2007-01-25 15:30:54 | вот еще ссылка [url] | Aleksey 2007-02-07 13:46:25 | Спасибо огромное! Работает просто замечательно. Лично для меня вариант с такой защитой просто идеальный. Дай Бог здроровья разработчикам и Володе Соловьеву лично. | fallout 2008-06-10 05:51:15 | Глупый вопрос, но что надо сделать чтобы в RFC-заголовке не было локального отправителя? Например:
Received: from имя_компа ([ip-адрес_компа] helo=имя_компа) by ASSP.nospam;
Как убрать это? | Настя 2008-10-25 17:41:22 | нууу ладно) | Олег 2008-11-17 18:06:09 | Дерьмо, а не программа. Первые признаки на лицо. Пытаюсь сообщить о спаме и прикладываю текст пришедшего сообщения. Мое письмо в топку валит. Целая куча писем программа просто режет. Все эти обучалки-лапша на уши. Лучше Бата ничего не видел. Получи список и решай, считывать письмо с сервера или нет. Таких примеров вагон. Мне письма с разных уголков летсят и спама хватает, а вот гребанные проги типа этих не дают отправить ответы. Мудрецы нашлися, за меня решают, какие письма мне нужны, а какие нет, да еще на SMTP. В топку прогу. | DeBuck 2008-12-09 01:18:28 | To: Олег
Вы пишите "Лучше Бата ничего не видел."
Если лично Вам ASSP не подходит, то это не означает "в топку"...
Для Вас в нем, кстати, есть спец.настроцка: "Spam-Lover Addresses" | Digi 2009-03-22 20:35:41 | Переехал на assp 1.5.1 и обнаружил что он научился понимать соединения с авторизацией (см. комментарий к настройке Local Domains): "ASSP recognizes authenticated connections and allows them to relay.". Так что, можно добавить к моим сообщениям 2006-04-25 02:02:08 и 2006-04-26 02:58:06 - теперь Accept All Mail, видимо, нет необходимости оставлять пустым и можно смело прописывать локальные адреса/сети. Вообще, последняя версия оставляет только приятные впечатления широкими возможностями настроек.
PS: Видимо Олег 2008-11-17 18:06:09 не совсем понимает целевую облать подобного ПО. Тут assp фильтрует спам для пользователей нескольких сетей, т.е. почта для всех проходит через единственный фильтр (потом распределяется по внутренним smtp-серверам), в некоторые периоды суток спамеровские соединения происходят каждую секунду, по статистике спамеровских соединений до 90% от общего количества. Это при платном трафике. Без фильтра работа почтовой системы с несколькими серверами и сотнями пользователей просто бы стала невозможной. При этом жалобы на не доставленные сообщения - большая редкость. И немаловажное обстоятельство - после начального обучения не требует особого внимания со стороны администратора. | Алукс 2009-03-30 14:31:13 | Статья и разьяснения отличные ! Благодарим автора за это. Попробую внедрить в это в работу.
С наилучшими пожеланиями-Алекс | pooh 2009-07-10 12:01:06 | Уважаемый автор! Не планируете ли Вы обновить статью ввиду значительных изменений в новых версиях ASSP? Ваша статья - пожалуй максимально полное русскоязычное описание настроек этой программы во всем интернете.
С уважением, Вячеслав | Vladimir Solovyov 2009-08-16 11:54:32 | Вячеслав, увы, обновить документацию я не могу - последний раз ASSP я использовал в 2006 году :)
Но вы можете поправить и дополнить эту статью.
Думаю, что администрация сайта выложит ее с удовольствием :)
| Dmitry 2009-08-24 13:52:30 | Хоть убей не могу победить отправку через фильтр, хочу что бы бел. список сам заполнялся. подскажите что может быть не так.
Стоит Exchange(10,0,050) перед ним на машине с FReeBSD ASSP(10,0,0,100)
Exchange ставлю на пересылку через смарт-хост с ASSP [10.0.0.100].
в ASSP
ставлю так
Accept All Mail - 10,0,0,50
Local Domains* - cargos.ru|*cargos.ru|*.cargos.ru
галка на Skip Local Domain Check
Drop Connection if Relaying Error
получаю хоть убей это
[e-mail] 24.08.2009 12:24
Отсутствуют разрешения для отправки сообщений данному получателю. Обратитесь за помощью к системному администратору.
<mailserv.cargos.ru #5.7.1 smtp;550 5.7.1 Unable to relay for [e-mail]
чтоя могу не так делать ? | akula 2011-04-19 11:42:06 | Поставил, столкнулся с проблемой что из моего домино во внешку почта не уходит. Пока не понял в чём причина. | pape 2012-07-30 11:14:33 | Все ок. Даже не смотря на то что статья старая все отлично настроилось и работает. Благодарю автора! Разработчикам напишу отдельное спасибо. Все пашет в связке с hmailserver.
P.S. поправьте ссылочки на скрипты cmd |
Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
Каждый пользователь eComStation/Rus может бесплатно зарегистрировать несколько полезных программ (общая стоимость которых > 6000 руб). Дисковые утилиты, программы для интернета, расширители рабочего стола. Нужны ли тебе эти программы? |
|
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|