Antispam-UUCP

  (download)  

          

  
 

 

Antispam-UUCP:

Сервис управления приемом почты

Леонид Белоус

License

29-05-2004

 

   Содержание
   I. Общее описание
   II. Инструкция для пользователей
   III. Замечания по реализации (для системных программистов)
 

Предлагается сервис управления приемом электронной почты, реализуемый на стороне интернет-провайдера, который позволяет пользователям самостоятельно (без помощи системного администратора) справиться с проблемами приема почты по протоколу UUCP.

I. Общее описание

Протокол UUCP (UNIX to UNIX Copy Protocol) до сих пор широко используется как дешевое и надежное средство почтового обмена по коммутируемым телефонным линиям связи, прежде всего для домашней почты. Но появление такого явления как СПАМ нанесло серьезнейший вред этому виду сервиса.

Если получение и просмотр почты в условиях локальной сети и режима on-line в основном отбирает только время абонента при отсеивании СПАМа и вирусной почты, то при приеме почты по протоколу UUCP становится весьма заметным увеличение бесполезного трафика, за который приходится платить не только провайдеру, но и телефонной компании.

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

Предлагаемый сервис позволяет пользователям запросить краткую информацию о содержимом почтового ящика (по каждому письму поля From, Subject, To и размер письма). На основании этой информации в каждом конкретном случае достаточно легко диагностировать СПАМ. После этого пользователь по reply отвечает на это письмо-справку, отметив письма для удаления либо для пересылки их в почтовый ящик локальной сети. В результате для приема по UUCP при очередном сеансе связи остается только нужная почта.

Эта идея, основанная на клиент-серверной технологии, подобна давно известному интернет-сервису - подписке на получение новостей телеконференций через news-сервер. Как известно, на новости можно подписаться либо в режиме subscribe(index) - тогда будет приходить только краткая характеристика новостей, либо в режиме subscribe(feed) - тогда каждая новость-письмо посылается целиком. В первом случае пользователь отмечает какие новости он хочет принимать целиком, посылая на них дополнительный запрос.

Сервис Antispam-UUCP (далее сокращенно AU) реализован и внедрен во ФТИНТ НАН Украины (http://www.ilt.kharkov.ua) . Пользователи института, имеющие домашние (UUCP) почтовые ящики, имеют также почтовые ящики для работы в локальной сети института. Обращение к сервису AU возможно как из локальной сети (режим LAN), так и с домашнего компьютера (режим HOME), и со стороны пользователя это выглядит следующим образом.

На специальный адрес посылается письмо (с произвольным Subject и текстом). В ответ сервис AU присылает информационное письмо-справку о содержимом домашнего почтового ящика, имеющее, например, такой вид.

----------------------------------------------------------------------------

Date: Sun, 25 Apr 2004 23:33:37 +0300 (EEST)
From: asp2@ilt.kharkov.ua
To: user@ilt.kharkov.ua
Subject: antispam-info-(ilt)

Количество писем в вашем домашнем почтовом ящике (ilt) = 7

Общий занимаемый объем = 14044 байт

Ответьте на это письмо по Reply с включением текста письма, заменив в нем (+) на (-) для тех писем, которые Вы считаете ненужными (СПАМ). Длинные письма Вы можете переместить в сетевой почтовый ящик, заменив (+) на (F).

Письма со знаком (-) будут уничтожены, со знаком (F) - перемещены в сетевой почтовый ящик, а остальные - станут доступны для приема программой UUPC  при очередном сеансе связи.

КРАТКАЯ ИНФОРМАЦИЯ О ПИСЬМАХ:


(+) Size = 961 (D.0A0Y)
From: "Reuben Lancaster" <r_ek@vrflow.oulu.fi>
Date: Sun, 25 Apr 2004 12:50:54 +0000
Subject: Vicodin - Order Meds From Home Now
To: user@ilt.kharkov.ua


(+) Size = 1468 (D.0A11)
From: "Ahmad Erickson" <hkowz@yahoo.com>
Date: Mon, 26 Apr 2004 15:15:05 -0600
Subject: Are Banks the Best Place for a mor*tgage? il
To: <user@ilt.kharkov.ua>


.....................................................................................................

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

Выполнив, содержащуюся в письме инструкцию (посылка reply), пользователь получает от AU письмо-подтверждение о выполненных удалениях или перемещениях писем.

С точки зрения реализации сервиса AU работа в режиме LAN не вызывает никаких сложностей, но организация взаимодействия пользователя с сервисом AU в режиме HOME потребовала решения ряда технических проблем из-за специфики протокола UUCP (в качестве почтового клиента для обмена домашней почтой во ФТИНТ используется известная пользовательская программа А.Чернова UUPC).

 

   

II. Инструкция для пользователей

 

Сервис управления приемом домашней почты

(Antispam-UUCP)

Назначение:

Предлагаемый сервис, далее называемый сокращенно AU, предназначен для борьбы со СПАМ’ом (ненужной почтой рекламного характера) при приеме домашней почты с помощью известной программы UUPC.

Сервис AU позволяет самостоятельно, без помощи системного администратора, выполнять следующие два основных действия.

  1. Получить, не принимая почты, основную информацию о пришедших письмах, содержащих по каждому письму поля:

    From, To, Subject и длину письма (количество символов – байтов) .

  2. На основании полученной информации, послать ответ с указанием , какие письма стереть или переместить на сетевой адрес. В результате в домашнем почтовом ящике будут удалены указанные вами письма.

Система AU может использоваться в двух режимах: из локальной сети (режим LAN), либо с домашнего компьютера (режим HOME).

В режиме LAN можно воспользоваться сервисом AU из института и с помощью вашей сетевой почтовой программы (Pmail , Outlook, TheBat, Pine…) оперативно следить за содержимым вашего домашнего почтового ящика и, если нужно, удалять оттуда ненужную почту.

Инструкция для режима LAN:

  1. Пошлите письмо по адресу asp@ilt.kharkov.ua с произвольным Subject и текстом письма.
  2. В ответ от AU придет письмо. Пошлите на него ответ по reply (с включением текста письма), отметив письма для удаления или пересылки на сетевой почтовый адрес. Если удалять или пересылать ничего не требуется, то ответ на это письмо посылать не нужно.
  3. Если вы послали reply, то от AU придет ответподтверждение об удаленных или пересланных из домашнего почтового ящика письмах.

Режим HOME доступен с домашнего компьютера всем владельцам домашних почтовых ящиков, включая тех, кто не имеет доступа к локальной сети института.

Инструкция для режима HOME:

В связи с особенностями работы программы UUPC мы рассмотрим фактически ту же самую инструкцию более подробно.

Итак, когда можно и нужно обращаться к сервису AU?

Критерий довольно прост – вы обращаетесь к сервису тогда, когда не можете выкачать домашнюю почту, поскольку в ящик попало большое письмо или он забит большим количеством мелких писем. Если вы попали в эту ситуацию, то выполните следующие действия.

    1. Прервите прием почты (нажав клавиши Ctrl+C).
    2. Пошлите письмо по адресу asp@ilt.kharkov.ua с произвольным Subject и содержимым письма, прервав, последующий за отсылкой письма, прием почты. Признаком окончания передачи письма служит появление двух строчек SENDING DONE на экране монитора.
    3. Повторите сеанс связи через UUPC. Теперь вы получите одно единственное информационное письмо от AU (пример такого письма приведен ниже), а прием остальной почты блокируется.
    4. Пошлите по reply ответ на это письмо (с включением текста письма), отметив письма для удаления или пересылки в сетевой почтовый ящик. Письмо будет отправлено, но никакого приема почты в этом сеансе связи не наступит. Если стирать или пересылать писем не требуется, то все равно необходимо послать reply, оставив везде неизменными знаки (+).
    5. Повторите сеанс связи через UUPC. Теперь вы получите от AU письмо-подтверждение об удаленных или пересланных письмах и оставшуюся почту.

Примечание:

В отличие от режима LAN, где никаких блокировок приема домашней почты не делается, в режиме HOME происходит блокировка приема почты (в пункте 2, после обрыва сеанса связи). Этот режим остается до тех пор, пока вы не пошлете ответ (пункт 4).

Пример информационного письма, получаемого от сервиса AU:

----------------------------------------------------------------------------

Date: Sun, 25 Apr 2004 23:33:37 +0300 (EEST)
From: asp2@ilt.kharkov.ua
To: user@ilt.kharkov.ua
Subject: antispam-info-(ilt)

Количество писем в вашем домашнем почтовом ящике (ilt) = 7

Общий занимаемый объем = 14044 байт

Ответьте на это письмо по Reply с включением текста письма, заменив в нем (+) на (-) для тех писем, которые Вы считаете ненужными (СПАМ). Длинные письма Вы можете переместить в сетевой почтовый ящик, заменив (+) на (F).

Письма со знаком (-) будут уничтожены, со знаком (F) - перемещены в сетевой почтовый ящик, а остальные - станут доступны для приема программой UUPC  при очередном сеансе связи.

КРАТКАЯ ИНФОРМАЦИЯ О ПИСЬМАХ:


(+) Size = 961 (D.0A0Y)
From: "Reuben Lancaster" <r_ek@vrflow.oulu.fi>
Date: Sun, 25 Apr 2004 12:50:54 +0000
Subject: Vicodin - Order Meds From Home Now
To: user@ilt.kharkov.ua


(+) Size = 1468 (D.0A11)
From: "Ahmad Erickson" <hkowz@yahoo.com>
Date: Mon, 26 Apr 2004 15:15:05 -0600
Subject: Are Banks the Best Place for a mor*tgage? il
To: <user@ilt.kharkov.ua>


.....................................................................................................

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

В приведенном выше примере уже из одного только поля Subject очевидно, что оба письма представляют собой СПАМ, и поэтому при reply нужно поставить (-) для обоих писем.

При вставке текста письма обычно в первой позиции каждой строки добавляется символ (например, знак “>”). Этот символ автоматически будет проигнорирован и его не нужно стирать, но кроме замены (+) на (-) в тексте письма ничего не следует изменять, равно как не нужно менять текст в поле Subject, иначе ваш reply будет отвергнут.

 

Некоторые практические советы:

Если получение СПАМ’а для вас является скорее правилом, чем исключением, то всегда начинайте сеанс связи через UUPC с посылки запросного письма к сервису AU. Если при посылке запроса вам удается не только отправить письмо, но и получить всю почту, то в следующем сеансе связи вы получите одно единственное письмо от AU о том, что ваш почтовый ящик пуст.

Если после посылки запроса вы получили от AU информационное письмо, но не ответили на него сразу, в ящик может прийти новая почта, которая не будет заблокирована на прием. Если окажется, что именно эта новая почта забивает вам прием, то достаточно снова послать письмо на asp@ilt.kharkov.ua и вы получите обновленную информацию о суммарном состоянии почтового ящика с блокировкой всей пришедшей почты на прием.

Имейте в виду, что пока вы не пошлете ответ по reply, вся почта будет заблокирована на прием. Обычный сеанс связи с UUPC будет показывать при этом, что почтовый ящик пуст.

Если все письма нужны, то нужно просто дать reply (с включением текста письма), не внося никаких правок в письмо. Почта будет разблокирована на прием со следующего сеанса связи.

При работе в режиме LAN никакой блокировки писем в вашем домашнем почтовом ящике не производится. Однако рекомендуется не делать большого перерыва между запросом к AU и ответом на информационное письмо. Если возникает подозрение, что запрошенная информация устарела (пришли новые письма), то следует обновить запрос к AU и реагировать на последний ответ.

Пересланные из домашнего почтового ящика письма не обязательно читать только программой Pmail, которая не всегда справляется со всеми видами включаемых в письмо файлов (attachment) и их кодировок. Если просмотр через Pmail недостаточнен, то рекомендуется экстрагировать прилагаемое письмо и просмотреть его с помощью современных почтовых программ-клиентов, таких как, например, Outlook.

Пользователи, не имеющие доступа к локальной сети института, могут получать, пересланные по приказу (F) файлы, у оператора терминального зала.

Система Antispam-UUCP является разработкой ФТИНТ НАНУ. Все замечания, отзывы и пожелания просьба направлять по адресу belous@ilt.kharkov.ua . Консультации по работе с AU можно получить в терминальном зале ВЦ.

 

III. Замечания по реализации (для системных программистов)

 

Система Antispam-UUCP (AU) реализована с помощью двух основных скриптов asp и asp2, написанных на языке PHP. Первый из них обеспечивает формирование и выдачу справки о содержимом почтового UUCP-ящика, а второй - выполненяет действия по удалению (-) или пересылке письма (F) в локальную сеть, в соответствии с посланным по reply ответом на это письмо-справку.

Хотя скрипты написаны под конкретные версии операционной  системы UNIX (FreeBSD 5.1-RELEASE #3) и версии PHP (PHP 4.3.4-cli), их легко подстроить (в случае необходимости) под другие условия. От конкретных же условий зависит и способ выполнения этих скриптов, в соответствии с принятой у интернет-провайдера  политикой безопасности, а также алгоритм авторизации пользователя (скрипт auth_who).

Отметим основной технический ньюанс, вызваший определенные сложности реализации при работе в режиме HOME. Несмотря на то, что программа UUPC занимается в первую очередь отправкой писем, а затем принимает почту, выполнение скрипта asp, инициируемое посылкой письма с reply, к сожалению, не начнется до тех пор пока UUPC не закончит прием почты, либо  этот прием не будет прерван пользователем принудительно. Это обстоятельство, как можно заметить, немного усложнило инструкцию для пользователей, но вносить какие-либо изменения в программу UUPC мы посчитали нецелесообразным решением. При переполненном почтовом ящике пользователь должен прервать сеанс связи после окончания отправки письма, чтобы сработал скрипт asp.

Действие asp сводится к тому, что в директории С./ создается поддиректория ctmp/, в которую переносятся управляющие файлы С.xxxxxxxx. Это равносильно (временной) очистке почтового ящика для последующих сеансов связи через UUPC. После этого просматривается директория D./ с файлами писем и отсылается  сформированное письмо-справка о содержимом почтового ящика. Это письмо окажется единственно доступным для приема при очередном сеансе связи. Остальная почта останется заблокированной до тех пор, пока не будет отправлено письмо-reply, активизирующее скрипт asp2.

Скрипт asp2 выполняет указанные в письме-reply действия, после чего переносит оставшиеся управляющие файлы из С./ctmp обратно в С./, а затем уничтожает поддиректорию ctmp/. Выполненные действия протоколируются и посылаются в ответном письме. Таким образом, при очередном сеансе связи через UUPC будет получена разблокированная почта вместе с ответным письмом.

Если никаких действий пользователем не задано (все знаки (+) остались неизмененными), то производится только снятие состояния блокирования почты и посылка ответного письма.

В режиме LAN все, естественно, упрощается. Никаких действий по блокированию-разблокированию не производится.

 

License
 
Copyright 2004 by Leonid Belous <belous@ilt.kharkov.ua>

All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation.

LEONID BELOUS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS, IN NO EVENT SHALL LEONID BELOUS BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.

 

Home

 
 

 

 
 

Успехов в применении сервиса

 

Antispam-UUCP!