LXF92:Убить спам
(викификация, оформление) |
|||
Строка 73: | Строка 73: | ||
смог набрать достаточно предупреждений, чтобы пометить это сообщение как спам. Одно из решений – отредактировать конфигурацион-ный файл в '''~/.SpamAssassin/user_prefs''' и понизить параметр '''required_score''' с 5.0 до 4.5, но в результате ''SpamAssassin'' с большей вероятностью будет ошибочно помечать нормальные письма как спам. | смог набрать достаточно предупреждений, чтобы пометить это сообщение как спам. Одно из решений – отредактировать конфигурацион-ный файл в '''~/.SpamAssassin/user_prefs''' и понизить параметр '''required_score''' с 5.0 до 4.5, но в результате ''SpamAssassin'' с большей вероятностью будет ошибочно помечать нормальные письма как спам. | ||
− | + | Лучше научить ''SpamAssassin'' распознавать этот тип сообщений как | |
спам, указав ему на эту ошибку. Используя команду ''sa-learn'', вы можете либо обучить ''SpamAssassin'' распознавать спам, который был пропущен, либо повторно рассмотреть сообщения, которые были восприняты как спам (они помечаются как '''‘ham’'''). Чтобы обучить ''SpamAssassin'', наберите либо ''sa-learn --spam'', либо ''sa-learn --ham'', с последующим | спам, указав ему на эту ошибку. Используя команду ''sa-learn'', вы можете либо обучить ''SpamAssassin'' распознавать спам, который был пропущен, либо повторно рассмотреть сообщения, которые были восприняты как спам (они помечаются как '''‘ham’'''). Чтобы обучить ''SpamAssassin'', наберите либо ''sa-learn --spam'', либо ''sa-learn --ham'', с последующим | ||
именем файла, содержащего сообщение. Чем на большем числе писем вы сможете провести обучение, тем лучше ваша защита. | именем файла, содержащего сообщение. Чем на большем числе писем вы сможете провести обучение, тем лучше ваша защита. | ||
Строка 87: | Строка 87: | ||
===Советы по SpamAssassin=== | ===Советы по SpamAssassin=== | ||
− | * Сохраняйте свой спам! ''SpamAssassin'' учится на своих ошибках. Это означает, что вам нужно использовать ваши | + | * Сохраняйте свой спам! ''SpamAssassin'' учится на своих ошибках. Это означает, что вам нужно использовать ваши cпам-сообщения для обучения фильтра. |
− | * Не просто переносите ошибочно отфильтрованные сообщения назад в свой почтовый ящик. Позаботьтесь, чтобы ''SpamAssassin'' | + | * Не просто переносите ошибочно отфильтрованные сообщения назад в свой почтовый ящик. Позаботьтесь, чтобы ''SpamAssassin'' больше не сделал такую же ошибку: пропустите '''‘ham’''' через утилиту ''sa-learn''. |
− | больше не сделал такую же ошибку: пропустите '''‘ham’''' через утилиту ''sa-learn''. | + | |
− | * Проверяйте сообщения у источника. Если у вас запущен почтовый сервер, установите простой скрипт для проверки входящей почты. Если вы платите кому-то за обслуживание вашей почты, попросите его установить | + | * Проверяйте сообщения у источника. Если у вас запущен почтовый сервер, установите простой скрипт для проверки входящей почты. Если вы платите кому-то за обслуживание вашей почты, попросите его установить ''SpamAssassin''. |
− | ''SpamAssassin''. | + | |
− | * Интегрируйте ''SpamAssassin'' в свой почтовый клиент. Даже без встроенной поддержки вы все же можете пропускать почту через | + | * Интегрируйте ''SpamAssassin'' в свой почтовый клиент. Даже без встроенной поддержки вы все же можете пропускать почту через ''SpamAssassin'', используя фильтр. |
− | ''SpamAssassin'', используя фильтр. | + | |
− | * Если ваш клиент не интегрируется со ''SpamAssassin'', сортируйте спам и ошибочно помеченные письма по своим собственным | + | * Если ваш клиент не интегрируется со ''SpamAssassin'', сортируйте спам и ошибочно помеченные письма по своим собственным папкам. Вы можете затем обучать ''SpamAssassin'' из командной строки. |
− | папкам. Вы можете затем обучать ''SpamAssassin'' из командной строки. | + | |
* Запускайте ''SpamAssassin'' как демон. Команда ''spamassassin'' удобна, но интенсивно нагружает процессор. Используйте вместо нее ''spamd'' и ''spamc''. | * Запускайте ''SpamAssassin'' как демон. Команда ''spamassassin'' удобна, но интенсивно нагружает процессор. Используйте вместо нее ''spamd'' и ''spamc''. |
Текущая версия на 12:25, 20 ноября 2008
|
|
|
Содержание |
[править] Убить спам
- С жуткой эффективностью SpamAssassin блокирует письма, просачивающиеся через другие спам-фильтры. Грэм Моррисон расскажет, как этого достичь.
Имя SpamAssassin [Спамоубийца, – прим. ред.] отлично подходит для голливудского фильма о фильтрации спама, даже неловко его тратить на какую-то там программу. Но так все же сделано, и приложение, известное, как SpamAssassin для многих из нас – лучшая возможность прикрыть свои почтовые ящики от злостных спамеров. За пять лет, прошедшие после регистрации SpamAssassin на SourceForge, он стал одним из наиболее уважаемых средств фильтрации почты – и среди бесплатных, и среди коммерческих.
SpamAssassin находится всего в паре «кликов» от вас, в менеджере пакетов вашего дистрибутива. Многие системы разбивают его на два инструмента: фоновый демон (spamd) и интерактивный клиент (spamc). Это гораздо эффективнее, чем запускать отдельную программу при каждой проверке почты. Даже среднестатистический пользователь может сканировать десятки писем за сессию, и использование демона устраняет накладные расходы на лишние запуски и остановы одного и того же процесса.
SpamAssassin больше похож на ниндзя, чем на викинга-берсеркера: единожды настроенный и запущенный, он работает тишком. Сидя в фоне, SpamAssassin оценивает степень «спамности» каждого письма, сравнивая содержимое с примерами заведомого спама. Если эта степень превысит определенный порог, SpamAssassin делает что-то типа виртуального эквивалента рисованию красного креста на входной двери, оставляя свою метку в заголовках сообщения. В зависимости от конфигурации, он также может изменить тему сообщения или пнуть его прямо в /dev/null. Любой почтовый клиент сумеет фильтровать сообщения, выискивая письма с меткой SpamAssassin’а и сбрасывая таковые в папку карантина. В принципе, то же самое делают и другие основанные на сопоставлении фильтры спама, но отличительная черта SpamAssassin – чудовищная эффективность, отточенная за годы постижения древнего боевого искусства (как сказали бы голливудские сценаристы) байесовой фильтрации.
Борьбу со спамом легко представить как сканирование текста сообщений в поисках стандартных фрагментов, присущих спаму. Эта технология известна как классификация текста. Слова типа «Viagra», «loan» и «Nigeria» отыскать легко, но простой поиск здесь не спасет. Спамеры давно научились обходить простые технологии фильтрации, фаршируя ключевые слова случайными символами и строками, точно так же, как какой-нибудь вирус модифицирует свой код ДНК, чтобы выжить.
[править] Отношение «сигнал/шум»
Вот почему спам в наши дни напоминает скорее вывод «Энигмы», чем флайер случайного продавца. Наша любимая на сегодняшний день тема спама – «Я предумышленно убил вертекс» смысла не имеет, но фильтру не по зубам отличить его от «хорошего» письма. Байесовский фильтр спроектирован с обучаемостью постоянно меняющимся словам, используемым в спаме, и его секретное оружие – человек. Всякий раз, когда спам просачивается сквозь фильтр, пользователь «скармливает» его алгоритму обучения SpamAssassin, чтобы предотвратить повторную ошибку. Это ключ к успеху SpamAssassin: чем больше данных он получает, тем эффективнее становится; и спам удушен.
Вы можете протестировать байесов фильтр SpamAssassin’а из командной строки, не беря в голову демона или клиента. Сохраните письмо со спамом из вашего почтового клиента в текстовый файл и введите spamassassin с последующим именем файла, содержащего ваше сообщение. Вывод SpamAssassin’а встраивается в стандартный формат электронного сообщения и промчится мимо вас в командной строке, если вы не перенаправите его в отдельный файл, используя >new_file.txt.
SpamAssassin добавляет несколько строк в заголовок всех просканированных писем, будь то спам или нет, неважно. Заголовки сообщений (как правило, скрываемые клиентами электронной почты) содержат данные для передачи сообщения от отправителя получателю, а также путь, пройденный письмом за путешествие до вашего почтового ящика. Как минимум, SpamAssassin добавляет три заголовка: X-Spam-Checker-Version, X-Spam-Level и X-Spam-Status. Поле Level используется для отображения степени сходства письма со спамом: набранный балл отображается символами «звездочка». Если их больше пяти, письмо, вероятно, является спамом. По данным поля Level почтовые клиенты типа KMail выводят кнопку предупреждения достаточно устрашающего вида.
[править] Результаты экзамена
Но пища для размышления может быть найдена в последнем поле, Status. Оно подытоживает обработку, выполненную над сообщением, и то, как SpamAssassin определил похожесть сообщения на спам. Ниже показан статус спам-сообщения, которое мы пропустили через SpamAssassin с настройками по умолчанию:
X-Spam-Status: No, score=4.7 required=5.0 tests=HTML_FONT_BIG,HTML_MESSAGE,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_XBL autolearn=no version=3.14
Итоговый балл этого письма – 4.7, он не дотягивает до порога 5.0, определенного в поле required. Тесты, использованные для определения балла, перечислены в поле tests. В нашем случае на письмо отреагировали лишь четыре теста. Первые два обнаружили, что оно является HTML-сообщением с крупными шрифтами ('HTML_FONT_BIG и HTML_MESSAGE). Последние два теста сверяют IP-адрес в заголовке сообщения с черными списками известных преступников, размещенных на некоторых серверах в сети. Несмотря на эти тесты, SpamAssassin не смог набрать достаточно предупреждений, чтобы пометить это сообщение как спам. Одно из решений – отредактировать конфигурацион-ный файл в ~/.SpamAssassin/user_prefs и понизить параметр required_score с 5.0 до 4.5, но в результате SpamAssassin с большей вероятностью будет ошибочно помечать нормальные письма как спам.
Лучше научить SpamAssassin распознавать этот тип сообщений как спам, указав ему на эту ошибку. Используя команду sa-learn, вы можете либо обучить SpamAssassin распознавать спам, который был пропущен, либо повторно рассмотреть сообщения, которые были восприняты как спам (они помечаются как ‘ham’). Чтобы обучить SpamAssassin, наберите либо sa-learn --spam, либо sa-learn --ham, с последующим именем файла, содержащего сообщение. Чем на большем числе писем вы сможете провести обучение, тем лучше ваша защита.
Именно обучаемость делает SpamAssassin столь мощным. Потратив время и потренировав его на письмах из вашего почтового ящика, вы сможете ожидать, что спам вас больше не побеспокоит. Но лучшее, что вы можете сделать для противостояния спаму – никогда не отвечать ни на какие спам-сообщения. Единственное, что в глазах спамера оправдывает его грязный бизнес – это одно письмо из миллиона, приносящее ему некоторые деньги. Вы удивитесь, но некто даже взял да и щелнул на «ответить», получив попрошайническое письмо якобы от имени вдовы Ясира Арафата. LXF
[править] Советы по SpamAssassin
- Сохраняйте свой спам! SpamAssassin учится на своих ошибках. Это означает, что вам нужно использовать ваши cпам-сообщения для обучения фильтра.
- Не просто переносите ошибочно отфильтрованные сообщения назад в свой почтовый ящик. Позаботьтесь, чтобы SpamAssassin больше не сделал такую же ошибку: пропустите ‘ham’ через утилиту sa-learn.
- Проверяйте сообщения у источника. Если у вас запущен почтовый сервер, установите простой скрипт для проверки входящей почты. Если вы платите кому-то за обслуживание вашей почты, попросите его установить SpamAssassin.
- Интегрируйте SpamAssassin в свой почтовый клиент. Даже без встроенной поддержки вы все же можете пропускать почту через SpamAssassin, используя фильтр.
- Если ваш клиент не интегрируется со SpamAssassin, сортируйте спам и ошибочно помеченные письма по своим собственным папкам. Вы можете затем обучать SpamAssassin из командной строки.
- Запускайте SpamAssassin как демон. Команда spamassassin удобна, но интенсивно нагружает процессор. Используйте вместо нее spamd и spamc.
[править] Шаг за шагом: Настройки для KMail или Evolution
Установите SpamAssassin Последние версии KMail (слева) и Evolution (справа) имеют встроенную поддержку SpamAssassin. KMail использует Мастер (Anti-Spam Wizard), а Evolution – расширение. Для работы обоих нужно убедиться, что установлен SpamAssassin, а также демон spamd и клиент spamc.
Задайте пункт назначения В KMail создайте папку «spam» и укажите ее как место назначения в Мастере. Evolution создает папку «junk» и помещает спам в нее автоматически. Не позволяйте почтовому клиенту удалять сообщения до ручной проверки: SpamAssassin поначалу может допускать некоторые ошибки.
Помогите ему учиться!
В KMail выделите любой спам, который не определился автоматически, и щелкните по круглой зеленой иконке. В Evolution щелкните по иконке Junk. Есть и иконки для пометки сообщения как ошибочного причисленного к спаму, их SpamAssassin тоже использует для обучения.