Страница 1 из 1

Exim Опен-Релей

Добавлено: 2009-04-21 12:16:17
Dolphin_BSD
Добрый день !

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

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

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

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

задачи

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

Заранее спасибо!

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

Добавлено: 2009-04-21 12:34:34
hizel
свести всё к

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

acl_check_rcpt:

  accept
:roll:

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

Добавлено: 2009-04-21 13:25:29
Dolphin_BSD
Как правильно сделать что бы Екзим не смотрел на строку :

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

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 =
А использовал только авторизацию по логину и паролю пользователей что заведены в Мускуле !

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

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

Спасибо за ответы заранее )!

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

Добавлено: 2009-04-21 14:04:16
hizel
убрать accept для reloay_from_hosts
и оставить
accept authenticated = *

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

Добавлено: 2009-04-21 15:02:44
Dolphin_BSD

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


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 = *

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

Добавлено: 2009-04-21 15:23:30
Laa
Это очень опасно:

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

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 можно спамить. Ну и в добавок -- можно зажать лимит на отправку в разумные рамки, чтобы не навредить реальному отправителю, а в случае спам-атаки спам не так сильно успевал вылетать наружу...

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

Удачи!