Страница 1 из 1

exim, revers dns lookup

Добавлено: 2006-09-21 11:37:54
chani
Добрый День ! Подскажите плиз как сдеать так, чтобы exim не принемал почту, от клиентов, адреса которых не совпадают в инфой в dns. И вообще какие могут быть грабли у такого способа защиты от спама ? Огромное спасибо за ответ

Re: exim, revers dns lookup

Добавлено: 2006-09-21 11:45:15
dikens3
chani писал(а):Добрый День ! Подскажите плиз как сдеать так, чтобы exim не принемал почту, от клиентов, адреса которых не совпадают в инфой в dns. И вообще какие могут быть грабли у такого способа защиты от спама ? Огромное спасибо за ответ
Ты про SPF говоришь?

Добавлено: 2006-09-21 11:59:17
chani
угу, вот что нарыл:
deny message = SPF: $spf_smtp_comment
log_message = SPF $spf_result ($sender_address -> $local_part@$domain)
sender_domains= *
spf = fail

warn message = Received-SPF: $spf_result [$sender_host_address] sender_helo_name ($sender_address -> $local_part@$domain)
sender_domains= *
spf = softfail : neutral

Это оно ?

Добавлено: 2006-09-21 12:43:24
dikens3
chani писал(а):угу, вот что нарыл:
deny message = SPF: $spf_smtp_comment
log_message = SPF $spf_result ($sender_address -> $local_part@$domain)
sender_domains= *
spf = fail

warn message = Received-SPF: $spf_result [$sender_host_address] sender_helo_name ($sender_address -> $local_part@$domain)
sender_domains= *
spf = softfail : neutral

Это оно ?

У меня так сделано:
# Проверка получателей писем
acl_check_rcpt:

# Принимаем почту пришедшую не по TCP/IP, localhost имеется ввиду
accept hosts = :

# Проверка SPF
deny message = "[SPF] $sender_host_address is not allowed to send mail from $sender_address_domain"
log_message = SPF check failed
spf = fail
hosts = !+relay_from_hosts : !+my_lan_hosts : *


# Проверка тела письма
acl_check_data:

# Добавляем SPF-Received в заголовки
warn message = $spf_received



В письмо добавляется заголовок типа:
Received-SPF: softfail (MYDOMAIN: transitioning domain of MYDOMAIN does not designate IP as permitted sender) client-ip=IP; envelope-from=test@MYDOMAIN; helo=localhost;
Тут я в своём домене, но IP-Адрес внутренний (Тестировал)

Добавлено: 2006-09-21 12:47:10
chani
здорово, сейчас попробую, а как сделать так чтобы на spf не проверять localhost и 192.168.0.0./24 ?

Добавлено: 2006-09-21 12:52:37
dikens3
chani писал(а):здорово, сейчас попробую, а как сделать так чтобы на spf не проверять localhost и 192.168.0.0./24 ?
hosts = !+relay_from_hosts : !+my_lan_hosts : *
У меня так ^^

Можешь так написать:
!hosts = 127.0.0.1/8 : 192.168.0.0/16

Добавлено: 2006-09-21 14:52:25
chani
dikens3 писал(а):
chani писал(а):здорово, сейчас попробую, а как сделать так чтобы на spf не проверять localhost и 192.168.0.0./24 ?
hosts = !+relay_from_hosts : !+my_lan_hosts : *
У меня так ^^

Можешь так написать:
!hosts = 127.0.0.1/8 : 192.168.0.0/16

сделал так: но чтото не работает ...

sidhe@www# telnet 195.***.***.**1 25
Trying 195.***.***.***...
Connected to test.ru.
Escape character is '^]'.
220 http://www.test.ru ESMTP Exim 4.63 Thu, 21 Sep 2006 15:39:53 +0400
ehlo blabla.ru
250-www.test.ru Hello domain.ru [195.***.***.**2]
250-SIZE 20971520
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250-STARTTLS
250 HELP
mail from:post@blabla.ru
250 OK
rcpt to:test@test.ru
250 Accepted
quit
221 http://www.test.ru closing connection
Connection closed by foreign host.

Добавлено: 2006-09-21 15:04:56
dikens3
сделал так: но чтото не работает ...

sidhe@www# telnet 195.***.***.**1 25
Trying 195.***.***.***...
Connected to test.ru.
Escape character is '^]'.
220 http://www.test.ru ESMTP Exim 4.63 Thu, 21 Sep 2006 15:39:53 +0400
ehlo blabla.ru
250-www.test.ru Hello domain.ru [195.***.***.**2]
250-SIZE 20971520
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250-STARTTLS
250 HELP
mail from:post@blabla.ru
250 OK
rcpt to:test@test.ru
250 Accepted
quit
221 http://www.test.ru closing connection
Connection closed by foreign host.
Так, начнём с того, что если SPF записи в DNS для этого ip НЕТ совсем, то почта нормально проходит.

Вообще про SPF и Утилитки для проверки.
http://new.openspf.org/Tools


P.S. Можно бы ещё добавить в конфиг вот это:
pipelining_advertise_hosts = :

Добавлено: 2006-09-21 15:15:37
chani
понял, а можно сделать просто проверку адресса отправителя на соответствие заявленному домену? по обратной зоне

Добавлено: 2006-09-21 16:16:56
dikens3
chani писал(а):понял, а можно сделать просто проверку адресса отправителя на соответствие заявленному домену? по обратной зоне
Можно сделать всё, вопрос в том, правильно ли это. :-)

Совсем необязательно, что тебе будет к примеру mail.ru посылать со своих IP-Адресов.
Могут арендовать какой-нибудь диапазон 200.200.200.200-200.200.200.254 и гнать через него почту.

Есть такое понятие, как RELAY, т.е. я могу выступить пересыльщиком почты для mail.ru
При этом у меня будет совсем другой домен.

P.S. Некоторые mx сервера не имеют обратных зон или не отдают их :-) unknown :-)

Добавлено: 2006-09-21 16:28:28
chani
ну то что у них нет обратной зоны это скорее их косяк.
Мне пришлось ее завести именно тогда, когда пользователи стали жаловаться.
Но еще больше пользователи жалуются на спам, насколько я понял spf отсечет 2-3 процента, хочется панацеи конечно. dspam стоит, но и его мало. Как насчет такого ? Поскольку сам являюсь релеем, нуна както отключить проверку на 192.168.0.0/24 а как я не знаю, мож поможешь ?

deny message = Bad reverse DNS
log_message = Reverse host lookup failed
!verify = reverse_host_lookup

Добавлено: 2006-09-21 16:45:32
dikens3
chani писал(а):ну то что у них нет обратной зоны это скорее их косяк.
Мне пришлось ее завести именно тогда, когда пользователи стали жаловаться.
Но еще больше пользователи жалуются на спам, насколько я понял spf отсечет 2-3 процента, хочется панацеи конечно. dspam стоит, но и его мало. Как насчет такого ? Поскольку сам являюсь релеем, нуна както отключить проверку на 192.168.0.0/24 а как я не знаю, мож поможешь ?

deny message = Bad reverse DNS
log_message = Reverse host lookup failed
!verify = reverse_host_lookup
2-3% утвержать не буду, но гораздо больше(думаю 20-30), особенно + Блок листы(Нормальные, а не Sorbs) = 90%

Так, ты так и не въехал в конфиг exim'a я смотрю:
Объясняю на кроликах

Deny - типа операции при выполнении нижеприведённых условий (DROP, ACCEPT)
log_message - Что будет у тебя в логах при выполнении нижеприведённых условий. Типа этого:
2006-09-20 15:13:37 H=dikens3.x.x.ru (localhost) [192.168.x.x] I=[192.168.x.x]:25 F=<test@domain.ru> rejected RCPT <dikens3>: SPF check failed

!verify - я так понимаю ты заблокируешь всех, у кого нет обратных зон.
Теперь можно указать диапазон проверки, какие именно хосты должны проверятся, по умолчанию все, как ты понимаешь.
hosts = !127.0.0.1 : *
или
!hosts =127.0.0.1

Одно и тоже, т.е. ты задаёшь условие. Проверять все *, кроме !127.0.0.1, Знак ! означает отрицание.

Добавлено: 2006-09-21 17:22:41
chani
огромное спасибо !