The OpenNET Project / Index page

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

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

"Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 18-Апр-08, 15:39 
Доброе время суток...

Попробовал я улучшить защиту от СПАМА на постовом сервере Sendmail. Поиск в Интернете привел меня на статью - http://www.dz.dn.ua/spam/antispam.html. Кусочек из нее (немного порезано):

LOCAL_CONFIG

Knondsl1    regex -a@MATCH (^|[0-9.-])(mail|mailrelay|mta|mx|relay|smtp)[0-9.-]
Knondsl2    regex -a@MATCH \.(мой_домен\.ru)$

Kdsl1        regex -a@MATCH ([0-9].*){5,}
Kdsl2        regex -a@MATCH (^|[0-9.-])([axv]dsl|as|[ck]lient||pppo[ae]|vpn)

Поставил на тестирование и сразу наткнулся на понятную проблему - почтовик не принимает письма от локальной сети конторы (10.0.0.0/24). IP- Адреса машин ведь полностью не резолвятся (по его мнению). Попробовал написать исключения в конфиги для моей адресации типа...
Knondsl2        regex -a@MATCH \.(мой_домен\.ru|10\.0\.0\.[0-9])$
Увы не помогло...

Может кто поможет как решить эту проблему?

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

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от anonymous (??) on 18-Апр-08, 16:25 
"Эта" проблема так просто не решается.
А статья, которая послужила Вам источником вдохновения, никуда не годится. Поищите другие, их много.

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

2. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 06:48 
>"Эта" проблема так просто не решается.
>А статья, которая послужила Вам источником вдохновения, никуда не годится. Поищите другие,
>их много.

А что можете посоветовать? Если дадите ссылку на более лучшее решение, фильтрующее почту ещё на этапе организации соединения, буду очень признателен... А так, это пустые слова... лишь бы что-нибудь написать...

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

3. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 10:10 
>Попробовал написать исключения в конфиги
>для моей адресации типа...
>Knondsl2        regex -a@MATCH \.(мой_домен\.ru|10\.0\.0\.[0-9])$
>Увы не помогло...
>
>Может кто поможет как решить эту проблему?

покажите на примере, что вы хотите заматчить в исключении


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

4. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 11:00 
>
>покажите на примере, что вы хотите заматчить в исключении

Почтовый сервер имеет интернетовскую адресацию с ним (через NAT) работают клиенты из локальной сети с адресацией 10.0.0.0/24. Хотелось бы чтоб для клиентов из локалки проверки не проверялись и письма можно было бы отправлять. Сейчас при попытке из локальной сети (net 10.0.0.0/24) отправить письмо выдает сообщение "!18.04.2008, 16:26:25: SEND  - Сервер сообщает об ошибке: 5.7.1 Relaying denied. IP name lookup failed for 10.0.0.86".

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

5. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 11:17 
>>
>>покажите на примере, что вы хотите заматчить в исключении
>
>Почтовый сервер имеет интернетовскую адресацию с ним (через NAT) работают клиенты из
>локальной сети с адресацией 10.0.0.0/24. Хотелось бы чтоб для клиентов из
>локалки проверки не проверялись и письма можно было бы отправлять. Сейчас
>при попытке из локальной сети (net 10.0.0.0/24) отправить письмо выдает сообщение
>"!18.04.2008, 16:26:25: SEND  - Сервер сообщает об ошибке: 5.7.1 Relaying
>denied. IP name lookup failed for 10.0.0.86".

покажите рулсет, который вы добавили

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

6. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 11:36 
>покажите рулсет, который вы добавили

Вот что добавил в конфигурацию sendmail-а...

LOCAL_CONFIG

Knondsl1        regex -a@MATCH (^|[0-9.-])(mail|mailrelay|mta|mx|relay|smtp)[0-9.-]
Knondsl2        regex -a@MATCH \.(domain\.ru)$
Knondsl3        regex -a@MATCH \.(10\.0\.0\.[0-9])$

Kdsl1        regex -a@MATCH ([0-9].*){5,}
Kdsl2        regex -a@MATCH (^|[0-9.-])([axv]dsl|as|bgp|broadband|cable|[ck]lient|dhcp|dial|dialin|dialup|dialer|dip|dsl|dslam|dup|dyn|dynamic|host|ip|isdn|modem|nas|node|pool|ppp|pppo[ae]|sirius.*ukrtel.*|user|users)[0-9.-]
Kdsl3        regex -a@MATCH [0-9a-f]{8,}
Kdsl4        regex -a@MATCH (^|\.)[0-9]
Kdsl5        regex -a@MATCH (-.*){3,}
Kdsl6        regex -a@MATCH \.(ipt\.aol\.com|internetdsl\.tpnet\.pl|rr\.com|pppool\.de|adelphia\.net|osnanet\.de|dedicado\.com\.uy)$

LOCAL_RULESETS

SLocal_check_relay

R$*        $: < $&{client_resolve} >
R<TEMP>    $#error $@ 4.7.1 $: "450 Relaying temporarily denied. IP name loo-kup failed for " $&{client_addr}
R<FAIL>        $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed for " $&{client_addr}
R<FORGED>    $#error $@ 5.7.1 $: "550 Relaying denied. IP name forged (PTR and A records mismatch) for " $&{client_addr}

R$*        $: $(nondsl1 $&{client_name} $)
R@MATCH    $@ OK
R$*        $: $(nondsl2 $&{client_name} $)
R@MATCH    $@ OK
R$*        $: $(nondsl3 $&{client_name} $)
R@MATCH    $@ OK

R$*        $: $(dsl1 $&{client_name} $)
R@MATCH    $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (1), please use Provider SMTP"
R$*        $: $(dsl2 $&{client_name} $)
R@MATCH    $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (2), please use Provider SMTP"
R$*        $: $(dsl3 $&{client_name} $)
R@MATCH    $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (3), please use Provider SMTP"
R$*        $: $(dsl4 $&{client_name} $)
R@MATCH    $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (4), please use Provider SMTP"
R$*        $: $(dsl5 $&{client_name} $)
R@MATCH    $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (5), please use Provider SMTP"
R$*        $: $(dsl6 $&{client_name} $)
R@MATCH    $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (6), please use Provider SMTP"

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

7. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 11:55 
поставьте проверку на исключения первой

у вас срабатывает блокировка на первых правилах по client_resolve

>[оверквотинг удален]
>" [" $&{client_addr} "] (3), please use Provider SMTP"
>R$*  $: $(dsl4 $&{client_name} $)
>R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name}
>" [" $&{client_addr} "] (4), please use Provider SMTP"
>R$*  $: $(dsl5 $&{client_name} $)
>R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name}
>" [" $&{client_addr} "] (5), please use Provider SMTP"
>R$*  $: $(dsl6 $&{client_name} $)
>R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name}
>" [" $&{client_addr} "] (6), please use Provider SMTP"

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

8. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 12:03 
>[оверквотинг удален]
>>" [" $&{client_addr} "] (3), please use Provider SMTP"
>>R$*  $: $(dsl4 $&{client_name} $)
>>R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name}
>>" [" $&{client_addr} "] (4), please use Provider SMTP"
>>R$*  $: $(dsl5 $&{client_name} $)
>>R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name}
>>" [" $&{client_addr} "] (5), please use Provider SMTP"
>>R$*  $: $(dsl6 $&{client_name} $)
>>R@MATCH $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name}
>>" [" $&{client_addr} "] (6), please use Provider SMTP"

Спасибо, сейчас попробую

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

9. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 12:27 
Перенес проверки ниже исключений

LOCAL_RULESETS

SLocal_check_relay

R$*        $: $(nondsl1 $&{client_name} $)
R@MATCH    $@ OK
R$*        $: $(nondsl2 $&{client_name} $)
R@MATCH    $@ OK
R$*        $: $(nondsl3 $&{client_name} $)
R@MATCH    $@ OK

R$*        $: < $&{client_resolve} >
R<TEMP>    $#error $@ 4.7.1 $: "450 Relaying temporarily denied. IP name loo-kup failed for " $&{client_addr}
R<FAIL>        $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed for " $&{client_addr}
...

Все равно не желает отправлять почту от клиентов из локальной сети.
В логах сервера вот такое сообщение:
Apr 21 13:21:39 srv0 sm-mta[36110]: ruleset=check_relay, arg1=[10.0.0.86], arg2=10.0.0.86, relay=[10.0.0.86], reject=550 5.7.1 Relaying denied. IP name lookup failed for 10.0.0.86

Может быть я не правильно пишу исключение для сети 10.0.0.0/24???
Knondsl3        regex -a@MATCH \.(10\.0\.0\.[0-9])$


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

10. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 12:30 
ну тогда я повторю свой первый вопрос

покажите конкретно что вы хотите заматчить

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

11. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 12:41 
>ну тогда я повторю свой первый вопрос
>
>покажите конкретно что вы хотите заматчить

Может быть я что-то путаю и недопонимаю это строки конфига

LOCAL_CONFIG

Knondsl1        regex -a@MATCH (^|[0-9.-])(mail|mailrelay|mta|mx|relay|smtp)[0-9.-]
Knondsl2        regex -a@MATCH \.(zemsky\.ru)$
   (Мой домен, в котором работает почтовый сервер)
Knondsl3        regex -a@MATCH \.(10\.0\.0\.[0-9])$
   (Пользователи локальной сети, работающие с этим почтовым сервером. ЛВС - 10.0.0.0/24)

Я предполагал сделать исключения для IP-адресов 10.0.0.ххх и пользователей почтового сервера в домене zemsky.ru) что-бы для них не выполнялись дальнейшие проверки... Вроде бы так...

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

12. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 12:50 
Держите меня семеро ... Иначе я сейчас прямо на рабочем месте повешусь ...

Я хотела увидеть  какие именно у вас исключения.
Вот вы пишете 10.0.0

а вместе с тем в nondsl3 у вас еще круглые скобки и точка перед первой.
Как я могу узнать, что вы хотите заматчить??? Покажите пример!
Какая именно последовательность символов должна быть поймана вашим nondsl3 ???

Ясновиденьем я не обладаю

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

13. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 12:58 
>[оверквотинг удален]
>
>Я хотела увидеть  какие именно у вас исключения.
>Вот вы пишете 10.0.0
>
>а вместе с тем в nondsl3 у вас еще круглые скобки и
>точка перед первой.
>Как я могу узнать, что вы хотите заматчить??? Покажите пример!
>Какая именно последовательность символов должна быть поймана вашим nondsl3 ???
>
>Ясновиденьем я не обладаю

Пример...
10.0.0.1  или 10.0.0.2 или 10.0.0.3 и так далее до 10.0.0.254 любое из этих значений..

Извиняй, полный профан...

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

14. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 13:32 
Knondsl3        regex -a@MATCH 10[.]0[.]0[.][1-9]$
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 13:54 
сорри
без последнего доллара
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 16:05 
>сорри
>без последнего доллара

Огромнейшее спасибо!!! Все получилось правило сработало.

Если не трудно можешь ещё пояснить, что означает знак "$" в конце выражения и "\." в начале выражения.

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

19. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от Medlar on 21-Апр-08, 16:21 
>Если не трудно можешь ещё пояснить, что означает знак "$" в конце

означает конец шаблона
те 10.0.0.1] уже не заматчится
заматчится только то, что оканчивается на точно
10.0.0.1
10.0.0.99
...


>выражения и "\." в начале выражения.

. в regex означает любой символ
\. - в regex это настоящая точка

Далее начинается самое интересное:
в sendmail.cf точка означает пробел (см sendmail.cf (egrep Blank))
НО! в regex точка - любой символ

пОЭТОМУ чтобы в спец преобразовании указать именно пробел ИСПОЛЬЗУЕМ комбинацию \.

В общем, если ин-но, см.
http://www.anrb.ru/linux/regex.html#features

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

15. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от skgennady email(ok) on 21-Апр-08, 13:49 
>Может кто поможет как решить эту проблему?

А в файле /etc/mail/access.db разрешено принимать письма от локальной сети?

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

17. "Проблема с регулярными выражениями в конфиги Sendmail"  
Сообщение от bardak email(ok) on 21-Апр-08, 13:56 
>>Может кто поможет как решить эту проблему?
>
>А в файле /etc/mail/access.db разрешено принимать письма от локальной сети?

Вот что в /etc/mail/access
10.0.0    RELAY

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

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

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




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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