Страница 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
огромное спасибо !