LINUX.ORG.RU
ФорумAdmin

Sendmail - ограничение доступа из вне.


0

0


Всем привет!

Такая проблема. Из вне приходят письма на адрес user@company.com вроде как с адреса baduser@company.com. Но, повторюсь, приходят они с внешнего IP. Как Sendmail'у запретить получать почту из вне с обратным адресом локального домена? Какой FEATURE использовать в этом случае?

★★

Если этот домен указывается на стадии "MAIL FROM:" (см. заголовки на предмет "Return-Path:") - такие письма можно запретить с помощью правил, если указывается в "From:" в самом теле письма - каким-нибудь фильтром.
Готовые правила могу подкинуть, если нужно. Фильтр, думаю, можно где-то нарыть, хотя можно даже и самому написать, там не сложно :-)

spirit ★★★★★
()

Вот посмотри пример из my_site.m4 файла.

C{localnets} 192.168.20 192.168.200 C{localhosts} 127.0.0.1 192.168.30.20

SIsLocaL R$={localnets}.$- $@ OK R$={localhosts} $@ OK R$* $#error $: 550 5.7.2 Access Denied for $1.

SLocal_check_mail R$* $@ $>IsLocaL $&{client_addr}

Примерно так. Это часть из моего конфига. В классы localnet и localhosts пишешь свои реальныеи внутренние адреса.

P.S. Как в этом форуме с форматированием? Уже 3 письма отослал, но с чутовищным форматированием. 8-)

LifeWins
()
Ответ на: комментарий от LifeWins

Вод так правильнее

SLocal_check_mail

R$* $: $>Parse0 $>3 $1

R$* < @ $=w .> $* $@ $>IsLocaL $&{client_addr}

LifeWins
()
Ответ на: комментарий от LifeWins

2 LifeWins: для таких вещей лучше preformatted text.


На счет правил, у меня работает такое:
# Определение класса IP-адресов, от которых разрешено принимать почту
# с локальным доменом в адресе отправителя
# Для ТОЧНОГО соответствия в конце адреса должна быть точка:
#       127.0.0.1  = 127.0.0.1, 127.0.0.11, 127.0.0.123, ...
#       127.0.0.1. = только 127.0.0.1
#
C{local_addrs}192.168. 127.0.0.1.

SLocal_check_mail
R$*                     $: $1 $| $>check_address_spoof $1
R$* $| $#$*             $#$2

#######
# Правило проверки локальности отправителя с адресом,
# содержащим локальный домен    (вызывается из Local_check_mail)
#######
Scheck_address_spoof
R$*                             $: $&{client_addr} . $| $>3 $1  канонизируем отправителя
R$={local_addrs} $* $| $* < @ $=w . >   $@ <OK>                 отправитель наш - разрешаем
R$* $| $* < @ $=w . >           $#error $@ 5.7.1 $: "550 Go away spoofer"       чужой - ЗАПРЕЩАЕМ
R$*                             $: <SENDER_NOT_LOCAL>           чужой домен в адресе - разрешаем

spirit ★★★★★
()
Ответ на: комментарий от spirit

Спасибо огромное всем! Буду пробовать.


ANDI ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.