EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
flintus
- проходил мимо
- Сообщения: 3
- Зарегистрирован: 2008-09-06 1:22:34
Непрочитанное сообщение
flintus » 2008-10-17 13:12:21
Столкнулся с проблемой, при отправке почты от пользователей несмотря на удачный SMTP AUTH далее идет проверка на RBL и при наличии хоста отправителя в RBL идет режект почты с данного хоста, реально ли реализовать следующее, после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
вот выдержка из конфига EXIM
Код: Выделить всё
...
acl_smtp_helo = acl_check_helo
acl_smtp_rcpt = acl_check_rcpt
...
acl_check_helo:
accept hosts = :
...
deny message = Spam blocked see: http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
log_message = found in $dnslist_domain
dnslists = bl.spamcop.net
...
acl_check_rcpt:
accept hosts = :
...
accept authenticated = *
control = submission/domain=
deny message = "Relay not permitted!"
flintus
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex_hha
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
-
Контактная информация:
Непрочитанное сообщение
Alex_hha » 2008-10-17 16:11:06
после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно
Alex_hha
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-10-17 16:30:51
Alex_hha писал(а):после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно
Там после HELO/EHLO прибивается и не доходит до rcpt.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
flintus
- проходил мимо
- Сообщения: 3
- Зарегистрирован: 2008-09-06 1:22:34
Непрочитанное сообщение
flintus » 2008-10-17 17:00:49
Alex_hha писал(а):после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно
что есть дефолт? какая именно конфигурация?
не совсем понял, проверки на HELO/EHLO нормально проходят, далее идет проверка авторизации по SMTP, далее идет проверка на наличие в RBL, если SMTP авторизая была успешной от нет смысла искать хост в RBL, в моем случае поиски хоста в RBL делаются, и есть огромное желание это исправить.
flintus
-
Alex_hha
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
-
Контактная информация:
Непрочитанное сообщение
Alex_hha » 2008-10-17 18:40:44
Под дефолтом подразумевается исходный конфиг exim.
Зачем вы проверку по rbl засунули в acl_check_helo?! На этапе helo/ehlo об аутентификации ничего не известно. Переноси проверки в acl_check_rcpt после строки accept authenticated = *
Alex_hha
-
flintus
- проходил мимо
- Сообщения: 3
- Зарегистрирован: 2008-09-06 1:22:34
Непрочитанное сообщение
flintus » 2008-10-17 20:13:28
Alex_hha писал(а):Под дефолтом подразумевается исходный конфиг exim.
Зачем вы проверку по rbl засунули в acl_check_helo?! На этапе helo/ehlo об аутентификации ничего не известно. Переноси проверки в acl_check_rcpt после строки accept authenticated = *
Зачем перенес проверку rbl в acl_check_helo? Потому как на данном этапе уже известны данные которые там можно проверить, судя повсему я погоречился.. Пожалуйста помогите с корректировкой конфига, ниже привожу acl_check_helo и acl_check_rcpt:
acl_check_helo
Код: Выделить всё
acl_check_helo:
accept hosts = :
accept hosts = +relay_from_hosts
drop condition = ${if match{$sender_helo_name}{MY_IP}{yes}{no} }
message = "Dropped spammer pretending to be us"
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
drop condition = ${if match{$sender_helo_name}{^[0-9]\.[0-9]\.[0-9]\.[0-9]}{yes}{no} }
message = "Dropped IP-only or IP-starting helo"
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
deny message = Error on HELO/EHLO greeting
log_message = remote host used IP address in HELO/EHLO greeting
condition = ${if isip {$sender_helo_name}{true}{false}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
deny message = Error on HELO/EHLO greeting.
log_message = remote host used our named on HELO/EHLO greeting.
condition = ${if match_domain{$sender_helo_name}{$primary_hostname:+local_domains:+relay_to_domains}{1}{0}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
deny message = HELO/EHLO required by SMTP RFC
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
deny message = message from $sender_host_address rejected - see http://njabl.org/
log_message = found in $dnslist_domain
dnslists = dnsbl.njabl.org
deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
log_message = found in $dnslist_domain
dnslists = dialups.mail-abuse.org
deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
log_message = found in $dnslist_domain
dnslists = list.dsbl.org
deny message = Spam blocked see: http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
log_message = found in $dnslist_domain
dnslists = bl.spamcop.net
deny message = rejected, $sender_host_address Open Proxy, see: $dnslist_domain\n$dnslist_text
log_message = found in $dnslist_domain
dnslists = dnsbl.void.ru
accept
acl_check_rcpt
Код: Выделить всё
acl_check_rcpt:
accept hosts = :
deny message = Restricted characters in address
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
deny message = Restricted characters in address
local_parts = ^.*[@%!/|] : ^\\.
accept local_parts = postmaster
domains = +local_domains
deny message = Only one recipient accepted for NULL sender
senders = :
condition = ${if >{$rcpt_count}{1}{1}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
drop hosts = !+hosts_disable_callback:*
sender_domains = !+domain_disable_callback:*
!verify = sender/callout=90s,random,postmaster
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
drop hosts = !+hosts_disable_callback:*
sender_domains = +domain_disable_callback
!verify = sender/callout=90s,postmaster
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif
.ifdef TEERGRUBE
deny log_message = Teergrube: dictionnary attack (ALLOWEDRCPTFAIL failed probes)
message = unknown user
condition = ${if >{$rcpt_fail_count}{1} {1}{0}}
.else
drop log_message = Dictionnary attack ($rcpt_fail_count failed probes). Dropping connection
message = unknown user ($rcpt_fail_count failed queries)
condition = ${if >{$rcpt_fail_count}{${eval:ALLOWEDRCPTFAIL-2}} {1}{0}}
.endif
delay = ${eval:30*$rcpt_fail_count}s
domains = +local_domains
!verify = recipient
deny condition = ${if eq{$sender_ident}{CacheFlow Server}{1}{0}}
message = Rejected - appears to be an unsecured proxy: $sender_ident
drop condition = ${if > {$rcpt_fail_count}{3}}
message = Too many failed recipients
accept domains = +local_domains
endpass
verify = recipient
accept domains = +relay_to_domains
endpass
verify = recipient
accept hosts = +relay_from_hosts
accept authenticated = *
control = submission/domain=
deny message = "Relay not permitted!"
flintus