URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 69049
[ Назад ]

Исходное сообщение
"Как блокировать почту по полю Received в Sendmail?"

Отправлено FreeDOM , 21-Сен-06 09:03 
Уж очень мудренные правила в sendmail.cf! Большая просьба или объяснить поподробнее как эти правила составлять или дать ссылочку на сайт где это все разжеванно...

Содержание

Сообщения в этом обсуждении
"Как блокировать почту по полю Received в Sendmail?"
Отправлено micis , 22-Сен-06 07:29 
>Уж очень мудренные правила в sendmail.cf! Большая просьба или объяснить поподробнее как
>эти правила составлять или дать ссылочку на сайт где это все
>разжеванно...
Вот тебе книжка: http://c-books.info/books/get.php?best=sendmail/O'Reilly - Sendmail, 3rd Edition.chm

Вот тебе пример правила (писать в sendmail.mc):
LOCAL_CONFIG
C{BadHosts} host1 host2 10.11.12.13
HReceived: $>+CheckReceived

LOCAL_RULESETS
SCheckReceived
R $* $={BadHosts} $* <символтабуляции> $#error $: "553 Received: header rejected"
R $* <символтабуляции> $: OK

Это правило отбрасывает все письма, у которых в поле received встретилось что-либо из BadHosts.


"Как блокировать почту по полю Received в Sendmail?"
Отправлено chwan , 22-Сен-06 09:10 
>Вот тебе пример правила (писать в sendmail.mc):
>LOCAL_CONFIG
>C{BadHosts} host1 host2 10.11.12.13
>HReceived: $>+CheckReceived
>
>LOCAL_RULESETS
>SCheckReceived
>R $* $={BadHosts} $* <символтабуляции> $#error $: "553 Received: header rejected"
>R $* <символтабуляции> $: OK
>
>Это правило отбрасывает все письма, у которых в поле received встретилось что-либо
>из BadHosts.

а не проще вот так:

#cd /etc/mail
#vi access
# $FreeBSD: src/etc/mail/access.sample,v 1.1.2.2 2000/11/03 07:23:50 dirk Exp $
#
# Mail relay access control list.  Default is to reject mail unless the destination is local, or listed in /etc/mail/local-host-names

cyberspammer.com<символтабуляции>550 We don't accept mail from spammers
FREE.STEALTH.MAILER@<символтабуляции>550 We don't accept mail from spammers
another.source.of.spam<символтабуляции>REJECT
10.10.13<символтабуляции>RELAY  #local users LAN  (пример)
222.82.79<символтабуляции>REJECT #spamers LAN (реальные уроды)
урод@спамерскийсервак.ком<символтабуляции>REJECT # <-добавить сюда то самое поле Received

:wq

#make access
`access' is up to date.
#make maps
/usr/sbin/makemap hash access.db < access
#make restart
/bin/kill -HUP `head -1 /var/run/sendmail.pid`

на все про все 15-20 секунд конечно если с vi часто приходится работать
а пересобирать конфиг при каждом внесении нового BadHost тяжковато будет ИМХО ?



"Как блокировать почту по полю Received в Sendmail?"
Отправлено micis , 22-Сен-06 09:59 
>>Вот тебе пример правила (писать в sendmail.mc):
>>LOCAL_CONFIG
>>C{BadHosts} host1 host2 10.11.12.13
>>HReceived: $>+CheckReceived
>>
>>LOCAL_RULESETS
>>SCheckReceived
>>R $* $={BadHosts} $* <символтабуляции> $#error $: "553 Received: header rejected"
>>R $* <символтабуляции> $: OK
>>
>>Это правило отбрасывает все письма, у которых в поле received встретилось что-либо
>>из BadHosts.
>
>а не проще вот так:
>
>#cd /etc/mail
>#vi access
># $FreeBSD: src/etc/mail/access.sample,v 1.1.2.2 2000/11/03 07:23:50 dirk Exp $
>#
># Mail relay access control list.  Default is to reject mail
>unless the destination is local, or listed in /etc/mail/local-host-names
>
>cyberspammer.com<символтабуляции>550 We don't accept mail from spammers
>FREE.STEALTH.MAILER@<символтабуляции>550 We don't accept mail from spammers
>another.source.of.spam<символтабуляции>REJECT
>10.10.13<символтабуляции>RELAY  #local users LAN  (пример)
>222.82.79<символтабуляции>REJECT #spamers LAN (реальные уроды)
>урод@спамерскийсервак.ком<символтабуляции>REJECT # <-добавить сюда то самое поле Received
>
>:wq
>
>#make access
>`access' is up to date.
>#make maps
>/usr/sbin/makemap hash access.db < access
>#make restart
>/bin/kill -HUP `head -1 /var/run/sendmail.pid`
>
>на все про все 15-20 секунд конечно если с vi часто приходится
>работать
>а пересобирать конфиг при каждом внесении нового BadHost тяжковато будет ИМХО ?
>

Ну, во-первых, это был пример работы с полями заголовка письма, а не блокировка спама :). Тогда, конечно, лучше использовать access + blacklists.
А во-вторых, что мешает определить класс BadHosts как:
F{BadHosts} /etc/mail/spamhosts


"Как блокировать почту по полю Received в Sendmail?"
Отправлено chwan , 22-Сен-06 10:49 
>Ну, во-первых, это был пример работы с полями заголовка письма, а не
>блокировка спама :). Тогда, конечно, лучше использовать access + blacklists.
>А во-вторых, что мешает определить класс BadHosts как:
>F{BadHosts} /etc/mail/spamhosts
              ^^^^^^^^^^^^^^^это даже в голову не пришло
буду читать книженцию
спасибо за адресок лавки

кстати, ссылки нет смысла выкладывать на форумах
книги качаются только по прямым URL (после регистрации)