Exim Опен-Релей

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Exim Опен-Релей

Непрочитанное сообщение Dolphin_BSD » 2009-04-21 12:16:17

Добрый день !

Подскажите как мне открыть опен-релей на Екзиме !

Конфиг по статье Лиса Dovecot+exim

http://www.lissyara.su/?id=1173

Дерекция в Китае, раньше работели через МПД и заходили в локалку, там МПД не пашет, а почта нужна по гроб !

задачи

1) откріть Опен релей на время
2) разобраться и настроить конфиг екзима пускать просто по авторизации не смотря на ИП клиента !

Заранее спасибо!
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

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

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

Re: Exim Опен-Релей

Непрочитанное сообщение hizel » 2009-04-21 12:34:34

свести всё к

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

acl_check_rcpt:

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

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: Exim Опен-Релей

Непрочитанное сообщение Dolphin_BSD » 2009-04-21 13:25:29

Как правильно сделать что бы Екзим не смотрел на строку :

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

hostlist   relay_from_hosts = localhost:127.0.0.0/8:192.168.0.0/16:212.82.212.42:85.223.151.42:83.170.243.74
domainlist relay_to_domains =
А использовал только авторизацию по логину и паролю пользователей что заведены в Мускуле !

НА сегодняшний день пользователь который не имеет записи своего ИП в опенрелее, может получить почту , но на отправку не уходит !

Как было бы правильно с точки зрения и безопасности и с точки зрения екзима сделать это ?

Спасибо за ответы заранее )!
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

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

Re: Exim Опен-Релей

Непрочитанное сообщение hizel » 2009-04-21 14:04:16

убрать accept для reloay_from_hosts
и оставить
accept authenticated = *
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: Exim Опен-Релей

Непрочитанное сообщение Dolphin_BSD » 2009-04-21 15:02:44

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


deny    message       = "It is not necessary to establish{install} the IP as HELO!"
          hosts         =  *:!+relay_from_hosts
          condition     = ${if eq{$sender_helo_name}\
                          {$sender_host_address}{true}{false}}

deny    condition     = ${if eq{$sender_helo_name}\
                         {$interface_address}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "It is my IP-address! It is given up!"

deny    condition     = ${if match{$sender_helo_name}\
                         {\N^\d+$\N}{yes}{no}}
          hosts         = !127.0.0.1:!localhost:*
          message       = "In HELO there can not be a current of figure!"

deny    message       = "Inadmissible name of a host..."
          condition     = ${if match{$sender_host_name} \
                           {adsl|dialup|pool|peer|dhcp} \
                           {yes}{no}}



accept  authenticated = *

################################################################################
warn
set acl_m0 = 25s

warn
hosts = +relay_from_hosts
set acl_m0 = 0s
################################################################################

##############################

warn set acl_m0   = 0

warn    condition     = ${if !eq{$sender_helo_name}{$sender_host_name}{yes}{no}}
      hosts         = !+relay_from_hosts : *
      set acl_m0   = ${eval:$acl_m0+30}

warn    condition   = ${if eq{$host_lookup_failed}{1}{yes}{no}}
      hosts         = !+relay_from_hosts : *
      set acl_m0   = ${eval:$acl_m0+30}

warn    condition   = ${if match{$sender_host_name}{\N((?>\w+[\.|\-]){4,})\N}{yes}{no}}
      hosts         = !+relay_from_hosts : *
      set acl_m0   = ${eval:$acl_m0+40}

warn   condition   = ${lookup{$sender_host_name}wildlsearch{/usr/local/etc/exim/db/dialup_hosts}{yes}{no}}
      hosts   = !+relay_from_hosts : *
      set acl_m0  = ${eval:$acl_m0+60}

warn   condition   = ${lookup{$sender_helo_name}wildlsearch{/usr/local/etc/exim/db/dialup_hosts}{yes}{no}}
      hosts   = !+relay_from_hosts : *
      set acl_m0  = ${eval:$acl_m0+60}
################################################################################


################################################################################
accept  domains       = +local_domains
          endpass
          message       = "In this domain there is no such user"
          verify        = recipient

accept  domains       = +relay_to_domains
          endpass
          message       = "I of a server to not know a route on this host..."
          verify        = recipient
###############################################################################

###############################################################################

РЕРМАРЮ ЭТУ
accept hosts          = +relay_from_hosts

СТАВЛЮ ЭТУ
################################################
################################################
################################################
#accept hosts          = authenticated = *
################################################
################################################
################################################

deny    message       = "Relay not permitted"

###### ANTIVIRUS SETTINGS
acl_check_data:

##
  deny   message      = "this is spam - denied"
         condition   = ${if match{$message_body} \
         {105[-_]*51[-_]*86|778[-_]*98[-_]*94} \
         {yes}{no}}

   deny   message      = This message contains NUL characters
         log_message   = NUL characters!
         condition   = ${if >{$body_zerocount}{0}{1}{0}}

   deny   message      = Incorrect headers syntax
         hosts      = !+relay_from_hosts:*
#        condition   = ${if >{$acl_m0}{190}{yes}{no}}
        !verify      = header_syntax
##

deny   message = "Found VIRUS - $malware_name"
       condition = ${if < {$message_size}{1M}}
       set acl_m0 = clamd:/var/run/clamav/clamd
       demime = *
       malware = */defer_ok

###### ANTISPAMSPAM SETTINGS

  warn message = X-Spam_Score: $spam_score
  condition = ${if < {$message_size}{50K}}
  spam = nobody:true

###############################################################################################
#bounce test
        deny    message         = Message that generate bounce not coming from main hosts
        condition       = ${if !match{$message_body}{X-Bounce-ID}{yes}{no}}
        condition       = ${if eq{$sender_address}{}{yes}{no}}
###############################################################################################

accept

######
acl_check_mime:

  warn decode = default

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

accept

###############################################################################

РЕРМАРЮ ЭТУ

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

accept hosts          = +relay_from_hosts
СТАВЛЮ ЭТУ

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

accept hosts          = authenticated = *
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Exim Опен-Релей

Непрочитанное сообщение Laa » 2009-04-21 15:23:30

Это очень опасно:

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

deny    message       = "Inadmissible name of a host..."
          condition     = ${if match{$sender_host_name} \
                           {adsl|dialup|pool|peer|dhcp} \
                           {yes}{no}}
Например, не получите почту от adsl-forum.ru, dialup.net.ua, peer2peer.ru... и так далее. А в письме может быть договор на стотыщдолларов... 8)

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

hosts         =  *:!+relay_from_hosts
лучше менять на

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

hosts         = !+relay_from_hosts
С acl_m0 я так понимаю просто недоделано или не влезло в приведенный кусок конфига?

По поводе ремариния -- по идее это то что нужно.

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

Как небольшое дополнение, делайте accept, например для local_part и domain тех отправителей, которые где-то там в Китае, а для всех остальных просто оставьте как было. Так, спамеру придется угадать с какого e-mail можно спамить. Ну и в добавок -- можно зажать лимит на отправку в разумные рамки, чтобы не навредить реальному отправителю, а в случае спам-атаки спам не так сильно успевал вылетать наружу...

Ну а вам, с опен-релей конфигом нужно намного вдумчивее следить за логами!!!

Удачи!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!