по поводу smtp авторизации Exim

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

по поводу smtp авторизации Exim

Непрочитанное сообщение bobot » 2011-03-29 14:16:53

это означает что для этих сетей авторизация не требуется

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

hostlist  relay_from_hosts = localhost : 10.0.0.0/8 : 91.202.128.0/22 : 193.41.88.0/24 : 195.39.242.0/23 : 193.254.221.0/24
а как сделать наоборот чтоб сети которые там написаны !
для них требовало авторизацию

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

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение CrazyPilot » 2011-03-29 14:37:18

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

deny !authenticated = *
hosts = relay_from_hosts
?

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

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение hizel » 2011-03-29 16:30:07

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

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение bobot » 2011-03-30 11:38:42

hizel писал(а):это означает список сетей\хостов и ничего более
так как мне это провернуть тогда?

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

hostlist  relay_from_hosts =  10.0.0.0/8                ---------чтоб для этой сети была авторизация

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

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение hizel » 2011-03-30 11:42:15

перестаньте выдирать из контекста :-)
в exim имеет значение вся конфигурация, как и в ipfw, я могу у себя в конфигурации внедрить

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

hostlist  some_crap =  10.0.0.0/8 
и использовать далее в конфигурации
а по поводу авторизации CrazyPilot неплохо набросил
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение bobot » 2011-03-30 13:19:43

а по поводу авторизации CrazyPilot неплохо набросил[/quote]
Как то каряво работает вот :

Когда я настраиваю авторизацию в Outlook и посылаю письмо то вот логи

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

[root@mail /home/bobot]# tail -F /var/log/exim/mainlog | grep bobotol
2011-03-30 13:08:01 1Q4sJl-0007YN-Jn <= bobotol@mail.univ.kiev.ua H=(work) [10.25.3.158] P=esmtpa A=auth_login:bobotol S=1355 id=C75DD84AFD764CF3A9161805BDE11826@work
Вроде бы работает

Но когда я настраиваю обычно outlook например на pop3(без авторизации) то вот логи

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

[root@mail /home/bobot]# tail -F /var/log/exim/mainlog | grep bobotol
2011-03-30 13:06:35 1Q4sIN-0006jp-MO <= bobotol@univ.kiev.ua H=(work) [10.25.3.158] P=smtp S=1282 id=64A9B43AAECC497491A21235BADF4C48@work
^C
Письмо тоже отправилось ! Но мне не надо чтоб через настроенный без авторизации outlook можно было послать письмо

Мне надо чтоб работало только с авторизации, а без нет !

Вот конфиг

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

hostlist   relay_from_hosts =  10.25.3.0/24
auth_advertise_hosts = 10.25.3.0/24
.
.
.
ACL 
.
.

#  accept  authenticated = *
#          control       = submission
deny !authenticated = *
hosts = relay_from_hosts
#################################begin authenticators###############



# AUTH PLAIN authentication method with MySQL used by Netscape Messenger.

    driver = plaintext
    public_name = PLAIN
    server_condition = "${if crypteq{$2}{${extract{1}{:}{${lookup mysql{SELECT \
    password FROM users WHERE username = '${quote_mysql:$2}'}}}}}{1}{0}}"
    server_set_id = $2

auth_login:
    driver = plaintext
    public_name = LOGIN
    server_condition = "${if crypteq{$2}{${extract{1}{:}{${lookup mysql{SELECT \
    password FROM users WHERE username = '${quote_mysql:$1}'}}}}}{1}{0}}"
    server_prompts = "Username:: : Password::"
    server_set_id = $1

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение CrazyPilot » 2011-03-30 13:26:00

Это не конфиг, а порнуха какая-то. У вас скорее всего по ACL идет accept до того, как вы указали deny !authenticated для relay_from_hosts. Огласите весь ACL, пожалуйста :-)

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение Morty » 2011-03-30 13:40:21

може проще в дебаге запустить и найти последней ацл который впускает псиьмо без авторизации ? илил попробовать с авторизацией и тоже посм где , как пройдет

http://www.ietf.org/rfc/rfc4954.txt искать по (auth plain) там примеры есть
Последний раз редактировалось Morty 2011-03-30 13:43:52, всего редактировалось 1 раз.

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение bobot » 2011-03-30 13:43:22

CrazyPilot писал(а):Это не конфиг, а порнуха какая-то. У вас скорее всего по ACL идет accept до того, как вы указали deny !authenticated для relay_from_hosts. Огласите весь ACL, пожалуйста :-)

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

begin acl

# This access control list is used for every RCPT command in an incoming
# SMTP message. The tests are run in order until the address is either
# accepted or denied.
acl_check_rcpt:



#deny   message = only for official use
#       hosts   = !+relay_from_hosts
#condition = ${if eq{${lookup mysql{SELECT email FROM whitelist WHERE email = '$sender_address'}}}{}{yes}{no}}
#       log_message = это был не наш человек!





#Это поставил по просьбе Виталика
accept senders = *@backup.univ.kiev.ua : *@sauron.univ.kiev.ua
  # Accept if the source is local SMTP (i.e. not over TCP/IP). We do this by
  # testing for an empty sending host field.
  accept  hosts = :

# Запрещщаем тех, кто не обменивается приветственными
# сообщениями (HELO/EHLO)(Это Юра поставил 22 марта 2010) Начало
deny    message       = "HELO/EHLO require by SMTP RFC"
          condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

#deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
#        hosts         = !127.0.0.1 : !localhost : *
#        message       = "Where sender of this mail?!"

# отбрасываем письма, если в локальной части адреса находятся символы ^[./|] : ^.*[@%!] : ^.*/\\.\\./  Проверяются нелокальные домены 17 февраля 2011

deny    message       = "Restricted characters in address. Rejected"

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



#Это надо раскометить когда будет включена аунтитификация юзера
#accept  authenticated = *


#Не пропускаем почтовики в HELO/EHLO которых только буквы, цифры, -, _, пробел. Юра поставил 15 сентября 2010
#deny    message       = "Can not be only letters, numbers, -, _, space in HELO/EHLO. See SMTP RFC"
#          condition     = ${if match{$sender_helo_name}{\N^[A-Za-z0-9\_\-\ ]+$\N}{yes}{no}}
#          !senders      = :
#          !authenticated = *
#          hosts         = !127.0.0.1 : !localhost : *
#          logwrite      = "Can not be only letters, numbers, -, _, space in HELO/EHLO. See SMTP RFC: [SH=$sender_host_address S=$sender_address HELO=$sender


#Не пропускаем если нет обратной зоны ДНС Юра поставил 15 сентября 2010
#deny    message       = "Inconsistent or no DNS reverse entry"
#          !authenticated = *
#          hosts         = !127.0.0.1 : !localhost : *
#          condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}{yes}{no}}
#          logwrite      = "Inconsistent or no DNS reverse entry for $sender_host_address"

#Рубаем тех, кто не пишет отправителя
#  deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
#          hosts         = !127.0.0.1 : !localhost : *
#          message       = "Where sender of this mail?!"


#Не пропускаем если отправитель и получатель одинаковые, т.е. нельзя будет отправить со своего мыла себе письмо. Юра поставил 15 сентября 2010
deny    message       = "Sender and recipient is equivalent"
          !senders      = :
          condition     = ${if eq{$sender_address}{$local_part@$domain}{yes}{no}}
          logwrite      = "Sender and recipient is equivalent. $sender_address = $local_part@$domain"

# Рубим если отправка от себя к себе не с нашей сети(Фильтрация спама вида from: user@domain.org to: user@domain.org)
    deny hosts = !+relay_from_hosts
       domains   = +local_domains
       condition = ${if or{ { eq{$sender_address}{$local_part@$domain} }\
                         { eq{$sender_address_domain}{$domain} } } }
       log_message = The same local addresses or domain in MAIL FROM and RCPT TO from nonlocal relay
       message     = Access denied


#конец
#Рубаем нах, тех, кто подставляет свой IP в HELO(Юра поставил 22 марта 2010)
  deny    message       = "Your IP in HELO - access denied!"
          hosts         =  * : !+relay_from_hosts : !81-196.lissyara.su
          condition     = ${if eq{$sender_helo_name}\
    {$sender_host_address}{true}{false}}


# Рубаем тех, кто в HELO пихает мой IP (2500 мудаков за месяц!)(Юра поставил 22 марта 2010)
  deny    condition     = ${if eq{$sender_helo_name}\
    {$interface_address}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "main IP in your HELO! Access denied!"

# Рубаем тех, кто в HELO пихает только цифры(Юра поставил)
# (не бывает хостов ТОЛЬКО из цифр)
  deny    condition     = ${if match{$sender_helo_name}\
    {\N^\d+$\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "can not be only number in HELO!"
  deny    message       = "Bad host, use provider SMTP server"
          condition     = ${if match{$sender_host_name} \
#                               {dsl-|adsl|dynamic|\.hsd1\.|dialup|pool|dhcp|\
{dsl-|adsl|dynamic|\.hsd1\.|dialup|pool|dhcp|user.veloxzone.com.br|multi.surbl.org|black.uribl.com|\
                                ssrv\.cl|msmartin.com.pe|\.cablep\.|dial-up|\.dsl\.|fbx.proxad|hsd1.in|-ras1|cpe-|\
                                broadway.dreamhost|\.cable\.|dip..t-ipconnect} \
                               {yes}{no}}
#Проверяем существуте ли отправитель
deny    log_message   = Sender verify failed
#        !verify       = sender/callout=60s,maxwait=180s
        !verify       = sender
#Проверяем, существует ли домен получателя
deny     log_message   = Recipient verify failed
           authenticated = *
           !verify        = recipient/callout
#делаем запрет доставки почты конкретным юзерам
#deny senders = user@mail.ru : user2@rambler.ru
deny senders = Susan.Campbell@gmail.com : webmail@unical.it : inaderefyanko@inbox.com : kluefigorek@mail.ru : olegsammstroi@inbox.com : *@17.20.112.128 : nor
# Check recipient in local domains(Это Юра поставил)
#  # If not match go to other ACL
accept  domains       = +local_domains
          endpass
          message       = "In my mailserver not stored this user"
          verify        = recipient
#Конец
#
#
#
#
# Check recipient in relayed domains(это Юра поставил)
#  # If not match go to other ACL
accept  domains       = +relay_to_domains
          endpass
          message       = "Mail server not know how relay to this address"
          verify        = recipient
#Конец
deny   message      = Administrative denied 'blind' ('hidden') copy messages
   condition   = ${if >{$acl_m0}{110}{yes}{no}}
   hosts      = !+relay_from_hosts:*
   !verify      = not_blind
deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
# Deny unless the sender address can be verified.

 require verify        = sender
deny    message       = "Sender address can not contain only spaces. Rejected"

            hosts             = !127.0.0.1 : !localhost : *

            condition      = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}

  accept  hosts         = +relay_from_hosts
          control       = submission
 # Accept if the message arrived over an authenticated connection, from
  # any host. Again, these messages are usually from MUAs, so recipient
  # verification is omitted, and submission mode is set. And again, we do this
  # check before any black list tests.
#  accept  authenticated = *
#          control       = submission
deny !authenticated = *
hosts = relay_from_hosts

 require verify = recipient

  accept  domains       = +local_domains
          endpass
          verify        = recipient
#
#
#
 #############################################################################
  # There are no default checks on DNS black lists because the domains that
  # contain these lists are changing all the time. However, here are two
  # examples of how you can get Exim to perform a DNS black list lookup at this
  # point. The first one denies, whereas the second just warns.
  #
  deny    message       = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
          dnslists      = xbl.spamhaus.org : dnsbl.njabl.org : bl.spamcop.net : cbl.abuseat.org


accept











CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение CrazyPilot » 2011-03-30 13:56:23

Блеа, какая ацкая копипаста.

У вас accept hosts = +relay_from_hosts
перед deny !authenticated

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: по поводу smtp авторизации Exim

Непрочитанное сообщение bobot » 2011-03-30 14:28:10

CrazyPilot писал(а):Блеа, какая ацкая копипаста.

У вас accept hosts = +relay_from_hosts
перед deny !authenticated
Как-то не понятно работает!
я то что вы указали я закометил и сделал так

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

deny !authenticated = *
accept  hosts   = relay_from_hosts
Вот странный лог.....Я отсылаю письмо одно а оно мне две записи в логе ... типа я не прошёл авторизацию, а потом прошёл, и письмо доходит я проверял

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

2011-03-30 14:17:17 auth_login authenticator failed for (work) [10.25.3.158]: 535 Incorrect authentication data (set_id=bobotol)
2011-03-30 14:17:17 1Q4tOn-0005tF-L2 <= bobotol@mail.univ.kiev.ua H=(work) [10.25.3.158] P=esmtpa A=auth_login:bobotol S=1331 id=B8233FE528744C88BF911187DC4B63E6@work
И да как я хотел если авторизация не включена в outlook то письмо regect, тут всё как бы меня удолетворяет.

Вот как интерпритировать этот лог? Вроде бы как я сначала пароль не правильно указал а потом правильно...... НО Я ОДИН РАЗ ВВОЖУ ПАРОЛЬ