Разделы новостей
Последние новости:
Железо
Софт
Интернет
Наука и техника
Электронная коммерция

Разделы статей



Popsneaker - еще одна линия обороны от спама

Александр Куприн

Введение

Можно потратить десятки часов на то, чтобы придумать красочные эпитеты, описывающие интеллектуальный и моральный уровень спамеров. Мысль неплохая, но можно потратить это время с большей пользой и настроить ПО, которое поможет сэкономить ваше красноречие для более важных дел. Наиболее часто упоминаемым инструментом для борьбы со спамом является procmail. На самом деле, методов и инструментов намного больше - это связано с тем, что блокировать письма можно (как минимум) в трех точках движения спама:

  • на SMTP-сервере;
  • на POP-сервере;
  • при приеме почты на локальную машину.
  • В этой статье речь пойдет о способе борьбы со спамом в последней точке его путешествия. Это может представлять интерес для владельцев почтовых ящиков, которые не имеют возможности настроить удаленно фильтры для блокирования писем.








    Разместить статью на этом сайте





    Итак, рассмотрим более конкретный случай. У меня есть почтовый ящик у провайдера, к которому я подключен. Кроме этого я открыл на бесплатных почтовых серверах несколько почтовых ящиков и чтобы не идти через пол-Интернета за почтой к ним я настроил пересылку писем на мой почтовый ящик. Провайдер такого сервиса, как настройка блокирования входящей почты не предоставляет, поэтому почту приходится фильтровать при приеме используя procmail.

    Введение в procmail, примеры настройки .procmailrc, manы на русском по procmail вы найдете здесь.

    Однако, у этого метода есть один недостаток: если вы в файле .procmailrc перенаправили в почту в /dev/null, то это не приведет к тому, что программа приема почты немедленно удалит это письмо и перейдет к следующему. Нет, просто она примет все письмо, но не будет его сохранять (вернее сохранит в "черной дыре" файловой системы Linux, устройстве /dev/null). Поэтому разумным будет следующий подход: перед приемом почты "причесать" свой почтовый ящик у провайдера и удалить те письма, которые подходят под черный список по следующим критериям:

  • размер письма;
  • информация, содержащаяся в заголовке письма.
  • И только после этого начать прием оставшейся почты и обработку ее procmailом. В качестве "расчески" рассмотрим работу программы popsneaker. Автор программы - Stefan Baehre [popsneaker at ixtools.de]. Версия программы на момент написания статьи была 0.6.0.

    Сборка пакета

    Для компиляции и работы пакета требуется библиотека Tcp4u. Она распространятется вместе с дистрибутивом Debian GNU/Linux 2.2. На сайте www.ixtools.de вы можете найти deb-пакеты и rpm-пакеты этой библиотеки, либо исходники:

    пакеты для Debian:
    runtime пакет
    development пакет

    пакеты для Red Hat:
    runtime пакет
    development пакет

    Исходники пакета popsneaker вы можете взять здесь. Если же вы не хотите заниматься самостоятельной сборкой пакета, то можете воспользоваться пакетами с уже откомпилированной программой:
    в тарболах
    в формате deb
    в формате rpm

    Если вы решили откомпилировать программу, то напоминаю вам "отче наш" для сборки из "сырцов" (последняя команда под правами root):

     ./configure
     make
     make install
    

    На момент написания статьи исходники версии 0.6.0, которые были выложены на сайте, содержали ошибку, которая не позволяла собрать пакет из исходников - в файлах заголовков log.h и scanner.h пропущена ссылка на файл заголовков string.h:

    #include 
    

    Автор извещен, обещал исправить.

    Настройка

    При старте popsneaker ищет информацию о настройках конфигурации в следующих файлах и использует данные из первого встреченного им файла:

     ~/.popsneakerrc
     /etc/popsneakerrc
     /usr/etc/popsneakerrc
     /usr/local/etc/popsneakerrc
    

    В программе существует пять типов фильтра: maxsize, accept, assume, deny и dupcheck:

     - maxsize
     синтаксис: maxsize [опции] <размер>
     используется для контроля размера входящей почты,
     например, правило:
     maxsize 10240
     заставит popsneaker удалять любые письма,
     чей размер больше, чем 10 Кб.
     - accept
     синтаксис: accept [опции] "правила"
     используется для разрешения приема важной почты,
     удаление которой
     нежелательно, например, правило:
     accept "^From: .*my.friend@isp.com"
     заставит принимать почту от .
     - assume
     синтаксис: assume [опции] "правила"
     используется для разрешения приема почты,
     которая удовлетворяет
     всем правилам перечисленным для assume, например:
     assume "^Message-ID: .*<.+@.+..+>"
     assume "^(to|cc): .* ((privat1@my-isp.com) |(iam@work.com) |(@mydomain.net))"
     почта будет принята только в том, случае если Message-ID:
     содержит корректное значение и в полях To: или Cc: указан
     один из почтовых адресов:
     , , или
     <любой_адрес@mydomain.net>.
     Пример взят из файла example.popsneakerrc.
     - deny
     синтаксис: deny [опции] "правила"
     используется для удаления почты, свойства которой удовлетворяют
     правилам, например, согласно правилам:
     deny -silent "^From: .*@buyers.com"
     deny -case -silent "^Subject: .*MONEY"
     почта, которая содержит в теме слово MONEY или
     обратный адрес содержит доменное имя buyers.com.
     - dupcheck
     синтаксис: dupcheck -strict
     dupcheck -relaxed
     это правило используется для удаления дубликатов почтовых сообщений.
     Ключ
     -strict заставляет проверять поле Message-ID: проверяемой почты,
     если встречается совпадение, то сообщение удаляется. Ключ "-relaxed"
     проверяет почту по другим критериям: размер, тема письма, отправитель.
     Со вторым ключом нужно быть осторожным, потому что остается небольшой
     риск того, что все три параметра совпадут. Это возможно в том случае, если
     ваш респондент вышлет вам письма по одной теме, которые окажутся
     одинакового размера.
    

    Описание регулярных выражений, которые используются в правилах для accept, assume и deny вы можете найти в man по regex:
    man 7 regex

    Ключей, которые применяются в фильтрах всего четыре. Они могут использоваться вместе с accept, assume, deny:

     - case - делает выражения чувствительными к регистру
     встречаемых символов;
     - nocase - делает выражения нечувствительными к регистру
     встречаемых символов (используется по умолчанию);
     - verbouse - при удалении сообщения пишется информация
     о нем в лог-файл.
     - silent - при удалении сообщения никакой информации об этом
     в лог-файл не пишется.
     

    Для ускорения работы вы можете указать программе, по каким именно полям в заголовках писем производить фильтрацию. Для этого воспользуйтесь ключевым словом restrict:

     restrict "to:" "cc:" "from:" "subject:"
     restrict "list-id:" "message-id"
    

    Обратите внимание на следующее: если вы применили ограничение фильтрации по полям заголовков сообщений, то не забудьте в объявлении restrict описать все поля, для которых вы написали правила accept, assume и deny, иначе они работать не будут.

    Немного о принципе построения правил фильтрации. Принцип прост - если правило первым описано, то оно и выполняется. Если у вас есть письмо с темой содержащей слово ╚test╩ и вы пропишите в файле конфигурации вот такие строки:
    accept "^Subject: .*test"
    deny "^Subject: .*test"

    то почта будет принята, если поменяете их местами, то удалена. Поэтому, чтобы не запутаться, вначале прописывайте правила для почты, которую вы хотите получить и только потом правила для почты, которая должна быть удалена.

    Теперь об оставшихся параметрах, описываемых в procmailrc:

     - logfile
     синтаксис: logfile "путь к лог файлу"
     определяет путь к лог-файлу (не забудьте про права доступа к файлу):
     logfile "/var/log/popsneaker.log"
     - debuglevel
     синтаксис: debuglevel <уровень>
     определяет объем отладочной информации; 0 √ минимальный,
     5 √ максимальный, по умолчанию √ 3:
     debuglevel 3
     - timeout
     синтаксис: timeout <секунды>
     период тайм-аута для сетевых соединений; 0 √ отключен,
     по умолчанию 300 сек:
     timeout 300
     - connections
     синтаксис: connection <количество каналов>
     определяет количество одновременно открытых каналов с почтовыми
     серверами; 1 - по умолчанию:
     connections 2
     - testmode
     синтаксис: testmode on/off
     включает/выключает отладочный режим; по умолчанию √ отладка
     выключена, иначе правила будут выполнят, результаты операций
     записываться в лог, но реально удаляться из почтового ящика
     ничего не будет:
     testmode on
     - account
     синтаксис: account [опции] "имя сервера" "логин" "пароль"
     описывает настройки для подключения к вашему почтовому серверу,
     поддерживает два протокола pop3 и apop; по умолчанию используется
     pop3:
     account -protocol pop3 "pop.mail.ru" "ru_classic" "********"
    

    Popsneaker и fetchmail

    Если вы забираете почту при помощи fetchmail, то вы можете воспользоваться опцией preconnect, описав ее в файле fetchmailrc (пример взят из документации по popsneaker):

     poll pop.isp.com
     proto POP3
     user ваш_логин
     password ваш_пароль
     is ваше_локальное_имя
     options fetchall
     preconnect /usr/local/bin/popsneaker pop.isp.com
     

    Обратите внимание на опцию "fetchall". Она необходима, т.к. после завершения работы popsneaker, все сообщения в вашем почтовом ящике буду с пометкой "прочтено". Без этой опции fetchmail не примет ни одного сообщения.

    И последнее: если вы захотите просто очистить свой почтовый ящик, то укажите из правил фильтрации только одно:
    maxsize 0

    Источник: http://www.softerra.ru/freeos/17696/



    www.sdteam.com

    Различные операционные системы 29-01-2007
    На предстоящей неделе Microsoft выпускает закрытую бета-версию Service Pack 2 для Vista 28-10-2008 Различные операционные системы
    На предстоящей неделе корпорация Microsoft выпустит первую закрытую бета-версию пакета обновлений Service Pack 2 для операционной системы Windows Vista. В пакете SP2 заявлено множество нововведений, в том числе встроенная поддержка работы с форматом Blu-ray.Майк Нэш, руководитель отдела разработки Windows, напомнил, что с прошлого года Microsoft начала выводить клиентские и серверные версии своих ОС на единый и синхронный цикл выхода основных нов...


    Информация, необходимой для устранения проблемы синего экрана Windows XP 22-08-2008 Различные операционные системы
    Операционная система Windows XP славится своим умением зависать по самым разным поводам и с самыми разными результатами. Иногда решить проблему можно просто завершением неотвечающего приложения или перезагрузкой, но в некоторых случаях это может привести к сбою всей системы. Microsoft называет такие сбои «стоп-ошибками» (Stop errors), потому что в подобных случаях система перестает реагировать на действия пользователя. При возникновении стоп-ошиб...


    Microsoft тратит 300млн. долларов на раскрутку Windows Vista 22-08-2008 Различные операционные системы
    Корпорация Microsoft готова инвестировать $300 млн на PR-камапнию для Windows Vista. По мнению ведущих маркетологов, этой суммы должно с лихвой хватить для поднятия имиджа операционной системы, которая оказалась не совсем удачной для Microsoft. В основном вся критика по поводу данной ОС сводилась к трем факторам:1. Проблемы с совместимостью оборудования и программного обеспечения;2. Проблемы обеспечения безопасности;3. Потеря производительности.С...


    Microsoft выпускает новую Windows XP для работы на ноутбуках OLPC XO 28-07-2008 Различные операционные системы
    В рамках ранее объявленного сотрудничества между некоммерческим фондом One Laptop Per Child (OLPC) и Microsoft было достигнуто соглашение о выпуске специализированной версии WindowsXP, предназначенной для работы на "стодолларовых" детских ноутбуках XO. Об этом сообщил Джеймс Уцшнайдер, менеджер Microsoft по развивающимся рынкам.Спецверсия Windows XP будет иметь драйверы для загрузки ОС с карты памяти SD, а также получит принципи...

    Навигационная система "хлебные крошки" (breadcrumb) как замена кнопке "Вверх" в Vista 18-06-2008 Различные операционные системы
    Как вам уже, наверное, известно, я нахожусь в постоянном поиске полезных гаджетов и утилит типа PowerToy, расширяющих возможности операционной системы Windows Vista. Во время недавней охоты я наткнулся на ряд программ, разработанных для добавления в интерфейс проводника Vista кнопки «Вверх» (Up).Кнопка «Вверх»Неудивительно, что появилось множество утилит для добавления кнопки «Вверх» в интерфейс Проводника Vista — мы привыкли пользоваться ей для ...
     

     
    Copyright by www.scripts.net.ua.
    Rambler's Top100 Рейтинг@Mail.ru