Ужас, летящий на крыльях SMTP Сергей Супрунов Хакер, номер #100, стр. 100-154-4 После установки (она потянет за собой несколько Perl-модулей) анализатор можно сразу использовать. Беда только в том, что сам он с почтой ничего делать не умеет, полагаясь на таких помощников, как procmail: # vi /etc/procmail.conf :0 Wc | razor-check :0 Waf /var/razor/carantine Вместо помещения в карантин, можно ограничиться модификацией темы/заголовков, используй для этого formail. Зарегистрировавшись в системе (командой razor-admin -register), ты станешь ее участником и сможешь отсылать в базу свои образцы спама или указывать на ложные срабатывания. Очевидно, что для расчета сигнатуры письмо нужно принять полностью (или, по крайней мере, его значительную часть). Кроме того, расчеты требуют вычислительных затрат. В условиях графического и вариативного спама сигнатурные анализаторы, даже несмотря на использование нечетких сигнатур, становятся мало полезны. А при высоких скоростях рассылки их эффективность падает еще больше. Статистика знает все Сколько времени у тебя уходит на то, чтобы понять, спам перед тобой или письмо от приятеля? Думаю, меньше секунды, причем зачастую достаточно взгляда на заголовок. Значит, спам отличается от обычной почты (удивительное открытие, не так ли?). И что мешает искать эти отличия автоматически? В принципе ничего, и фильтры на базе байесового классификатора пытаются это доказать. В их основе лежит классификация писем путем анализа их лексического состава с использованием теоремы Байеса. Упрощенно это сводится к такому предположению: если ранее 989 писем из 1000 со словом «виагра» были спамом, то следующее письмо с этим словом будет спамом с вероятностью 98,9%. Эффективность повышается за счет использования нескольких слов, их цепочек и т.д. Понятно, что для работы фильтр должен знать, какие слова ранее встречались в спаме, а какие - в нормальной почте, то есть ему необходимо обучение. Инструментов, реализующих идею лексического анализа, немало. Одним из наиболее интересных является DSPAM. Он работает между MTA и ящиками пользователей, подменяя собой агента локальной доставки (LDA). Есть возможность включить его между ящиком и пользователем (в связке с POP3-прокси), что также дает некоторые преимущества. Установка из портов сложности не вызывает (главное - осмысленно отмечать нужные опции); конфигурирование сводится к редактированию в /usr/local/etc/dspam.conf опций подключения СУБД (саму базу тоже нужно подготовить, в документации этот момент освещен достаточно подробно), выбору реального LDA и (при желании) настройке используемых алгоритмов анализа. Возможно, придется повозиться с настройкой CGI-модуля, который очень требователен к правам доступа (я для упрощения жизни обычно использую виртуальный хост в Apache с включенным suexec). В конце необходимо обеспечить автозапуск демона при старте системы и добавить в sendmail.mc такие строки: |