Ежедневно отправляется 28 миллиардов писем со спамом. То есть большая часть всего почтового трафика и почти ни один почтовый аккаунт не избавлен от нежелательных рекламных рассылок. Пока единственный способ защитить свой почтовый ящик от них - это хороший и работающий спам-фильтр. SpamAssassin - еще один такой спам-фильтр, но прежде всего это его буквально ручной алгоритм и высокая гибкость, которые делают его совершенно особенным программным продуктом.
Краткий обзор
Хотя сейчас над программой работает целая команда, основой SpamAssassin стал Джастин Мейсон (Justin Mason), который ранее отвечал за аналогичную программу под названием filter.plx. В 2001 году части программы были адаптированы, переписаны и переименованы в новый проект "Спамассасин". С 2004 года она принадлежит Фонду Программного Обеспечения Apache и продолжает работать с открытым исходным кодом. Кроме того, что программа имеет открытый исходный текст, существует также лицензия, которая делает программу свободной, чье частное и коммерческое использование, например, в качестве модуля других платных программ, является полностью свободным.
Основным преимуществом программы является ее высокая гибкость в отношении уровня использования, поскольку SpamAssassin может использоваться как собственное приложение, как подпрограмма (модуль) другой программы, как клиентская программа почтового демона или как вызов MDA (Mail Delivery Agent), например, Procmail. Важно: Даже если в цепочку распространения включены различные экземпляры программного обеспечения, флаг не означает, что программное обеспечение не будет использоваться. E-mail анализируется дважды, что предотвращает дублирование процессов и снижает загрузку ресурсов.
Вот как работает процесс сортировки
SpamAssassin работает по балльной системе. Каждое входящее письмо анализируется в соответствии с определенными критериями, и ему присваиваются баллы, которые показывают, насколько вероятно, что оно является Спам действия. Настраиваемый пользователем порог определяет момент, после которого электронное письмо рассматривается как спам и отсортировывается. Для получения максимально точной оценки в распоряжении программы имеется целый ряд различных методов, таких как:
- белый и чёрный списки на основе DNS
- Фильтр контрольной суммы от открытых и коммерческих провайдеров, таких как DCC или Vipul's Razor.
- Экспрессионный фильтр на основе Ключевые слова или ключевые фразы
- Хэшкэш-система (доказательство работы)
- DIM и SPF
- Список URL-адресов, выводимых трекерами, такими как uribl.com.
байесовский фильтр
В дополнение к более или менее статическим системам фильтрации, SpamAssassin имеет алгоритм, применяемый к Байесовскому фильтру, который способен "выучить" определенную эвристику, т.е. повторяющиеся, отличительные элементы, из уже отправленных спам-сообщений и, таким образом, адаптироваться к поведению пользователя. Система основана на байесовской концепции вероятности, но часто подвергается критике, так как необученная система фильтрации часто производит ложные срабатывания.
Для предотвращения этого рекомендуется сначала более тщательно проверять письма, классифицируемые как спам. Байесовский фильтр содержит инструмент, доступный через командную строку sa-learn, который может быть использован для поиска эвристики как в отдельных сообщениях электронной почты, так и в целых почтовых ящиках. Если этот процесс был выполнен несколько раз, то количество ложных срабатываний значительно уменьшается.
текущее развитие
В ходе последних обновлений версий 3.3 и 3.4 SpamAssassin получил важную новую функцию, которая должна оказать существенное влияние на использование ресурсов. Несмотря на то, что оптимизация производительности была сделана заранее, теперь программа ведет себя как детерминистический конечный автомат. В принципе, аппаратное обеспечение может лучше адаптироваться к DEA, потому что возможные состояния всегда протекают детерминированно, т.е. предопределено. Таким образом, правильно запрограммированная система, как и современное серверное оборудование, может резервировать и высвобождать ресурсы в критическом для времени режиме.
Поддержка программ
Как уже упоминалось, высокая гибкость программного кода является уникальной точкой продажи, но SpamAssassin также имеет успешный API, позволяющий обмениваться данными со многими другими программами. Среди проектов с открытым исходным кодом это часто используемые почтовые клиенты Mozilla Thunderbird, KMail, а также Novell Evolution или экзотика, такая как Citadel или Claws Mail. С коммерческими продуктами SpamAssassin уже интегрирован в программный код. Это относится к серверу Icewarp, McAfee SpamKiller, Mac OS X Server или Sophos PureMessage.