URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 83046
[ Назад ]

Исходное сообщение
"Помогите в sendmail поставить ограничения исходящих"

Отправлено Texnik , 25-Ноя-08 18:43 
     Друзья!
     Существует такая (не новая) проблема: на машинах время от времени появляются вируса отсылающие кучу спама. Естественно после пары тысяч писем провайдер блокирует СМТП. Отловить вируса не проблема, но офис в итоге сутки без почты сидит. Хочу поставить ограничения на количество одновременно отправляемых писем с одного хоста в определённый промежуток времени (например 4 письма в минуту). Нашёл пару интересных фичей (http://www.anrb.ru/linux/sendmail.html): FEATURE(ratecontrol) и FEATURE(conncontrol), но!!! они не работают для хостов с OK или RELAY в access.
     Подскажите, как их прикрутить, или обойти access, или, если есть варианты как это реализовать по другому.
     Жду ваших ответов, советов. комментариев.  

Содержание

Сообщения в этом обсуждении
"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 25-Ноя-08 19:34 
у вас много записей с OK?

"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 25-Ноя-08 19:37 
>у вас много записей с OK?

Десяток


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 25-Ноя-08 19:42 
ДЛЯ ОБХОДА DNSBL их используете?

"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 25-Ноя-08 19:46 
уберите эти фишки (RATE&CONN)и добавьте правила которые им соответсвуют в
Local_check_relay

он исполняется первым и вы сможете контролировать тех у кого OK


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 25-Ноя-08 19:49 
А можно немного подробнее про Local_check_relay?


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 25-Ноя-08 19:46 
>ДЛЯ ОБХОДА DNSBL их используете?

DNSBL вообще не используем


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 25-Ноя-08 19:47 
ПОКАЖИТЕ ТОГДА ВАШИ СТРОКИ С ok

"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 25-Ноя-08 19:52 
>ПОКАЖИТЕ ТОГДА ВАШИ СТРОКИ С ok

To:sterch.net           OK
To:gercon.kiev.ua       OK
To:vetasan.com.ua       OK
To:icccw.kiev.ua        OK
To:icwc-nasu.kiev.ua    OK
To:budivnyk.kiev.ua     OK
To:visagiste.kiev.ua    OK
To:visagiste.com.ua     OK
To:ipex.com.ua          OK
To:zaprawka.com         OK


"Помогите в sendmail поставить ограничения исходящих"
Отправлено mEDLAR , 25-Ноя-08 21:17 
там у меня на странице неточность:
фичи ratecontrol и conncontrol (в отличие от greet_pause) не работают для хостов с OK или RELAY в access

следует читать как

фичи ratecontrol и conncontrol (в отличие от greet_pause) не работают для хостов в access, прописанных  с тэгом CONNECT: и  значениями OK или RELAY

То есть это не про вас и не про Local_check_relay  


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 26-Ноя-08 10:27 
>
>фичи ratecontrol и conncontrol (в отличие от greet_pause) не работают для хостов
>в access, прописанных  с тэгом CONNECT: и  значениями OK
>или RELAY
>
>То есть это не про вас и не про Local_check_relay

так так так.... т.е. они должны у меня работать? Щас буду пробовать ещё... ничего не понимаю. Может для точности выложить какую-нить часть конфига?


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 26-Ноя-08 10:44 
Хм... теперь получилось. Ограничил число одновременных коннекшенов. Но за ночь назрел ещё один вопрос: вирус не обязательно будет производить рассылку в
несколько потоков одновременно. Он может открыть одно соединение к
почтовому серверу и вливать через него десятками тысяч - что лучше в такой ситуации?

"Помогите в sendmail поставить ограничения исходящих"
Отправлено YuryD , 26-Ноя-08 11:03 
>Хм... теперь получилось. Ограничил число одновременных коннекшенов. Но за ночь назрел ещё
>один вопрос: вирус не обязательно будет производить рассылку в
>несколько потоков одновременно. Он может открыть одно соединение к
>почтовому серверу и вливать через него десятками тысяч - что лучше в
>такой ситуации?

  Редкие вирусы шлют spam через smtp провайдера. Большая часть шлет напрямую, напрягая при этом DNS-сервер лишним резолвингом(хороший косвенный признак). Поэтому средствами firewall блочьте весь smtp не через ваш smtp-сервер.


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 26-Ноя-08 12:59 
>Хм... теперь получилось. Ограничил число одновременных коннекшенов. Но за ночь назрел ещё
>один вопрос: вирус не обязательно будет производить рассылку в
>несколько потоков одновременно. Он может открыть одно соединение к
>почтовому серверу и вливать через него десятками тысяч - что лучше в
>такой ситуации?

Хороший вопрос.
Сначала была идея поставить счетчик писем за одну сессию, но ,оказывается,
они тогда обрабатываются по отдельности и счетчик не растет

но вот что обнаружилось из RELEASE_NOTES

If MaxDaemonChildren is set and a command is repeated too often
during a SMTP session then terminate it just like it is
done for too many bad SMTP commands.

я думала что тут сыграет confMAX_NOOP_COMMAND который по умолчанию равен 20

но оказалось что в sendmail уже зашит MAXBADCOMMANDS (25?)
http://groups.google.com/group/comp.mail.sendmail/browse_thr...


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 26-Ноя-08 14:49 

>
>Хороший вопрос.
>Сначала была идея поставить счетчик писем за одну сессию, но ,оказывается,
>они тогда обрабатываются по отдельности и счетчик не растет
>

Т.е. получается что сендмейл сам блокирует такие соеднения?


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 26-Ноя-08 15:41 
Нее, похоже, что это не то, что надо
op.me говорит более конкретно и называет определенные комманды в отличие от RELAESE_NOTES
с его абстрактным просто "a command"

Sendmail has some built-in measures against simple denial of service (DoS) attacks. The SMTP server by default slows down if too many bad commands are issued or if some commands are repeated too often within a session. Details can be found in the source file sendmail/srvrsmtp.c by looking for the macro definitions of MAXBADCOMMANDS, MAXNOOPCOMMANDS, MAXHELOCOMMANDS, MAXVRFYCOMMANDS, and MAXETRNCOMMANDS. If an SMTP command is issued more often than the corresponding MAXcmdCOMMANDS value, then the response is delayed exponentially, starting with a sleep time of one second, up to a maximum of four minutes (as defined by MAXTIMEOUT). If the option MaxDaemonChildren is set to a value greater than zero, then this could make a DoS attack even worse since it keeps a connection open longer than necessary. Therefore a connection is terminated with a 421 SMTP reply code if the number of commands exceeds the limit by a factor of two and MAXBADCOMMANDS is set to a value greater than zero (the default is 25).

да, вопрос интересный, будет время - задам на sendmail-конфе
ну или вы его можете "отцам sendmail'a" задать сами :)


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 26-Ноя-08 16:28 
>Нее, похоже, что это не то, что надо
>op.me говорит более конкретно и называет определенные комманды в отличие от RELAESE_NOTES
>
>с его абстрактным просто "a command"
>
>да, вопрос интересный, будет время - задам на sendmail-конфе
>ну или вы его можете "отцам sendmail'a" задать сами :)

В таком случае тему не закрываем, если будет инфа - пишите. Я дополнительно включил проверку исходящей почты спам-ассасином и в фаерволе ограничил число коннектов на 25й порт. Посмотрим как оно будет.
Есть ещё мысль настроить SMTP-аутентификацию, но возникает вопрос: а не сможет ли вирус подтянуть учётные данные из аутлука?  


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 27-Ноя-08 14:58 
нашла, кажется, оно самое?

README:
SMTP_MAILER_MAXMSGS     [undefined] If defined, the maximum number of
                        messages to deliver in a single connection for the
                        smtp, smtp8, esmtp, or dsmtp mailers.

>Есть ещё мысль настроить SMTP-аутентификацию, но возникает вопрос: а не сможет ли
>вирус подтянуть учётные данные из аутлука?

тут не знаю, умеют ли вирусы такое ...
если только он будет слушать сеть и перехватывать plaintext-пароли


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik , 27-Ноя-08 17:42 
>[оверквотинг удален]
>README:
>SMTP_MAILER_MAXMSGS     [undefined] If defined, the maximum number of
>
>            
>          
> messages to deliver in a single connection for the
>            
>          
> smtp, smtp8, esmtp, or dsmtp mailers.
>

Очень похоже!
А как можно прикрутить?


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Medlar , 27-Ноя-08 17:53 
define(`SMTP_MAILER_MAXMSGS',`10')


"Помогите в sendmail поставить ограничения исходящих"
Отправлено Texnik0 , 27-Ноя-08 19:06 
>define(`SMTP_MAILER_MAXMSGS',`10')

Спасибо!
Попробую, расскажу что получится!



"Помогите в sendmail поставить ограничения исходящих"
Отправлено ksvserega , 26-Ноя-08 11:02 
Я решил такую проблему очень просто: по совету здешних гуру 25-й порт открыт ток для сервера на внешнем интерфейсе, а в настройках учётных записей почтовиков указан в качестве POP и SMTP серверов указан внутренний IP сервера. С тех пор больше в спам-листах не появлялся