Exim отправляет письма без проверки пароля (

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
RainBoy_Kharkov
проходил мимо

Exim отправляет письма без проверки пароля (

Непрочитанное сообщение RainBoy_Kharkov » 2009-03-29 0:19:48

Добрый день
Exim отправляет письма вообще не проверяя пароль

Конфиг

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

primary_hostname = korona.usi.ua
hide mysql_servers = ****
domainlist local_domains = ${lookup mysql{SELECT `domain` \
			    FROM `domain` WHERE \
			    `domain` = '${domain}' AND \
			    `active`='1'}}
   
domainlist relay_to_domains = ${lookup mysql{SELECT `domain` \
			    FROM `domain` WHERE \
			    `domain`='${domain}' AND \
			    `active`='1'}}
hostlist   relay_from_hosts = localhost:127.0.0.0/8:192.168.30.0/24

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

av_scanner = clamd:/var/run/clamav/clamd.sock
qualify_domain = korona.usi.ua
qualify_recipient = korona.usi.ua
allow_domain_literals = false
exim_user = mailnull
exim_group = mail
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 45m
timeout_frozen_after = 15d
freeze_tell = alex@korona.usi.ua
helo_accept_junk_hosts = 192.168.30.0/24
auto_thaw = 1h
smtp_banner = "korona.usi.ua ESMTP"
smtp_accept_max = 50
smtp_accept_max_per_connection = 30
smtp_connect_backlog = 30
smtp_accept_max_per_host = 20
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 150k
message_size_limit = 30M
helo_allow_chars = _
smtp_enforce_sync = true
log_selector = \
    +all_parents \
    +connection_reject \
    +incoming_interface \
    +lost_incoming_connection \
    +received_sender \
    +received_recipients \
    +smtp_confirmation \
    +smtp_syntax_error \
    +smtp_protocol_error \
    +queue_run
syslog_timestamp = no
begin acl
acl_check_rcpt:
  accept  hosts = :
  deny    message       = "Restricted characters in address"
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
  deny    message       = "Restricted characters in address"
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
deny	message		= "HELO/EHLO must be (see SMTP RFC)"
	condition	= ${if eq{$sender_helo_name}{}{yes}{no}}
accept 	authenticated	= *
accept 	hosts         	= +relay_from_hosts
        control      	= submission
deny	message		= "Cant use IP for HELO"
	hosts		= *:!+relay_from_hosts
	condition	= ${if eq{$sender_helo_name}\
			  {$sender_host_address}{true}{false}}
deny	message		= "You using my IP. Go away"
	hosts		= !127.0.0.1 : !localhost: *
	condition	= ${if eq{$sender_helo_name}\
			  {$interface_address}{yes}{no}}
deny	message		= "Your HELO contain only digits"
	hosts		= !127.0.0.1 : !localhost: *
	condition	= ${if match{$sender_helo_name}\
			  {\N^\d+$\N}{yes}{no}}
deny	message		= "Bad host"
	condition	= ${if match{$sender_helo_name}\
			  {dialup|pool|peer|dhcp} \
			  {yes}{no}}
deny	message		= "Host in blacklist - $dnslist_domain \n $dnslist_text"
	dnslists	= dnsbl.void.ru : \      
			  proxies.blackholes.easynet.nl : \
			  cbl.abuseat.org : \
			  bl.spamcop.net : \
			  bl.csma.biz
warn
    set	acl_m0 = 20s
warn
    hosts = +relay_from_hosts
    set acl_m0 = 0s
warn
    logwrite = Delay $acl_m0 for $sender_host_name \
    [$sender_host_address] with HELO=$sender_helo_name. Mail \
    from $sender_address to $local_part@$domain. \
    delay = $acl_m0
		
accept	domains		= +local_domains
	endpass
	message		= "Bad recipient"
	verify		= recipient
accept	domains		= +relay_to_domains
	endpass
	message		= "Bad recipient"
	verify		= recipient
accept	hosts		= +relay_from_hosts
deny	message		= "Sorry. Try find another open relay :)"
acl_check_data:
    deny	malware = *
    message		= "In e-mail found VIRUS - $malware_name"
# spam filtering there
  accept
begin routers

my_route:
    debug_print = "R: route for $domain"
    driver = manualroute	
    route_list = akvamarin.usi.ua 192.168.10.10:192.168.1.1:195.5.51.182; usi.ua 192.168.1.1:195.5.51.182; !+local_domains 195.5.51.182:192.168.1.1
    transport = remote_smtp    
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 `goto` FROM `alias` WHERE \
         `address`='${quote_mysql:$local_part@$domain}' OR \
	 `address`='${quote_mysql:@$domain}'}}
mysqluser:
    driver = accept
    condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
                 WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
    transport = mysql_delivery
		    
begin transports
	    
remote_smtp:
    driver = smtp		
mysql_delivery:
    driver = appendfile
    check_string = ""
    create_directory
    delivery_date_add
    directory = ${lookup mysql{SELECT CONCAT('/var/mail/exim/', `maildir`) \
                FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
    directory_mode = 770
    envelope_to_add
    group = mail
    maildir_format
    maildir_tag = ,S=$message_size
    message_prefix = ""
    message_suffix = ""
    mode = 0600
address_file:
    driver = appendfile
    delivery_date_add
    envelope_to_add
    return_path_add		
address_pipe:
    driver = pipe
    return_output		    
    address_reply:
    driver = autoreply

begin retry
*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h

begin rewrite

begin authenticators
auth_plain:
    driver = plaintext
    public_name = PLAIN
    server_condition = ${lookup mysql{SELECT `username` FROM \
                       `mailbox` WHERE `username` = \
		       '${quote_mysql:$1}' AND `password` = \
		       '${quote_mysql:$2}'}{yes}{no}}
    server_prompts = :
    server_set_id = $2
auth_login:
    driver = plaintext
    public_name = LOGIN
    server_condition = ${lookup mysql{SELECT `username` FROM \
                       `mailbox` WHERE `username` = \
                       '${quote_mysql:$1}' AND `password` = \
                       '${quote_mysql:$2}'}{yes}{no}}
    server_prompts = Username:: : Password::
    server_set_id = $1
auth_cram_md5:
    driver = cram_md5
    public_name = CRAM-MD5
    server_secret = ${lookup mysql{SELECT `password` FROM \
                    `mailbox` WHERE `username` \
                    = '${quote_mysql:$1}'}{$value}fail}
    server_set_id = $1
При отправке почты снаружи локалки все ок - 550 Ralay not permitted
Вписываю свой внешний ip в hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.30.0/24
и почта отправляется вообщк без проверки пароля -( С приемом почты все ок - пароль проверяется.
Также какие-то траблы при работе через IMAP:

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

   Учетная запись: 82.207.102.104 (1)
   Сервер: 82.207.102.104
   Имя пользователя: alex@korona.usi.ua
   Протокол: IMAP
   Порт: 143
   Защита (SSL): 0
   Код: 800ccc0f
В логах при отправке следующее:

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

Mar 28 22:47:08 gate exim[4840]: 1LnfQp-0001G4-TT <= alex@korona.usi.ua H=(rainboynb) [77.52.43.77] I=[192.168.30.40]:25 P=smtp S=1292 id=9E8027D7D7DE4A958C9B722CBFC8783D@rainboynb from <alex@korona.usi.ua> for rainboy@front.ru
Mar 28 22:47:09 gate exim[4841]: 1LnfQp-0001G4-TT => rainboy@front.ru R=my_route T=remote_smtp H=195.5.51.182 [195.5.51.182] X=TLSv1:DES-CBC3-SHA:168 C="250 OK id=1LnfQt-0007Bf-3L"
Mar 28 22:47:09 gate exim[4841]: 1LnfQp-0001G4-TT Completed 
Помогите, плз =)

Хостинговая компания 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/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim отправляет письма без проверки пароля (

Непрочитанное сообщение dikens3 » 2009-03-29 1:07:34

Exim отправляет письма вообще не проверяя пароль
Ну вижу особой проблемы. Найдите условие, которое пропускает ваше письмо. Сделать это можно прочитав прилепленную в данном разделе тему - Полезные скрипты. Там есть пример отладки.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim отправляет письма без проверки пароля (

Непрочитанное сообщение princeps » 2009-03-30 9:22:20

Вписываю свой внешний ip в hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.30.0/24
и почта отправляется вообщк без проверки пароля
Конечно, у тебя ведь вот этим:
accept hosts = +relay_from_hosts
указано принимать почту от хостов из relay_from_hosts
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

RainBoy_Kharkov
проходил мимо

Re: Exim отправляет письма без проверки пароля (

Непрочитанное сообщение RainBoy_Kharkov » 2009-03-30 10:10:45

Да, я тоже так подумал.
Мне нужно сделать, чтобы принимало с определенных IP и DNS имен (у одного филиала динамич. IP) и с обязательной проверкой пароля.
Сейчас смотрю как это сделать

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim отправляет письма без проверки пароля (

Непрочитанное сообщение princeps » 2009-03-30 11:09:41

RainBoy_Kharkov писал(а):Мне нужно сделать, чтобы принимало с определенных IP и DNS имен (у одного филиала динамич. IP)
Если не секрет, зачем? Я бы фаерволом сделал, если с целью безопасности, то так, мне кажется, правильнее будет.
RainBoy_Kharkov писал(а):с обязательной проверкой пароля.
У тебя итак с обязательной проверкой для всех, кроме relay_from_hosts
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru