Целью данного тестирования было оценить эффективность работы различных антиспам систем. Для тестирования были выбраны следующие продукты: ∙ Apache Spamassassin — SA(свободный) ∙ Yandex Spamooborona 2.3 — SO(коммерческий) ∙ Kaspersky Antispam 3.0 — KAS(коммерческий) ∙ FastBL 0.7.0 (свободный) ∙ dnsbl списки: bl.spamcop.net cbl.abuseat.org dnsbl.sorbs.net dul.nsbl.sorbs.net dul.ru sbl-xbl.spamhaus.org zen.spamhaus.org
DNSBL списки были выбраны по популярности использования. Для каждого продукта был выделен отдельный сервер (P4 3.0GHz HT/1GB RAM/FreeBSD 7.2-PRERELEASE), на котором производилось тестирование почтовой корреспонденции. В качестве MTA использовался sendmail, скомпилированный с поддержкой milter для подключения cервисов SA,SO,KAS. Для тестирования коммерческих продуктов были использованы временные лицензии, полученные с сайта разработчиков.
Почтовый трафик использовался поступающий для двух
доменов, зарегистрированных в 2002 и 2003 году. Суммарный ежесуточный трафик на данные домены составляет от 5 до 12 тысяч писем, что является вполне достаточным количеством почты для тестирования. Данные домены используются в основном для личной переписки, подписки на листы рассылки и имеют в наличии около 10 реальных почтовых получателей. Личный трафик на этих доменах составляет от 10 до 40 писем в сутки, что позволяет оценить эффективность работы тестируемых продуктов, а также коэффициент False Negative для
каждой из систем. К сожалению, из-за небольшого личного трафика не получилось оценить коэффициент False Positive, но это не является проблемой, так как тестируемые системы используют шаблонные методы оценки спама и вероятность попадания нормальных писем в спам очень невелика.
Основной релей принимал все входящие соединения и совершал их начальный анализ путём запросов к DNSBL-спискам, проверке соответствия сессии RFC(FastBL), затем перенаправлял письма далее на сервера с тестируемыми продуктами. Сразу скажу, что запросы в DNSBL зоны были только для получения информации о IP-адресе, но блокировка адреса не производилась. Тестирование производилось без дополнительного «тюнинга» продуктов в виде завышения оценочных коэффициентов, т.е. «as is».
В связи с тем, что тестируемые
системы имеют различные методы тестирования писем, обновление продуктов происходило по следующей схеме: «Apache Spamassassin» – sa-update раз в сутки «Kaspersky Antispam» – каждые 3 минуты «Yandex Spamooborona» – каждые 20 минут
Указанные временные промежутки обусловлены возможной частотой выхода новых обновлений и рекомендациями разработчиков.
Каждый из продуктов имеет свои особенности тестирования почтового контента: «Касперский Антиспам» использует offline-тестирование,
регулярно обновляя свои локальные базы, плюс возможность подключения dnsbl листов. «Яндекс Спамооборона» использует online-технологии тестирования, постоянно работая со своим центральным сервером, а также обновляя свои локальные базы по мере необходимости, также имея возможность подключения dnsbl листов. «Apache Spamassassin» использует offline обработку данных, а также online-сервисы списков DNSBL, Razor, Pyzor, DKIM, SPF.
SA и KAS используют fork() для обработки каждого письма, а SO, в
свою очередь, использует Threads, что намного экономичнее с точки зрения расхода памяти. При этом SA использует preforked процессы, ограничивая вероятность перерасхода памяти, а KAS форкается по мере необходимости, не превышая уровня фильтрующих процессов выше лимита, указанного в конфигурационном файле. Примерный расход памяти на каждый процесс: SA ~ 40 MB KAS ~ 30 MB SO ~ 90 MB
Ниже приведены таблицы результатов с комментариями. Сокращения, используемые в таблицах: PS
– Passed(количество пропущенных писем) BL – Blocked(количество заблокированных писем, определенных как SPAM) FN — FalseNegative(Количество писем определенных как хорошие, но являющихся спамом) FP – FalsePositive(Количество писем определенных как SPAM, но таковыми не являющиеся).
Date: 02.04.2009. Count: 10291
PS
BL
FN
FP
Spamooborona
56
10235
42
0
SpamAssassin
887
9406
873
0
Kaspersky Antispam
277
10014
264
1
bl.spamcop.net
5107
5184
5093
0
cbl.abuseat.org
2353
7938
2339
0
dnsbl.sorbs.net
5732
4559
5718
0
dul.nsbl.sorbs.net
7773
2518
7759
0
dul.ru
10255
36
10241
0
FastBL
89
10202
75
0
sbl-xbl.spamhaus.org
2336
7955
2322
0
zen.spamhaus.org
395
9896
381
0
Первый день тестирования начался со странного пробоя антиспам защиты продукта «Kaspersky Antispam», в связи с этим KAS пропустил писем больше, чем ожидалось. Этот же день показал слабость раздельной работы dnsbl-списков и SpamAssassin против российского спама. При тестировании я специально послал 4 письма с квотингом одного из спам писем с перемешиванием слов на тестовый сервер. Касперский в связи с контекстным анализом содержимого отправил валидное письмо, подписанное DKIM с gmail.com в SPAM.
С одной стороны, контент письма действительно был спамом, но, в свою очередь, письму была поставлена оценка [SPAM] вместо [Possible Spam]. Принимая во внимание, что данное письмо могло быть переслано системному администратору для анализа содержимого заголовков, KAS получил 1 FP.
Date: 03.04.2009. Count: 6357
PS
BL
FN
FP
Spamooborona
61
6296
31
0
SpamAssassin
780
5579
750
0
Kaspersky Antispam
65
6292
35
0
bl.spamcop.net
3455
2902
3425
0
cbl.abuseat.org
1571
4786
1541
0
dnsbl.sorbs.net
3759
2598
3729
0
dul.nsbl.sorbs.net
4801
1556
4771
0
dul.ru
6331
26
6301
0
FastBL
77
6280
47
0
sbl-xbl.spamhaus.org
1557
4800
1527
0
zen.spamhaus.org
325
6032
295
0
Во второй день тестирования Spamooborona и Kaspersky Antispam сравняли свои позиции.
Date: 05.04.2009. Count: 7025
PS
BL
FN
FP
Spamooborona
59
6966
39
0
SpamAssassin
1291
5739
1271
0
Kaspersky Antispam
29
6996
9
0
bl.spamcop.net
4170
2855
4150
0
cbl.abuseat.org
2031
4994
2011
0
dnsbl.sorbs.net
4424
2601
4404
0
dul.nsbl.sorbs.net
5180
1845
5160
0
dul.ru
6986
39
6966
0
FastBL
42
6983
22
0
sbl-xbl.spamhaus.org
2018
5007
1998
0
zen.spamhaus.org
368
6657
348
0
В третий и четвертый день тестирования (выходные дни) немного прохудилась защита у Spamooborona в связи с резким всплеском одиночных сообщений. Так как данные о составляющих компонентах писем у Yandex Spamooborona обрабатываются в online-режиме, то вполне вероятны пропуски сообщений, которые не имели частых повторений. Kaspersky Antispam в свою очередь показал преимущества своей оффлайновой системы оценки.
Date: 06.04.2009. Count: 9963
PS
BL
FN
FP
Spamooborona
53
9906
33
0
SpamAssassin
1506
8459
1486
0
Kaspersky Antispam
125
9837
105
0
bl.spamcop.net
7042
2921
7022
0
cbl.abuseat.org
2562
7401
2542
0
dnsbl.sorbs.net
6420
3543
6400
0
dul.nsbl.sorbs.net
7561
2402
7541
0
dul.ru
9907
56
9887
0
FastBL
68
9895
48
0
sbl-xbl.spamhaus.org
2549
7414
2529
0
zen.spamhaus.org
308
9655
288
0
На пятый день особых сюрпризов не произошло, кроме увеличения количества пробоев у Kaspersky Antispam.
Date: 07.04.2009. Count: 10923
PS
BL
FN
FP
Spamooborona
88
10832
48
1
SpamAssassin
1418
9503
1377
0
Kaspersky Antispam
190
10727
149
0
bl.spamcop.net
6405
4518
6364
0
cbl.abuseat.org
2651
8272
2610
0
dnsbl.sorbs.net
6478
4445
6437
0
dul.nsbl.sorbs.net
8237
2686
8196
0
dul.ru
10877
46
10836
0
FastBL
103
10820
62
0
sbl-xbl.spamhaus.org
2633
8290
2592
0
zen.spamhaus.org
293
10630
252
0
На шестой день Spamooborona схватила FP, заблокировав валидную рассылку с subscribe.newsland.ru. Во все дни тестирования приходило достаточно большое количество NDR с репортами о недоставке спам сообщений, но все NDR были отфильтрованы продуктами как SPAM, разбираться с этим не стал. Хотя это неверно.
Total. Count: 44552
PS
BL
FN
FP
Spamooborona
317
44235
193
1
SpamAssassin
5882
38686
5757
0
Kaspersky Antispam
686
43866
562
1
bl.spamcop.net
26178
18374
26053
0
cbl.abuseat.org
11168
33384
11043
0
dnsbl.sorbs.net
26812
17740
26687
0
dul.nsbl.sorbs.net
33551
11001
33426
0
dul.ru
44353
199
44228
0
FastBL
379
44173
254
0
sbl-xbl.spamhaus.org
11093
33459
10968
0
zen.spamhaus.org
1689
42863
1564
0
По окончании всех тестов из всего объёма писем (44552 письма) было выделено 125 абсолютно валидных писем, на основании которых были рассчитаны параметры FalseNegative и FalsePositive. Если исключить первый день тестирования, то видно, как коммерческие продукты идут нога в ногу при анализе спама. Spamassassin всё-таки рассчитан на анализ зарубежного спама и часто пропускает письма из-за отсутствия нормализации контента. Коммерческие продукты приводят письма к определенному виду. Например, часто
используемый спамерами метод вставки лишних знаков в слова типа: «Р-А-С-С.Ы, Л=К-И», а также замена русских букв сходными по написанию английскими буквами, абсолютно неэффективны против нормализации, при которой искаженное слово всё равно превратится в «рассылки» и попадёт под контекстный анализ, добавляющий за каждое такое слово определённое количество баллов всему письму. В свою очередь, SpamAssassin довольно хорошо различает зарубежный спам типа «Medical, Viagra, Cialis, Enlargement», а также хорошо фильтрует
«bayes poisoning» контекстных анализаторов.
По поводу dnsbl-списков мнение сложилось неоднозначное. С одной стороны, популярность публичных dnsbl очень высока, и они могут обеспечить защиту от спама до определённой степени. Но, с другой стороны, использовать dnsbl-списки в качестве панацеи нельзя, так как всё-таки бывают FP при работе с валидными доменами. Что же касается проверки входящих соединений по RFC (FastBL), то за время тестирования не случилось ни одного FP и уровень фильтрации сопоставим
с коммерческими продуктами. Но это уже другая история. :)
Ну, и напоследок, я решил свести в таблицу варианты событий в том случае, если бы контекстные анализаторы работали в паре с DNSBL-листами. Как и ожидалось, я получил 100% эффективность фильтрации спама даже при использовании зарубежного продукта Apache SpamAssassin.
Total Count:44552
PS
BL
FN
FP
bl.spamcop.net+so
124
44243
184
1
bl.spamcop.net+sa
125
38702
5725
0
bl.spamcop.net+kas
124
44050
377
1
cbl.abuseat.org+so
124
44266
161
1
cbl.abuseat.org+sa
125
40541
3886
0
cbl.abuseat.org+kas
124
44264
163
1
dnsbl.sorbs.net+so
124
44258
169
1
dnsbl.sorbs.net+sa
125
39832
4595
0
dnsbl.sorbs.net+kas
124
44068
359
1
dul.nsbl.sorbs.net+so
124
44247
180
1
dul.nsbl.sorbs.net+sa
125
39398
5029
0
dul.nsbl.sorbs.net+kas
124
44013
414
1
dul.ru+so
124
44236
191
1
dul.ru+sa
125
38714
5713
0
dul.ru+kas
124
43872
555
1
FastBL+so
124
44413
14
1
FastBL+sa
125
44374
53
0
FastBL+kas
124
44412
15
1
sbl-xbl.spamhaus.org+so
124
44268
159
1
sbl-xbl.spamhaus.org+sa
125
40519
3908
0
sbl-xbl.spamhaus.org+kas
124
44265
162
1
zen.spamhaus.org+so
124
44309
118
1
zen.spamhaus.org+sa
125
43747
680
0
zen.spamhaus.org+kas
124
44387
40
1
Теперь о самом грустном в этой познавательной истории об антиспаме — о настройке и лицензировании коммерческих продуктов. Несмотря на практически безупречное ядро продуктов, внешняя обёртка очень неудачна и неудобна. Лично я ждал большего профессионализма от разработчиков продуктов такого плана. Итак, несколько «ложек дёгтя в бочку с мёдом». Оба продукта ориентированы на установку в систему FreeBSD 6.2, которая уже давно устарела с точки зрения безопасности, а также версий
продуктов, используемых в релизе(пришлось шаманить с compat6x). Kaspersky antispam содержит в своём дистрибутиве perl 5.6.2, а также часть специфических perl модулей. Администраторская консоль KAS использует thttpd и обвязку системы в виде перловых CGI-скриптов. Она конечно, выглядит красиво, но, по-моему, не сильно информативно, хотя имеет графики работы фильтра. Имеется возможность создания групп пользователей с различными методами фильтрации, есть белые/черные списки — как пользователей, так и
ip адресов. Возможности использовать внешние базы пользователей и групп я, к сожалению, в администраторской web консоли не нашёл (возможно, закопано где-то в консольных утилитах). С лицензированием тоже не совсем ясно, формально я нигде не нашёл количественной единицы, по которой оценивается лицензирование per-user. Во временной лицензии указанный порог обработки в 250 мегабайт на самом деле составляет от 250 до 499 мегабайт. Лицензирование продукта основывается на файле лицензии, получаемом при покупке. Система
поддерживает добавление и установку нескольких лицензий. Ну и самое моё большое «фи» в сторону разработчиков KAS — это метод установки milter-фильтра в конфигурационный файл sendmail.cf Ребята!!! Зачем же Вы правите РАБОЧИЙ СКОМПИЛИРОВАННЫЙ КОНФИГ, который при ПЕРВОМ же обновлении отменит все внесенные изменения ? Скрипт добавления фильтра в конфиг при ближайшем рассмотрении таки-имеет hidden flag, позволяющий указать sendmail.mc для инъекции строк, вызывающих фильтр, но данный flag не вызывается
из конфигурирующего скрипта MTA-config.pl Все процессы KAS выполняются под пользователем mailflt3, которому отведен свой каталог для работы /usr/local/ap-mailfilter3. Скрипты запуска используют старый механизм запуска сервисов, который не контролируется из /etc/rc.conf.
Yandex Spamooborona тоже меня удивила. Конфигуратор написан на DIALOG, при установке я этого несколько не ожидал. Ветки конфигуратора очень «разлапистые» и очень просто там заблудиться. Большая часть настроек уже предустановлена,
но лучше пройтись по всем пунктам в меню и выставить нужные Вам параметры. SO имеет возможность работы с plaintext файлами, LDAP и судя по кускам SQL кода в конфиге, умеет еще и MySQL. После того как я настроил работу SO, меня один человек спросил: «я просто слышал отзывы некоторых продавцов антиспамов, что якобы spamооборона жутко сложна в настройке и никто, кто не купил прямую поддержку у Яндекса, «завести» ее не смог. Или ты уникум редкий, или кто-то где-то врёт». Реально настройка с plaintext файлами
не так уж сложна, и, в принципе, полностью прозрачна. Но мне кажется, что основные проблемы настройки всё-таки связаны с LDAP и MySQL. Политика лицензирования тоже необычна. Для защиты от спама необходимо прописать либо вручную, либо автоматически все почтовые адреса, которые будет защищать система. Т.к. это реально неудобно в динамически растущей сети, то заставляет сильно задуматься. Лицензирование per-user основано именно на этом списке пользователей. Что произойдёт в том случае, если список пользователей
привысит максимальный уровень, указанный в лицензии, я сказать не могу, но, как мне кажется, это не совсем правильно. В моей организации около 30 доменов, 600 юзеров и около 50 групп. При том, что каждый пользователь может иметь адреса из двух доменов (например, alias), мне придётся купить практически безлимитную лицензию для нормальной работы моей компании. Отдельная статья — ключ лицензирования. Ключ генерируется из двух файлов: spam.ini(основной конфиг фильтра) и domains(список защищаемых доменов). Эти два
файла отсылаются на web сервер SO ”вручную” и, после заполнения необходимой информации в web форме, сервер генерит ключ. Ключ сохраняется в файлик so.key и кладётся в каталог где находятся остальные настройки SO. И не дай бог Вам исправить хотя бы один бит в файлах spam.ini и domains — всю процедуру регистрации придётся проходить заново, иначе фильтр работать не будет. Хорошим плюсом для начинающих администраторов будет русификация интерфейса настройки SO.
Описывать настройку и работу SpamAssassin
особого смысла нет, так как он установлен на подавляющем большинстве почтовых релеев.
Ну, в принципе, вроде всё. Что хотел написать и сказать — написал и объяснил. Сомнения о необъективности тестирования, я, конечно, приму от любого. Если Вы считаете, что данное тестирование было необъективным и можно получить иные результаты без серьёзного закручивания гаек, то можете прислать мне в личку конфигурационный файл интересующего Вас продукта, и я смогу поставить еще пару-тройку серверов с существующими
и Вашими конфигами, тогда мы еще раз сравним результаты.
ЗЫ: Если есть вопросы по тестированию, то «Лаборатория Касперского» написала чудесный документ: www.spamtest.ru/document.html?context=15948&pubid=16638, в котором Вы сможете найти все рекомендации к тестам. В моих тестах они были соблюдены максимально точно, за исключением времени тестирования, всё таки документ 2004 года. ЗЗЫ:
Готов ловить камни в свой огород.
Интерактивный курс :
«Фотошоп - доступно о сложном»
Изучив Этот Сайт От Начала До Конца, Вы Узнаете Секреты Редактирования Фотографий и Создания
Профессиональных Шедевров из Обычных Фотографий, Которым Я Учился 1.5 года, Вы же узнаете за несколько часов!
* Как работать в Photoshop?
* Что такое коллаж?
* Как "оживить" свои фотографии?
* Как сделать темные снимки яркими и цветными?
* Как сделать профессиональный фотомонтаж?
* Как заработать используя свои знания Photoshop? Вы хотите узнать ответы на эти вопросы? Кликните Сюда, Чтобы Узнать Все Подробности!>>