The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"bad HELO"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 04-Июл-05, 10:23  (MSK)
Насколько правильно использовать следующий набор правил для отлова bad HELO ?

SLocal_check_mail
R$*                             $:$1 $| <$&{auth_authen}>
R$* $| <$+>                     $:$1
R$* $| <$*>                     $:$1 $| <[$&{client_addr}]>[$&s]
R$* $| <$=w>[$*]                $:$1
R$* $| <[0]>[$*]                $:$1
R$* $| <[$-.$-.$-.$-]>[$*]      $:$1 $| <$( access $2.$3.$4.$5 $:[$2.$3.$4] $)>[$6]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$-.$-.$-]>[$*]         $:$1 $| <$( access $2.$3.$4 $:[$2.$3] $)>[$5]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$-.$-]>[$*]            $:$1 $| <$( access $2.$3 $:[$2] $)>[$4]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$-]>[$*]               $:$1 $| <$( access $2 $:[$2] $)>[$3]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$*]> $=w               $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [$=w]             $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [$+.$+]           $:$1
R$* $| <[$*]> [$*]              $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • bad HELO, sproot, 17:18 , 05-Июл-05, (1)  
  • bad HELO, Medlar, 17:08 , 06-Июл-05, (2)  
    • bad HELO, sproot, 12:11 , 07-Июл-05, (3)  
      • bad HELO, Medlar, 14:10 , 07-Июл-05, (4)  
        • bad HELO, sproot, 17:23 , 07-Июл-05, (5)  
          • bad HELO, Medlar, 18:03 , 07-Июл-05, (6)  
            • bad HELO, sproot, 04:27 , 08-Июл-05, (7)  
        • bad HELO, Stas_Dragon, 21:47 , 09-Июл-05, (8)  
          • bad HELO, sproot, 09:33 , 10-Июл-05, (9)  
            • bad HELO, sproot, 01:07 , 25-Июл-05, (10)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 05-Июл-05, 17:18  (MSK)
неужели ни у кого нет мнения ?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "bad HELO" 
Сообщение от Medlar Искать по авторуВ закладки on 06-Июл-05, 17:08  (MSK)
Уточни вопрос.
Правильно ли написаны правила или корректно ли блокировать badHELO именно таким образом?

Похоже, ты использовал правила Neil W Rickert, добавив проверку на access?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 07-Июл-05, 12:11  (MSK)
>Уточни вопрос.
>Правильно ли написаны правила или корректно ли блокировать badHELO именно таким образом?
Правильность я протестировал (sendmail -bt и т.д.). Ошибки были, но я их сразу исправлял. На форуме я привел окончательный вариант. Если кто-нибудь потестит набор правил, я буду только рад.
да и...корректно ли блокировать bad HELO именно так ?
>
>Похоже, ты использовал правила Neil W Rickert, добавив проверку на access?
совершенно верно (в 10-ку). Т.к. класс $=R в ходе проверок всегда оказывается пустым (хотя в o'reilly - sendmail, 3rd edition написано "The class $=R holds as its list of values the host and domain names that sendmail should allow mail to be relayed to. This $=R class should not be used directly because it could change without notice in future versions of sendmail."), я решил использовать access.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "bad HELO" 
Сообщение от Medlar Искать по авторуВ закладки on 07-Июл-05, 14:10  (MSK)
> Если кто-нибудь потестит набор правил, я буду только рад.
Я использую почти такой же набор, только без проверки access:
исторически так сложилось, что использую для разрешения релея только relay-domains. Хотя в книге и не рекомендуется его использовать, но, согласись :),выгода есть: одно правило на проверку $=R или несколько правил на проверку access...
И везде, где встречаются правила на блокировку плохого helo, они выглядят приблизительно так же (обычно попроще). У тебя, можно сказать, полный набор исключений предусмотрен.

>да и...корректно ли блокировать bad HELO именно так ?
Ну, по крайней мере, когда Neil W Ricket опубликовал свои правила на sendmail-овской конфе, замечаний со стороны Claus Assman и др. гуру не было :)

>Т.к. класс $=R в ходе проверок всегда оказывается
>пустым (хотя в o'reilly - sendmail, 3rd edition написано "The class
>$=R holds as its list of values the host and domain
>names that sendmail should allow mail to be relayed to. This
>$=R class should not be used directly because it could change
>without notice in future versions of sendmail."), я решил использовать access.
Этот класс у тебя потому пустой, что ты не используешь файл relay-domains.
Он у тебя либо отсутствует, либо пустой.

Если ты не против, я добавлю твои правила сюда - http://www.anrb.ru/linux/sendm.html#3.5

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 07-Июл-05, 17:23  (MSK)
>> Если кто-нибудь потестит набор правил, я буду только рад.
>Я использую почти такой же набор, только без проверки access:
>исторически так сложилось, что использую для разрешения релея только relay-domains. Хотя в
>книге и не рекомендуется его использовать, но, согласись :),выгода есть: одно
>правило на проверку $=R или несколько правил на проверку access...
>И везде, где встречаются правила на блокировку плохого helo, они выглядят приблизительно
>так же (обычно попроще). У тебя, можно сказать, полный набор исключений
>предусмотрен.
Набор не полный т.к. допускает задание ip адреса, и предпоследнее правило его пропустит. Я тут сделал небольшое изменение по этому поводу.
Согласно rfc 1425 формат команды EHLO такой ehlo-cmd ::= "EHLO" SP domain CR LF  (SP - пробел)
аналогично HELO.
Согласно rfc 821:
"...HELLO (HELO)
            This command is used to identify the sender-SMTP to the
            receiver-SMTP.  The argument field contains the host name of
            the sender-SMTP. ..."
Значит мы можем фильтровать по некорректному домену который выступает в качестве domain в  команде HELO/EHLO
берем http://ftp.ics.uci.edu/pub/websoft/wwwstat/country-codes.txt потом awk '{print $1}' > /etc/mail/top-level-domain
в sendmail.cf добавляем класс F{bh}/etc/mail/top-level-domain и  меняем строчку, из выше приведенных правил, R$* $| <[$*]> [$+.$+]       $:$1
на R$* $| <[$*]> [$+.$={bh}]       $:$1
вроде все...
>>да и...корректно ли блокировать bad HELO именно так ?
>Ну, по крайней мере, когда Neil W Ricket опубликовал свои правила на
>sendmail-овской конфе, замечаний со стороны Claus Assman и др. гуру не
>было :)
значить у меня есть "алиби" :)
>>Т.к. класс $=R в ходе проверок всегда оказывается
>>пустым (хотя в o'reilly - sendmail, 3rd edition написано "The class
>>$=R holds as its list of values the host and domain
>>names that sendmail should allow mail to be relayed to. This
>>$=R class should not be used directly because it could change
>>without notice in future versions of sendmail."), я решил использовать access.
>Этот класс у тебя потому пустой, что ты не используешь файл relay-domains.
>
>Он у тебя либо отсутствует, либо пустой.
ты прав
>Если ты не против, я добавлю твои правила сюда - http://www.anrb.ru/linux/sendm.html#3.5
не вопрос, добавляй.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "bad HELO" 
Сообщение от Medlar Искать по авторуВ закладки on 07-Июл-05, 18:03  (MSK)
>Набор не полный т.к. допускает задание ip адреса, и предпоследнее правило его пропустит.
Но ведь ip-адреса допустимы: например, маленькая конторка, почтовик есть, а домена нет, тогда он в HELO представится своим ip. Или не так?


>Значит мы можем фильтровать по некорректному домену который выступает в качестве domain
>в  команде HELO/EHLO
>берем http://ftp.ics.uci.edu/pub/websoft/wwwstat/country-codes.txt потом awk '{print $1}' > /etc/mail/top-level-domain
>в sendmail.cf добавляем класс F{bh}/etc/mail/top-level-domain и  меняем строчку, из выше приведенных правил, R$* $| <[$*]> [$+.$+]       $:$1
>на R$* $| <[$*]> [$+.$={bh}]       $:$1
>вроде все...
Дааа, нет предела совершенству :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 08-Июл-05, 04:27  (MSK)
>>Набор не полный т.к. допускает задание ip адреса, и предпоследнее правило его пропустит.
>Но ведь ip-адреса допустимы: например, маленькая конторка, почтовик есть, а домена нет,
>тогда он в HELO представится своим ip. Или не так?
нет, тогда в HELO будет хост-имя (не FQDN). Вот это я и проглядел :( Нужно еще добавить одну строчку перед R$* $| <[$*]> [$+.$={bh}]       $:$1
R$* $| <[$*]> [$+]              $:$1
тогда полностью правила будут такими:
SLocal_check_mail
R$*                             $:$1 $| <$&{auth_authen}>
R$* $| <$+>                     $:$1
R$* $| <$*>                     $:$1 $| <[$&{client_addr}]>[$&s]
R$* $| <$=w>[$*]                $:$1
R$* $| <[0]>[$*]                $:$1
R$* $| <[$-.$-.$-.$-]>[$*]      $:$1 $| <$( access $2.$3.$4.$5 $:[$2.$3.$4] $)>[$6]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$-.$-.$-]>[$*]         $:$1 $| <$( access $2.$3.$4 $:[$2.$3] $)>[$5]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$-.$-]>[$*]            $:$1 $| <$( access $2.$3 $:[$2] $)>[$4]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$-]>[$*]               $:$1 $| <$( access $2 $:[$2] $)>[$3]
R$* $| <RELAY>[$*]              $:$1
R$* $| <[$*]> $=w               $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [$=w]             $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [$+]              $:$1
R$* $| <[$*]> [$+.$={bh}]       $:$1
R$* $| <[$*]> [$*]              $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
теперь главное чтобы имена клиентских машин не совпадали с коротким именем
почтового сервера, иначе 5 правило снизу их не пропустит :)
Теперь насчет ip в HELO. В том же rfc не написано ничего про ip в HELO, значит мы можем фильтровать. У меня было масса случаев когда спамеры подставляли в HELO ip адрес моего почтового сервера...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "bad HELO" 
Сообщение от Stas_Dragon Искать по авторуВ закладки(??) on 09-Июл-05, 21:47  (MSK)
>Если ты не против, я добавлю твои правила сюда - http://www.anrb.ru/linux/sendm.html#3.5

Сколько всеого полезного по этой ссылке о Sendmail...
Спасибо автору этой странички! за такой хороший ресурс


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 10-Июл-05, 09:33  (MSK)
>>Если ты не против, я добавлю твои правила сюда - http://www.anrb.ru/linux/sendm.html#3.5
>
>Сколько всеого полезного по этой ссылке о Sendmail...
>Спасибо автору этой странички! за такой хороший ресурс
Да, ресурс отличный...все в одном месте. Автору респект. :)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "bad HELO" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 25-Июл-05, 01:07  (MSK)
Новый релиззз. :)

# for bad-HELO
F{bh}/etc/mail/top-level-domain
Kipadr regex -aFOUND [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}

SLocal_check_mail
R$*                                     $:$1 $| <$&{auth_authen}>
R$* $| <$+>                             $:$1
R$* $| <$*>                             $:$1 $| <[$&{client_addr}]>[$&s]
R$* $| <$=w>[$*]                        $:$1
R$* $| <[0]>[$*]                        $:$1
R$* $| <[$-.$-.$-.$-]>[$*]              $:$1 $| <$( access $2.$3.$4.$5 $:[$2.$3.$4] $)>[$6]
R$* $| <RELAY>[$*]                      $:$1
R$* $| <[$-.$-.$-]>[$*]                 $:$1 $| <$( access $2.$3.$4 $:[$2.$3] $)>[$5]
R$* $| <RELAY>[$*]                      $:$1
R$* $| <[$-.$-]>[$*]                    $:$1 $| <$( access $2.$3 $:[$2] $)>[$4]
R$* $| <RELAY>[$*]                      $:$1
R$* $| <[$-]>[$*]                       $:$1 $| <$( access $2 $:[$2] $)>[$3]
R$* $| <RELAY>[$*]                      $:$1
R$* $| <[$*]> $=w                       $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [$=w]                     $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [[127.$-.$-.$-]]          $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [[10.$-.$-.$-]]           $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [[172.$-.$-.$-]]          $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [[192.168.$-.$-]]         $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s
R$* $| <[$*]> [[$+]]                    $:$1 $| <[$2]> [[ $( ipadr $3 $) ]]
R$* $| <[$*]> [[FOUND]]                 $:$1
R$* $| <[$*]> [$+.$={bh}]               $:$1
R$* $| <[$*]> [$*]                      $#error $@5.7.1 $:"550 Access denied - bogus HELO " $&s

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру