Exim open relay? yahoo.com.tw

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
2WaRs
проходил мимо
Сообщения: 6
Зарегистрирован: 2011-05-23 6:16:36

Exim open relay? yahoo.com.tw

Непрочитанное сообщение 2WaRs » 2011-05-23 6:36:35

В последние время участились попытки отправки через мой сервер спама. Релей открыт только для локальных адресов, уже не знаю куда копать, видимо где-то ошибка.

Код: Выделить всё

2011-05-23 10:19:12 H=(ovuayy.com) [115.78.130.207] F=<wpwxg@yahoo.com.tw> rejected RCPT <enzo530@yahoo.com.tw>: Go Away. You are spammer.
2011-05-23 10:19:12 H=(nxzpwlp.com) [217.139.216.108] F=<wpwxg@yahoo.com.tw> rejected RCPT <kuo6448@yahoo.com.tw>: Go Away. You are spammer.
2011-05-23 10:19:12 H=(rdvyml.com) [109.80.83.234] F=<wpwxg@yahoo.com.tw> rejected RCPT <eoeo1980@ms54.hinet.net>: Go Away. You are spammer.
2011-05-23 10:19:12 H=(phpvjz.com) [218.75.36.190] F=<wpwxg@yahoo.com.tw> rejected RCPT <tulip_sherry@yahoo.com.tw>: Go Away. You are spammer.
Ниже привожу конфиг:

Код: Выделить всё

primary_hostname = myhostname
local_interfaces = 127.0.0.1:white IP
qualify_domain = mydomain
domainlist local_domains = ${lookup mysql{SELECT domain FROM domains WHERE domain='${domain}' AND (type='LOCAL' OR type='VIRTUAL')}}
domainlist relay_to_domains = ${lookup mysql{SELECT domain FROM domains WHERE domain='${domain}' AND type='RELAY'}}
hostlist relay_from_hosts = Список IP адресов для которых разрешен Relay.
auth_advertise_hosts = *
log_selector = \
        +all_parents \
        +lost_incoming_connection \
        +received_sender \
        +received_recipients \
        +smtp_confirmation \
        +smtp_syntax_error \
        +smtp_protocol_error \
        -queue_run
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_mime = acl_check_mime
acl_smtp_data = acl_check_content
av_scanner = clamd:/var/run/clamav/clamd.sock
exim_user = exim
exim_group = mail
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 12h
timeout_frozen_after = 2d
auto_thaw = 12h
freeze_tell = postmaster

message_size_limit = 50M

smtp_accept_max = 200
smtp_accept_max_per_connection = 3
smtp_accept_max_per_host = 3
split_spool_directory = true
remote_max_parallel = 15
smtp_accept_queue = 500
smtp_banner = "Hello]"

host_reject_connection = +host_reject

hide mysql_servers = localhost/exim/exim/nbgftrcbvec

######################################################################
#                       ACL CONFIGURATION                            #
#         Specifies access control lists for incoming SMTP mail      #
######################################################################
begin acl
acl_check_rcpt:
accept  hosts = :
deny hosts   = !+relay_from_hosts
     message = RFC 1918 IP address in HELO.
     condition = ${if match\
     {$sender_helo_name}\
     {\N^(\[)?(10\.[0-9]{1,3}|172\.(1[6-9]|2[0-9]|31)|192\.168)\.[0-9]{1,3}\.[0-9]{1,3}(\])?$\N}\
     {yes}{no}}
deny domains       = +local_domains
     local_parts   = ^[.] : ^.*[@%!/|]

deny domains       = !+local_domains
     local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

accept  local_parts   = postmaster
        domains       = +local_domains

require verify        = sender
deny    message       = Spam blocked see: http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
        dnslists      = bl.spamcop.net

deny    message       = message from $sender_host_address rejected - see http://njabl.org/
        dnslists      = dnsbl.njabl.org

deny    message       = Access denied - $sender_host_address listed by $dnslist_domain\n$dnslist_text
        dnslists      = dnsbl.sorbs.net


deny    message       = HELO/EHLO required by SMTP RFC
        condition     = ${if eq{$sender_helo_name}{}{yes}{no}}
deny    message       = Go Away. You are spammer.
        condition     = ${if match{$sender_address_domain} \
                        {jino.ru|mrg.com|yahoo.com.tw} \
                        {yes}{no}}
accept  domains       = +local_domains
        endpass
        message       = unknown user
        verify        = recipient

accept  domains       = +relay_to_domains
        endpass
        message       = unrouteable address
        verify        = recipient

accept  hosts         = +relay_from_hosts
accept  authenticated = *
deny    message       = relay not permitted

acl_check_mime:

        warn decode = default

        deny message = Blacklisted file extension detected ($mime_filename)
                condition = ${if match \
                           {${lc:$mime_filename}} \
                           {\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com|\.vbs|\.cpl|\.cmd|\.js|\.dll)$\N} \
                           {1}{0}}

accept
acl_check_content:
deny  message = Virus found ($malware_name)
malware = *
accept
######################################################################
#                      ROUTERS CONFIGURATION                         #
#               Specifies how addresses are handled                  #
######################################################################
#     THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!       #
# An address is passed to each router in turn until it is accepted.  #
######################################################################

begin routers

dnslookup:
  driver = dnslookup
domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

system_aliases:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup mysql{SELECT recipients FROM aliases \
         WHERE local_part='${local_part}' AND domain='${domain}'}}
  file_transport = address_file
  pipe_transport = address_pipe

userforward:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup mysql{SELECT recipients FROM userforward \
     WHERE local_part='${local_part}' AND domain='${domain}'}}

virtual_localuser:
  driver = accept
#  check_local_user
  domains = ${lookup mysql{SELECT domain from domains WHERE domain='${domain}'}}
  local_parts = ${lookup mysql{SELECT login from users \
                WHERE login='${local_part}' AND domain='${domain}'}}
  transport = local_delivery
######################################################################
#                   AUTHENTICATION CONFIGURATION                     #
######################################################################

begin authenticators

# AUTH PLAIN authentication method used by Netscape Messenger.
auth_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup mysql{SELECT login FROM users \
                     WHERE login = '${quote_mysql:${local_part:$2}}' \
                     AND domain = '${quote_mysql:${domain:$2}}' \
                     AND decrypt = '${quote_mysql:$3}' \
                     AND status = '1'}{yes}{no}}

  server_prompts = :
server_set_id = $2

# AUTH LOGIN authentication method used by MS Outlook.
auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup mysql{SELECT login FROM users \
                        WHERE login = '${quote_mysql:${local_part:$1}}' \
                        AND domain = '${quote_mysql:${domain:$1}}' \
                        AND decrypt = '${quote_mysql:$2}' \
                        AND status = '1'}{yes}{no}}
  server_prompts = Username:: : Password::
server_set_id = $1

# AUTH CRAM-MD5 authentication method used by Eudora/TheBat!.
auth_cram_md5:
  driver = cram_md5
 driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT decrypt FROM users \
                        WHERE login = '${quote_mysql:${local_part:$1}}' \
                        AND domain = '${quote_mysql:${domain:$1}}' \
                        AND status = '1'}{$value}fail}
server_set_id = $1
TRANSPORTS CONFIGURATION и RETRY CONFIGURATION показывать думаю не надо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.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/

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение blade_007 » 2011-05-23 8:38:29

О какой ошибке вы говорите? Судя по приведенным логам ваш сервер честно отбивает rcpt to от домена yahoo.com.tw.

2WaRs
проходил мимо
Сообщения: 6
Зарегистрирован: 2011-05-23 6:16:36

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение 2WaRs » 2011-05-23 8:43:12

blade_007 писал(а):О какой ошибке вы говорите? Судя по приведенным логам ваш сервер честно отбивает rcpt to от домена yahoo.com.tw.
Отбивается тут:

Код: Выделить всё

deny    message       = Go Away. You are spammer.
        condition     = ${if match{$sender_address_domain} \
                        {jino.ru|mrg.com|yahoo.com.tw} \
                        {yes}{no}}
, а должно

Код: Выделить всё

accept  hosts         = +relay_from_hosts
accept  authenticated = *
deny    message       = relay not permitted
т.е. если я убираю:

Код: Выделить всё

deny    message       = Go Away. You are spammer.
        condition     = ${if match{$sender_address_domain} \
                        {jino.ru|mrg.com|yahoo.com.tw} \
                        {yes}{no}}
У меня очередь "заваливается".
Лог увеличивается на 0.5 в Минуту. Т.е. 2 минуты 1 Мбайт.

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение blade_007 » 2011-05-23 9:13:40

Если беспокоит рост лога можно:
1) настроить logrotate на более частую смену лог файла
2) настроить fail2ban по определенным параметрам
3) настроить ratelimit для домена yahoo
4) ....

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение hizel » 2011-05-23 9:17:33

Код: Выделить всё

hostlist relay_from_hosts = Список IP адресов для которых разрешен Relay.
очевидно в этих адресах завелся спамер
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

2WaRs
проходил мимо
Сообщения: 6
Зарегистрирован: 2011-05-23 6:16:36

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение 2WaRs » 2011-05-23 9:59:48

hizel писал(а):

Код: Выделить всё

hostlist relay_from_hosts = Список IP адресов для которых разрешен Relay.
очевидно в этих адресах завелся спамер
Нет, закрывал Ipfw 25-й порт для всех кроме этих адресов

Код: Выделить всё

Список IP адресов для которых разрешен Relay.
в логи перестало валиться.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение hizel » 2011-05-23 10:04:50

возьмите данный спама и прогоните через тестовый режим
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение hizel » 2011-05-23 10:05:40

хм, отправка в мир как-бэ идет через тот же 25-ый порт, как вы его закрыли? :-)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

2WaRs
проходил мимо
Сообщения: 6
Зарегистрирован: 2011-05-23 6:16:36

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение 2WaRs » 2011-05-23 10:53:43

hizel писал(а):хм, отправка в мир как-бэ идет через тот же 25-ый порт, как вы его закрыли? :-)
Я написал выше.
Для всех кроме локальных адресов.
Локальные адреса могут отправлять через 25 порт.

2WaRs
проходил мимо
Сообщения: 6
Зарегистрирован: 2011-05-23 6:16:36

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение 2WaRs » 2011-05-23 12:41:26

blade_007 писал(а):Если беспокоит рост лога можно:
2) настроить fail2ban по определенным параметрам
Спасибо, очень помогло. :good:

2WaRs
проходил мимо
Сообщения: 6
Зарегистрирован: 2011-05-23 6:16:36

Re: Exim open relay? yahoo.com.tw

Непрочитанное сообщение 2WaRs » 2011-05-27 4:58:53

3790 Хостов в таблице Ipfw :crazy: