(fwd) Re: sendmail and spam

Andrey Gerzhov (kittle@freeland.alex-ua.com)
Fri, 4 Dec 1998 17:40:50 +0200 (EET)

-- forwarded message --
Path: freeland.alex-ua.com!routki.ki.yurteh.net!carrier.kiev.ua!srcc!Gamma.RU!ddt.demos.su!fido-news-server
From: butenko@stalker.com (Vladimir Butenko)
Newsgroups: fido7.ru.unix.bsd
Subject: Re: sendmail and spam
Date: 3 Dec 1998 00:14:25 +0300
Organization: Stalker Software, Inc.
Lines: 88
Approved: <gateway@fido7.ru>
Message-ID: <butenko-0212981315430001@stalker.com>
References: <912470605@p72.f72.n5030.z2.ftn> <ADlTvOsaHR@nn.kiev.ua> <3663D866.7F3060E5@escortcorp.com> <7412nj$q73$2@solar.carrier.kiev.ua> <366458D8.2D3DD170@escortcorp.com>
NNTP-Posting-Host: ddt.demos.su
X-BeforeModerator-Path: stalker.com!user
X-BeforeModerator-NNTP-Posting-Host: stalker.com
X-Trace: news.gamma.ru 912633188 23371 206.40.74.195 (2 Dec 1998 21:13:08 GMT)
X-Complaints-To: abuse@gamma.ru
NNTP-Posting-Date: 2 Dec 1998 21:13:08 GMT
Xref: freeland.alex-ua.com fido7.ru.unix.bsd:664

In article <366458D8.2D3DD170@escortcorp.com>, Vladimir Pastukhov
<vol@escortcorp.com> wrote:

> А badguy - это хто такой? В смысле, чем грозит?

Я вчера ночью гроханул (спросонья видимо) Ваше письмо по поводу того, кто
как что рутит и отражает - так что не обессудьте, - без цитат и коротко.

Система в кратце такова:

1. Имеем некий envelope address (неважно откуда - SMTP Rcpt to:, UUCP rmail,
и много еще откуда.

2. Разбираем (парсим) его. То есть, essensially, превращаем его в:
name%name%name%name domain

3. Напускаем на него Router.

Вот тут вступают в силу не только "встроенные" правила рутинга
(если domain == own main domain -> убери domain)
(если domain == 11.22.33.44 -> замени на [11.22.33.44])

Но и все явно заданные Rules, типа:
<vol> = vol@escortcorp.com -- это чтобы vol@stalker.com на Вас ушел
<*bum@funny> = <ssss-*-bum@escortcorp.com> - это чтобы mmubum@funny ушел
на ssss-mmu-bum@escortcorp.com
escortcorp.com = escortcorp.com%spammer.com - это чтобы вся почта на Ваш
домен через spammer.com уходила.

Ну и так далее. Заметим, что все это хреначится по уже РАЗОБРАННЫМ адресам,
так что не надо писать 20 правил на все варианты роутинга и возможных адресов
<vol@stalker.com: <@stalker.com:vol>, vol%stalker.com, stalker.com!vol, etc -
их можно и преобразовать, но в сложных случаях число вариантов растет
экспоненциально.

Если в таблице нету ничего - отдаем на растерзания модулям. В этот момент,
например UUCP может обнаружить, что "domain" - это собственное uucp имя ЭТОГО
хоста - и просто обнулить его (провоцируя новый цикл рутера по парсингу
"локальной части" и рутингу уже ее), или что это имя - имя какого-то
известного ууцп хоста - при этом оно может либо сразу сказать - "это мое"
(зарутить на себя), либо (что концептуальнее) - заменить доменное имя
на domain.uucp, а на себя рутить только домены вида domain.uucp.

Почему концептуальнее? А потому, что если я не хочу, чтобы на бедного
пользователя Vasya cыпалась его ууцп почта (потому как он давно уже имеет
нормальный аккаунт на другом хосте, то я впишу один раз в Рутер:

<vasya@oldhost.uucp> = newvasyaaccount@somenewhost

И эта штука будет рутить Васины письма, как бы Васин адрес ни был
специфицирован - то есть не только
<vasya%oldhost@myserver> и <oldhost!vasya@myserver>
будут одинаково обрабатываться (это произойдет из-за начального парсинга),
но и
<vasya%oldhost@mysever> и <vaysa%oldhost.uucp@myserver> тоже будут
обработаны одинаково (UUCP модуль первое переделает во второе) - а,
значит, оба (а на самом деле - вариантов много более) смогут быть обработаны
(перенаправлены в нашем случае на newvasyaaccount@somenewhost) при помощи
ОДНОГО правила.

Так вот, CGatePro SMTP юзает все это САМО, помимо ядра, которое берет
мессажди из очереди и, пропуская через Router, энкьюит их разным модулям.
SMTP берет (если опция включена) каждый RCPT TO, и прогоняет его через
ROUTER - сразу. То есть обрабатываются не просто "встроенные правила"
(это, фактически, парсер), а все-все - все правила модулей, и все правила
рутинга, специфицированные админом в таблице рутинга. То есть - ПОЛНОСТЬЮ
выясняется - куда это письмо пойдет по этому адресу - не по виду адреса
(он может быть простым, но преобразоваться в цепочку релеев, а может быть
охренительно сложной записью простого локального аккаунта). Если этот
адрес ПРИНЯТЬ, то писмьмо ТОЧНО пойдет по тому адресу, который получен от
Рутера (за исключением того случая, когда мы в этот момент упдейтим рутер
:-).

Ну так вот именно по этой информации и определяется - релеинг это или нет.
Если РУТЕР после применения всех своих встроенных и определенных правил
сказал - это пойдет на не-SMTP то считается (сейчас, по крайней мере), что
это - не релей. Если на SMTP - то это релей, смотрится - от кого и кому, и
разрешено ли это.

> Vladimir Pastukhov <vol@escortcorp.com>

-- 
Vladimir Butenko
Stalker Software, Inc.
-- end of forwarded message --

-- 
С тем, что не помешает никогда,
                                               Kittle