Apache SpamAssassin

Фильтр спама в электронной почте с открытым исходным кодом

Apache SpamAssassin
Разработчик(и)Фонд программного обеспечения Apache [1]
Первоначальный выпуск20 апреля 2001 г. ; 23 года назад ( 2001-04-20 )
Стабильный релиз
4.0.1 [2]  / 29 марта 2024 г. ; 10 месяцев назад ( 29 марта 2024 )
РепозиторийРепозиторий SpamAssassin
Написано вПерл , С
Операционная системаКроссплатформенный
ТипСпам-фильтр
ЛицензияЛицензия Apache 2.0
Веб-сайтspamassassin.apache.org 

Apache SpamAssassin — это компьютерная программа , используемая для фильтрации спама в электронной почте . Она использует различные методы обнаружения спама, включая DNS и методы нечеткой контрольной суммы , байесовскую фильтрацию , внешние программы, черные списки и онлайн-базы данных. Она выпущена под лицензией Apache License 2.0 и является частью Apache Foundation с 2004 года.

Программа может быть интегрирована с почтовым сервером для автоматической фильтрации всей почты для сайта. Она также может быть запущена отдельными пользователями на их собственных почтовых ящиках и интегрируется с несколькими почтовыми программами . Apache SpamAssassin имеет широкие возможности настройки; если он используется как общесистемный фильтр, его все равно можно настроить для поддержки предпочтений каждого пользователя.

История

Apache SpamAssassin был создан Джастином Мейсоном, который поддерживал ряд исправлений для более ранней программы filter.plx Марка Джефтовича, которая, в свою очередь, была начата в августе 1997 года. Мейсон переписал весь код Джефтовича с нуля и загрузил полученную кодовую базу на SourceForge 20 апреля 2001 года. [3]

Летом 2004 года проект стал проектом Apache Software Foundation и позднее был официально переименован в Apache SpamAssassin . [4]

Методы использования

Apache SpamAssassin — это приложение на основе Perl ( Mail::SpamAssassin в CPAN ), которое обычно используется для фильтрации всей входящей почты для одного или нескольких пользователей. Его можно запустить как отдельное приложение или как подпрограмму другого приложения (например, Milter , SA-Exim, Exiscan, MailScanner , MIMEDefang , Amavis ) или как клиент ( spamc ), который взаимодействует с демоном ( spamd ). Клиент-серверный или встроенный режим работы имеет преимущества в производительности, но при определенных обстоятельствах может представлять дополнительные риски безопасности.

Обычно любой вариант приложения устанавливается в общей программе почтового фильтра или вызывается напрямую из почтового агента пользователя , который поддерживает это, всякий раз, когда приходит новая почта. Программы почтовых фильтров, такие как procmail, можно заставить пропускать всю входящую почту через Apache SpamAssassin с помощью настройки файла procmailrc пользователя .

Операция

Apache SpamAssassin поставляется с большим набором правил, которые применяются для определения того, является ли электронное письмо спамом или нет. Большинство правил основаны на регулярных выражениях , которые сопоставляются с полями тела или заголовка сообщения, но Apache SpamAssassin также использует ряд других методов борьбы со спамом. В документации SpamAssassin эти правила называются «тестами».

Каждый тест имеет значение оценки, которое будет присвоено сообщению, если оно соответствует критериям теста. Оценки могут быть положительными или отрицательными, причем положительные значения указывают на «спам», а отрицательные — на «хам» (не спам-сообщения). Сообщение сопоставляется со всеми тестами, и Apache SpamAssassin объединяет результаты в глобальную оценку, которая присваивается сообщению. Чем выше оценка, тем выше вероятность того, что сообщение является спамом.

Apache SpamAssassin имеет внутренний (настраиваемый) порог оценки для классификации сообщения как спама. Обычно сообщение будет считаться спамом только в том случае, если оно соответствует нескольким критериям; соответствия только одному тесту обычно недостаточно для достижения порога.

Если Apache SpamAssassin считает сообщение спамом, его можно дополнительно переписать. В конфигурации по умолчанию содержимое письма добавляется в виде вложения MIME с краткой выдержкой в ​​теле сообщения и описанием тестов, в результате которых письмо было классифицировано как спам. Если оценка ниже заданных настроек, по умолчанию информация о пройденных тестах и ​​общая оценка все равно добавляются в заголовки письма и могут использоваться при постобработке для менее серьезных действий, таких как пометка письма как подозрительного.

Apache SpamAssassin позволяет настраивать поведение для каждого пользователя, даже если он установлен как общесистемная служба; конфигурация может быть считана из файла или базы данных. В своей конфигурации пользователи могут указать лиц, чьи электронные письма никогда не считаются спамом, или изменить оценки для определенных правил. Пользователь также может определить список языков, на которых он хочет получать почту, и Apache SpamAssassin затем назначает более высокую оценку всем письмам, которые кажутся написанными на другом языке.

Apache SpamAssassin основан на эвристике (распознавании образов), и такое программное обеспечение выдает ложные срабатывания и ложные отрицательные результаты.

Методы сетевой фильтрации

Apache SpamAssassin также поддерживает:

Дополнительные методы можно легко добавить, написав плагин Perl для Apache SpamAssassin.

Байесовская фильтрация

Apache SpamAssassin усиливает свои правила с помощью байесовской фильтрации , где пользователь или администратор «скармливает» примеры хорошего (ham) и плохого (spam) в фильтр, чтобы узнать разницу между ними. Для этой цели Apache SpamAssassin предоставляет инструмент командной строки sa-learn , который может быть проинструктирован изучить отдельное письмо или целый почтовый ящик как ham или spam.

Обычно пользователь перемещает нераспознанный спам в отдельную папку, а затем запускает sa-learn для папки не-спама и для папки спама по отдельности. В качестве альтернативы, если почтовый агент пользователя поддерживает это, sa-learn может быть вызван для отдельных писем. Независимо от метода, используемого для выполнения обучения, байесовский тест SpamAssassin поможет оценить будущие письма на основе этого обучения для повышения точности.

Лицензирование

Apache SpamAssassin — это бесплатное программное обеспечение с открытым исходным кодом , лицензированное по Apache License 2.0 . Версии до 3.0 имеют двойную лицензию по Artistic License и GNU General Public License .

Многие коммерчески доступные пакеты защиты от спама включают SpamAssassin в состав своих продуктов, например, SpamKiller от McAfee и Kerio MailServer от Kerio. [5]

sa-компиляция

sa-compile— это утилита, распространяемая вместе с Apache SpamAssassin, которая компилирует набор правил SpamAssassin в детерминированный конечный автомат , позволяющий Apache SpamAssassin более эффективно использовать мощность процессора.

Тестирование

Apache SpamAssassin предназначен для срабатывания на GTUBE , 68-байтовой строке, похожей на тестовый файл антивируса EICAR . Если эта строка вставлена ​​в сообщение в формате RFC 5322 и передана через движок Apache SpamAssassin, Apache SpamAssassin сработает с весом 1000.

Смотрите также

Примечания

  1. ^ "Комитет по управлению проектами". Apache Software Foundation . 2022. Получено 23 августа 2023 .
  2. Сидни Марковиц (29 марта 2024 г.). "[АНОНС] Доступен Apache SpamAssassin 4.0.1" . Получено 30 марта 2024 г. .
  3. ^ "Предыстория SpamAssassin". Apache Foundation . Получено 19 декабря 2018 г.
  4. ^ "Статус инкубации проекта SpamAssassin". Apache Foundation . Получено 19 декабря 2018 г.
  5. ^ Хонг, Брайан (2008). Создание сервера с FreeBSD 7: модульный подход (1-е изд.). Сан-Франциско: No Starch Press. стр. 197. ISBN 9781593271459.

Ссылки

  • Макдональд, Алистер (27 сентября 2004 г.). SpamAssassin: Практическое руководство по интеграции и настройке (1-е изд.). Packt Publishing . стр. 240. ISBN 978-1-904811-12-1.
  • Шварц, Алан (июль 2004 г.). SpamAssassin (1-е изд.). O'Reilly Media . стр. 207. ISBN 978-0-596-00707-2.
  • Официальный сайт
  • Apache SpamAssassin Wiki
  • Обновления правил Apache SpamAssassin Wiki Автоматическое обновление Apache SpamAssassin
  • KAM.cf Набор правил KAM для Apache SpamAssassin
Взято с "https://en.wikipedia.org/w/index.php?title=Apache_SpamAssassin&oldid=1260985489"