Штатный Sendmail от OS/2, или что такое, когда REXX есть


Известно, что антиспамовой защиты в осевом sendmail'е, кроме той, что появилась в TCP/IP 4.3, нет, но и она недостаточна. Идея антиспамминга проста, как 2 зеленых свистка -- если отправитель из моего домена, отправляем куда угодно, если получатель из моего домена -- обязательно принимаем, всех остальных -- нюхать цветы.

Итак, по порядку:

1. Sendmail в TCP/IP 4.3

В ридми к TCP/IP 4.3 было указано, что такая есть, в TCP/IP Guide даже приведены опции, которые понимаются, но! Не были описаны ни правила, ни методика употребления. Посредством длительных экспериментов было выяснено, что полная антиспамовая защита (ну как, например, в sendmail 8.x.x) просто невозможна из-за отсуствия нормальной поддержки классов. Потому и был написан этот REXX скрипт. Для автоматической вставки спамерских имен (тогда они отсекаются на уровне коннекта) необходимо поставить AddSpammers=1 и прописать имя файла в SpamName. Далее в sendmail.cf надо добавить следующие строки:

FSc:\mptn\etc\SpamList  # список непускаемых доменов
FNc:\mptn\etc\SpamName  # список непускаемых юзверей
Scheck_mail
# вызывается после введения MAIL FROM:
R$=N  $|	  $#error $@ NOAVALAIBLE $: $1 name do not relay
R$+ @ $=S  $|	  $#error $@ NOAVALAIBLE $: $2 domain do not relay
Затем создать 2 пустых файла \mptn\etc\SpamName и \mptn\etc\SpamList и, cоотвественно, прописать SpamName = '\mptn\etc\SpamName' в скрипте. Далее, просто для информации, можно еще в конфиг сендмэйла добавить:

FZc:\mptn\etc\DenyName   # список адресов (e-mail) куда запрещено отправлять
FIc:\mptn\etc\DeniedIP   # список IP адресов (xxx.xxx.xxx.xxx) с которых запрещен коннект
Scheck_relay
# Вызывается при коннекте на 25 порт
R$+  $=I  $|	  $#error $@ NOAVALAIBLE $:  $1 is do not relay
Scheck_rcpt
# Вызывается после введения RCPT TO:
R$=Z $|	  $#error $@ NOAVALAIBLE $: $1 name do not relay

2. Для любых версий TCP/IP, где есть sendmail

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

 sendmail -bds -odq -v -C c:\mptn\etc\sendmail.cf
Для отправки запускается данный cmd (sendm.zip). Сразу замечу, конфиги ДОЛЖНЫ быть разные, но только в одной опции:

OQc:\mptn\etc\mqueue
для sendmail.cfg и установкой LookQueue = '\mptn\etc\mqueue' в скрипте. И

OQc:\mptn\etc\mqueue.good
для sendsend.cf + установкой GoodQueue = '\mptn\etc\mqueue.good' Далее создается каталог BadQUeue = '\mptn\etc\mqueue.good', туда будут складироваться письма, не прошедшие контроль. Их можно рассматривать как "информация к размышлению", или же, если этот процесс нет желания/времени делать, move заменить на del.

3. Старт всего этого (ну типа в startup.cmd)


start /c /min sendmail -bds -odq -v -C c:\mptn\etc\sendmail.cf
start /c /min sendm.cmd

4. Всяческие замечания и дополнения

Используемая литература:

TCPIP Guide
REXX information
Pavel Shtemenko
pasha@fortuna.odessa.ua
2:467/21


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ