Почтовый сервер Exim рассылает спам, причем в поле отправителя подставляет разные домены. Из поля relay_from_hosts удалял все записи, после этого проверял, через командную строку не дает отправлять почту не из внешней, не из внутренней сети и даже локально если в поле From указан левый домен, но буквально пол минуты и в очереди появляются новая куча сообщений.
Подскажите куда капать?
primary_hostname = test.ru
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 = 127.0.0.1 : 192.168.0.0/24
auth_advertise_hosts = *
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
daemon_smtp_ports = 25 : 465 : 587
#tls_on_connect_ports = 465
#qualify_domain = test.ru
log_selector = \
+all_parents \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_runnever_users = root:daemon:bin
#host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0signore_bounce_errors_after = 30m
timeout_frozen_after = 2dsmtp_accept_max=50
smtp_accept_max_per_connection=50
smtp_connect_backlog=30
smtp_accept_max_per_host=25
remote_max_parallel=15split_spool_directory = true
hide mysql_servers = localhost/mail/sqlmail/sqlmail
begin acl
acl_check_rcpt:
accept hosts = :
deny message = Restricted characters in address1
local_parts = ^.*[@%!/|]require verify = sender
deny condition = ${if eq{$sender_address}{$local_part@$domain}{yes}{no}}
message = "Block forging attempt from outside world"deny message = "Sorry, the user was not found. Try again."
domains = +local_domains
condition = ${if eq{$sender_address_domain}{$domain}{no}{yes}}
condition = ${if eq{${lookup mysql{SELECT local_part FROM aliases WHERE local_part='${local_part}' AND no_local=true}}}{$local_part}{yes}{no}}deny message = Restricted characters in address2
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]deny message = Restricted characters in address3
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./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_host_name}{bezeqint\\.net|net\\.il|dialup|pool|peer|dhcp}{yes}{no}}warn set acl_m0 = $local_part
accept authenticated = *
accept domains = +local_domains
endpass
message = unknown user
verify = recipientaccept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipientaccept hosts = +relay_from_hosts
deny message = RELAY NOT PERMITTED
acl_check_data:
deny message = Go Away! Eat Your Spam Self!
condition = ${if match{$message_body} \
{105[-_]*51[-_]*86|778[-_]*98[-_]*94} \
{yes}{no}}deny message = Message have hidden copy and it will be blocked acl_m0 = ($acl_m0)
condition = ${if eq{$acl_m0}{info}{yes}{no}}
hosts = !+relay_from_hosts:*
!verify = not_blindaccept
begin routersdomain_literal:
driver = ipliteral
# domains = ! +local_domains
transport = remote_smtp
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.160.0.0/24
no_moresystem_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM aliases WHERE local_part='${local_part}' AND domain='${domain}'}}
# user = exim
file_transport = address_file
pipe_transport = address_pipevirtual_localuser:
driver = accept
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_deliverybegin transports
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
# file = /var/mail/$local_part
check_string = ""
create_directory
delivery_date_add
directory = /var/mail/$domain/$local_part
directory_mode = 770
envelope_to_add
return_path_add
user = Exim
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0660
address_pipe:
driver = pipe
return_outputaddress_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_addaddress_reply:
driver = autoreply
begin retry# Address or Domain Error Retries
# ----------------- ----- -------* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
fixed_plain:
driver = plaintext
public_name = LOGIN
server_prompts = Username:: : Password::
server_condition = ${lookup mysql{SELECT login FROM users WHERE login = '${quote_mysql:${local_part:$1}}' AND passwd = '${quote_mysql:$2}'}{yes}{no}}
server_set_id = $1
> Почтовый сервер Exim рассылает спам, причем в поле отправителя подставляет разные домены.
> Из поля relay_from_hosts удалял все записи, после этого проверял, через командную
> строку не дает отправлять почту не из внешней, не из внутренней
> сети и даже локально если в поле From указан левый домен,
> но буквально пол минуты и в очереди появляются новая куча сообщений.
> Подскажите куда капать?Это могут быть баунсы в ответ на несуществующие локалпарты.
Нужно глянуть, как выглядят письма, забивающие очередь.
Пример письма
root:/var/spool/mqueue>more input/3/1VVLe3-0006QX-Jn-H
1VVLe3-0006QX-Jn-H
Exim 1002 6
<zaq159xsw@mail.ru>
1381670623 0
-helo_name 86.143.223.123
-host_address 86.143.223.123.56915
-host_name host86-143-223-123.range86-143.btcentralplus.com
-host_auth fixed_plain
-interface_address 25.78.18.65.25 (наш внешний IP)
-received_protocol esmtpa
-aclm 0 8
atlant72
-body_linecount 41
-max_received_linelength 76
-auth_id ludmila
XX
1
atlant72@yandex.ru255P Received: from host86-143-223-123.range86-143.btcentralplus.com ([86.143.223.123] helo=86.143.223.123)
by test.ru with esmtpa (Exim 4.80.1) (наш домен)
(envelope-from <zaq159xsw@mail.ru>)
id 1VVLe3-0006QX-Jn
for atlant72@yandex.ru; Sun, 13 Oct 2013 17:23:44 +0400
052I Message-ID: <1FDD7FB7259945C4A04351F973839AD2@ehwd>
072R Reply-To: =?koi8-r?B?8MHXxcwg4sHCwcXXwQ==?= <nierasegecaps@hotmail.com>
060F From: =?koi8-r?B?8MHXxcwg4sHCwcXXwQ==?= <zaq159xsw@mail.ru>
025T To: <atlant72@yandex.ru>
028 Subject: atlant72@yandex.ru
038 Date: Sun, 13 Oct 2013 20:23:33 +0700
018 MIME-Version: 1.0
091 Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0936_01CEC852.16A81230"
014 X-Priority: 3
026 X-MSMail-Priority: Normal
052 X-Mailer: Microsoft Windows Live Mail 16.4.3505.912
056 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3505.912
> Пример письмаАцли ваши ни к черту. Вот минимальный набор, попробуйте с ним:
acl_check_rcpt:
accept authenticated = *
accept hosts = : +relay_from_hosts
control = submission
control = no_enforce_sync
require domains = +relay_to_domains : +local_domains
verify = recipient
accept local_parts = postmaster : abuse : admin : root : www : nobody
domains = +local_domains
deny condition = ${if eq{$host_lookup_failed}{1}}
deny condition = ${lookup{$sender_address}nwildlsearch{/usr/local/etc/exim/black.list}{yes}}
deny condition = ${lookup{$sender_host_name}nwildlsearch{/usr/local/etc/exim/black.list}{yes}}
accept
acl_check_data:
acceptФайл /usr/local/etc/exim/black.list содержит регекспы по одному на строку:
^.*bezeqint\.net.*
^.*net\.il.*
^.*dialup.*
^.*pool.*
^.*peer.*
^.*dhcp.*
А что, логи на Вашей системе полностью отключены?
Желательно убрать свою подсеть отсюда:
hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24
> Желательно убрать свою подсеть отсюда:
> hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24убрал, не помогло
> Желательно убрать свою подсеть отсюда:
> hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24Это почему же - желательно?
Всем спасибо, все оказалось банально, все идет от одного юзера, похоже пароль подобрали.
-auth_id ludmila - во всех письмах
сменил пароль письма перестали сыпаться