The OpenNET Project / Index page

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

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

"confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 13-Окт-10, 11:29 
Добрый день, всем!

Стоит связка на FreeBSD 7.2 - Sendmail+procmail+SpamAssassin+Clamav+SASL

Почту могут отправлять, соответственно, авторизовавшиеся пользователи через 25ый порт.

Сендмыл собран с настройкой confMAX_DAEMON_CHILDREN - чтобы серв жрал не очень много ресурсов, значение этой настройки равно 33, т.е. максимальное число дочерних процессов - 33.

Периодически с моим сендмылом устанавливается большое количество соединений (естественно попытки отправить спам через меня), - максимально допустимое 33. Из-за этого он начинает отвергать соединения для отправки и приема почты от валидных пользователей.

Скажите, что можно сделать, чтобы спамеры "отвалили" от меня и логи у меня стали почище... Сейчас, из-за того, что меня пытаются "отрелеить" у меня по 100 тысяч записей в maillog каждый день...

Кроме того, не слишком ли малое количество дочерних процессов я выставил - 33? Может, следует больше.

Серв 2х2.2 Ггц + 4гб DDR2.

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

Оглавление

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


1. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +1 +/
Сообщение от lavr email on 13-Окт-10, 11:46 
> Добрый день, всем!
> Стоит связка на FreeBSD 7.2 - Sendmail+procmail+SpamAssassin+Clamav+SASL
> Почту могут отправлять, соответственно, авторизовавшиеся пользователи через 25ый порт.
> Сендмыл собран с настройкой confMAX_DAEMON_CHILDREN - чтобы серв жрал не очень много
> ресурсов, значение этой настройки равно 33, т.е. максимальное число дочерних процессов
> - 33.

зачем? какая средняя загрузка? сколько пользователей и доменов обслуживает релей?

> Периодически с моим сендмылом устанавливается большое количество соединений (естественно
> попытки отправить спам через меня), - максимально допустимое 33. Из-за этого
> он начинает отвергать соединения для отправки и приема почты от валидных
> пользователей.

не пытались понять почему это происходит с вашим релеем?

> Скажите, что можно сделать, чтобы спамеры "отвалили" от меня и логи у
> меня стали почище... Сейчас, из-за того, что меня пытаются "отрелеить" у
> меня по 100 тысяч записей в maillog каждый день...
> Кроме того, не слишком ли малое количество дочерних процессов я выставил -
> 33? Может, следует больше.

может и вовсе убрать ограничение, но для этого следует найти ответ на вопрос выше.
смотреть в сторону ограничений на уровне коннектов: timeout'ы, кол-во соединений
в секунду и тд и тп

> Серв 2х2.2 Ггц + 4гб DDR2.

вполне себе почтовый сервер с _запасом_прочности_ (зависит от того сколько клиентов
вы обслуживаете)

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

3. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 13-Окт-10, 14:10 
> зачем? какая средняя загрузка? сколько пользователей и доменов обслуживает релей?

40 пользователей в одном домене и 2 в другом.

> не пытались понять почему это происходит с вашим релеем?

Ну как сказать не пытался... я не пойму, как это понять. Я проверял свой почтовик на возможный релееинг разными тестерами (telnet relay-test.mail-abuse.org, http://www.checkor.com) - проверка показала, что всё как бы в роке, и почтовик настроен типа грамотно... Возможно причина в том, что наши менеджеры выкладывают свои почтовые адреса везде, где только можно, а спамеры их сканять, шлют нам почту и пытаются отправить через нас...

Хорошо, а какие варианты есть, как проверить?

> может и вовсе убрать ограничение, но для этого следует найти ответ на
> вопрос выше.
> смотреть в сторону ограничений на уровне коннектов: timeout'ы, кол-во соединений
> в секунду и тд и тп

хорошо, приведу куски своего конфига:

+++++++++++++++++++++++++++++++

FEATURE(dnsbl, `bl.spamcop.net', `"550 Mail from " $&{client_addr} " rejected - see bl.spamcop.net"')
FEATURE(dnsbl, `cbl.abuseat.org', `"550 Mail from " $&{client_addr} " rejected - see cbl.abuseat.org"')
FEATURE(dnsbl, `dnsbl.njabl.org', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.njabl.org"')
FEATURE(dnsbl, `dnsbl.sorbs.net', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.sorbs.net"')
FEATURE(dnsbl, `list.dsbl.org', `"550 Mail from " $&{client_addr} " rejected - see list.dsbl.org"')
FEATURE(dnsbl, `zen.spamhaus.org', `"550 Mail from " $&{client_addr} " rejected - see zen.spamhaus.org"')

....................

FEATURE(`delay_checks')dnl
dnl FEATURE(`greet_pause', `5000')dnl - это отключил, так как был косяк с отсылкой почты. Некоторые письма заворачиваютя в спам, я сажусь их пересылать по правильным адресатам, попутно обучая антиспамер. Так вот, я рассылаю письма быстро по ящикам, а ограничение не дает мне этого делать =)

define(`confMAX_RCPTS_PER_MESSAGE', `10')

define(`confMAX_MESSAGE_SIZE', `10000000'')
define(`confMAX_DAEMON_CHILDREN', `33')
define(`confCONNECTION_RATE_THROTTLE', `10') - новые соединения в секунду. Куда уж меньше?
define(`confTO_IDENT', `0') - таймаутик...
+++++++++++++++++++++++++

Я думаю еще добавить таумауты:

define(`confTO_CONNECT', `30s')dnl
define(`confTO_IDENT', `0')dnl
define(`confTO_COMMAND', `30s')dnl
define(`confTO_DATABLOCK', `2m')dnl
define(`confTO_STARTTLS', `2m')dnl

и

FEATURE(`badmx')dnl

и

define(`confSMTP_LOGIN_MSG', `Qmail Server Ready')dnl - маскарадинг =)

Кроме того, я вот думаю, если указать в файлике acccess:

GreetPause:localhost    0
GreetPause:192.168.    0

Будет ли работать? значит, что всем, кроме пользователей локалки будет ПаузаПриветствия равняться 5 секундам, а я из локалки смогу спокойно отправлять почту.

Очень жду Ваших ответов...

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

4. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +1 +/
Сообщение от lavr email on 13-Окт-10, 17:31 
>> зачем? какая средняя загрузка? сколько пользователей и доменов обслуживает релей?
> 40 пользователей в одном домене и 2 в другом.

при таком кол-ве пользователей, sendmail можно без ограничений пускать :)

>> не пытались понять почему это происходит с вашим релеем?
> Ну как сказать не пытался... я не пойму, как это понять. Я
> проверял свой почтовик на возможный релееинг разными тестерами (telnet relay-test.mail-abuse.org,
> http://www.checkor.com) - проверка показала, что всё как бы в роке, и
> почтовик настроен типа грамотно... Возможно причина в том, что наши менеджеры
> выкладывают свои почтовые адреса везде, где только можно, а спамеры их
> сканять, шлют нам почту и пытаются отправить через нас...
> Хорошо, а какие варианты есть, как проверить?

смотреть логи

>[оверквотинг удален]
>> смотреть в сторону ограничений на уровне коннектов: timeout'ы, кол-во соединений
>> в секунду и тд и тп
> хорошо, приведу куски своего конфига:
> +++++++++++++++++++++++++++++++
> FEATURE(dnsbl, `bl.spamcop.net', `"550 Mail from " $&{client_addr} " rejected - see bl.spamcop.net"')
> FEATURE(dnsbl, `cbl.abuseat.org', `"550 Mail from " $&{client_addr} " rejected - see cbl.abuseat.org"')
> FEATURE(dnsbl, `dnsbl.njabl.org', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.njabl.org"')
> FEATURE(dnsbl, `dnsbl.sorbs.net', `"550 Mail from " $&{client_addr} " rejected - see dnsbl.sorbs.net"')
> FEATURE(dnsbl, `list.dsbl.org', `"550 Mail from " $&{client_addr} " rejected - see list.dsbl.org"')
> FEATURE(dnsbl, `zen.spamhaus.org', `"550 Mail from " $&{client_addr} " rejected - see zen.spamhaus.org"')

в dnsbl не вижу особого смысла...

> ....................
> FEATURE(`delay_checks')dnl
> dnl FEATURE(`greet_pause', `5000')dnl - это отключил, так как был косяк с отсылкой
> почты. Некоторые письма заворачиваютя в спам, я сажусь их пересылать по
> правильным адресатам, попутно обучая антиспамер. Так вот, я рассылаю письма быстро
> по ящикам, а ограничение не дает мне этого делать =)

с отсылкой? с приемом вероятно...
greet_pause есть полезная вещь, особенно при ddos и slamming'е
3000 можно смело задать и затем через access регулировать

> define(`confMAX_RCPTS_PER_MESSAGE', `10')
> define(`confMAX_MESSAGE_SIZE', `10000000'')
> define(`confMAX_DAEMON_CHILDREN', `33')

я бы вовсе убрал... и следил бы за server-LA (load average)

> define(`confCONNECTION_RATE_THROTTLE', `10') - новые соединения в секунду. Куда уж меньше?

как впрочем и это, наблюдая за поведением sendmail и LA

> define(`confTO_IDENT', `0') - таймаутик...
> +++++++++++++++++++++++++
> Я думаю еще добавить таумауты:
> define(`confTO_CONNECT', `30s')dnl
> define(`confTO_IDENT', `0')dnl
> define(`confTO_COMMAND', `30s')dnl
> define(`confTO_DATABLOCK', `2m')dnl
> define(`confTO_STARTTLS', `2m')dnl

попробуйте для начала без подкрутки таймаутов:

FEATURE(require_rdns)
FEATURE(blacklist_recipients)
FEATURE(`badmx', `^127\.0\.0\.1')
FEATURE(block_bad_helo)

FEATURE(`greet_pause', `3000')  dnl 3 seconds
FEATURE(`ratecontrol', `nodelay',`terminate')
FEATURE(`conncontrol', `nodelay',`terminate')

define(`confTO_IDENT', `0')
define(`confTO_CONNECT', `1m')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy,noetrn')

если rnds будет критичен, уберите

> и
> FEATURE(`badmx')dnl
> и
> define(`confSMTP_LOGIN_MSG', `Qmail Server Ready')dnl - маскарадинг =)

зачем это, лучше нормальное сообщение про Antispam:

define(`confSMTP_LOGIN_MSG',`Antispam-MTA; "Non-authorized relaying DENIED." ')

> Кроме того, я вот думаю, если указать в файлике acccess:
> GreetPause:localhost    0
> GreetPause:192.168.    0
> Будет ли работать? значит, что всем, кроме пользователей локалки будет ПаузаПриветствия
> равняться 5 секундам, а я из локалки смогу спокойно отправлять почту.

будет при использовании feature с greet_pause
в дополнение посмотрите: ratecontrol + conncontrol
Секция CONNECTION CONTROL в /usr/src/contrib/sendmail/cf/README
Ну и подключите milter-greylist

> Очень жду Ваших ответов...

100 строк в maillog не есть плохо

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

5. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 13-Окт-10, 17:57 
> при таком кол-ве пользователей, sendmail можно без ограничений пускать :)

ну ладно =) Но ограничения на размер письма я все равно оставлю, а то у нас есть люди, которые шлют 40гб на неверные адреса... потом эти письма возвращаются и т.д. и т.п...

> попробуйте для начала без подкрутки таймаутов:
> FEATURE(`badmx', `^127\.0\.0\.1')

С остальным ясно, но что значит запись `^127\.0\.0\.1'?

> если rnds будет критичен, уберите

Убрал =)

FEATURE(blacklist_recipients)
FEATURE(`badmx')
FEATURE(block_bad_helo)

Это есть, просто я при описании своего конфига не сказал об этом =)

>> Кроме того, я вот думаю, если указать в файлике acccess:
>> GreetPause:localhost    0
>> GreetPause:192.168.    0
>> Будет ли работать? значит, что всем, кроме пользователей локалки будет ПаузаПриветствия
>> равняться 5 секундам, а я из локалки смогу спокойно отправлять почту.
> будет при использовании feature с greet_pause
> в дополнение посмотрите: ratecontrol + conncontrol
> Секция CONNECTION CONTROL в /usr/src/contrib/sendmail/cf/README

Оке, спасибо

> 100 строк в maillog не есть плохо

а 62 тысячи за 17 часов? =)

и большое спасибо за ответы...!

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

6. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +1 +/
Сообщение от lavr email on 13-Окт-10, 18:21 
>> при таком кол-ве пользователей, sendmail можно без ограничений пускать :)
> ну ладно =) Но ограничения на размер письма я все равно оставлю,
> а то у нас есть люди, которые шлют 40гб на неверные
> адреса... потом эти письма возвращаются и т.д. и т.п...

правильно, зачем комментировать правильные вещи.

>> попробуйте для начала без подкрутки таймаутов:
>> FEATURE(`badmx', `^127\.0\.0\.1')

badmx - reject писем с envelope в котором доменная часть имеет badmx, MX резолвится
в RR=A, позволяет использовать регулярные выражения, кстати, by default:

^(127\.|10\.|0\.0\.0\.0)

даже лучше

> С остальным ясно, но что значит запись `^127\.0\.0\.1'?

там же в cf/README расписано

>> если rnds будет критичен, уберите
> Убрал =)

сперва с ним лучше попробуйте, потом уберете

>[оверквотинг удален]
>>> GreetPause:localhost    0
>>> GreetPause:192.168.    0
>>> Будет ли работать? значит, что всем, кроме пользователей локалки будет ПаузаПриветствия
>>> равняться 5 секундам, а я из локалки смогу спокойно отправлять почту.
>> будет при использовании feature с greet_pause
>> в дополнение посмотрите: ratecontrol + conncontrol
>> Секция CONNECTION CONTROL в /usr/src/contrib/sendmail/cf/README
> Оке, спасибо
>> 100 строк в maillog не есть плохо
> а 62 тысячи за 17 часов? =)

так посмотрите уровень лога sendmail, и что логгируется в maillog (syslogd)

> и большое спасибо за ответы...!

прим: можно много чего навесить к sendmail'у для того чтобы от вас отвалили спамеры
или прекратили ddos'ить, как отвалят, можно дать послабление.
Как вариант, можно изменить ip-address почтового релея (MX в DNS и на сервере) и
посмотреть результат.

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

7. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 14-Окт-10, 13:06 
Ну ладно, конфиг привел к такому виду:

++++++++++++++++++++

...........

define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy,noetrn')

FEATURE(`badmx', `^127\.0\.0\.1')dnl
FEATURE(`block_bad_helo')dnl
FEATURE(`delay_checks')dnl
FEATURE(`greet_pause', `3000')dnl
FEATURE(`ratecontrol', `nodelay',`terminate')
FEATURE(`conncontrol', `nodelay',`terminate')

define(`confMAX_RCPTS_PER_MESSAGE', `10')
define(`confBAD_RCPT_THROTTLE', `1')dnl
define(`confMAX_MESSAGE_SIZE', `10000000'')
define(`confMAX_DAEMON_CHILDREN', `60')
define(`confCONNECTION_RATE_THROTTLE', `10')

define(`confTO_CONNECT', `1m')dnl
define(`confTO_IDENT', `0')
define(`confTO_HELO', `30s')dnl
define(`confTO_STARTTLS', `1m')dnl

...........

++++++++++++++++++++

Только лог меньше не становится =(

12 часов - 60 тыщ... IP не сменить - у меня он один выделенный =)

Тэээкс, а как можно проверить весь функционал? Вот как, например, при помощи ehlo я могу badmx проверить, так хочу и с остальным разобраться - работает или нет...

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

8. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +1 +/
Сообщение от lavr email on 14-Окт-10, 13:25 
> Ну ладно, конфиг привел к такому виду:
> ++++++++++++++++++++
> ...........
> define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy,noetrn')

nobodyreturn добавьте в верхнее, чтобы обратно только заголовки отвергнутых писем
возвращались.

>[оверквотинг удален]
> define(`confCONNECTION_RATE_THROTTLE', `10')
> define(`confTO_CONNECT', `1m')dnl
> define(`confTO_IDENT', `0')
> define(`confTO_HELO', `30s')dnl
> define(`confTO_STARTTLS', `1m')dnl
> ...........
> ++++++++++++++++++++
> Только лог меньше не становится =(
> 12 часов - 60 тыщ... IP не сменить - у меня он
> один выделенный =)

настройки логгирования смотрели?

> Тэээкс, а как можно проверить весь функционал? Вот как, например, при помощи
> ehlo я могу badmx проверить, так хочу и с остальным разобраться
> - работает или нет...

с другой удаленной машины, например через telnet или написать маленькие скрипты на
perl/php/python или bash+tools

прим: поставьте trafshow(или используйте tcpdump) что-ли и snort и посмотрите что с вами
пытаются сделать и откуда, наберите статистику и в firewall или письма на владельцев
сети с которых вас бомбят почтой (всяких китайцев и пр. в firewall без писем к AS/LIR)

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

9. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 14-Окт-10, 20:21 
> с другой удаленной машины, например через telnet или написать маленькие скрипты на
> perl/php/python или bash+tools

Ну я понимаю, что через телнет. Вот, например bad_helo походу не работает:

ehlo sexdrugs
250-this.is-myServer.ru Hello 14.204-client.notlocalmachine.ru [XX.XX.XXX.XXX], pleased to
meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 10000000
250-DSN
250-AUTH LOGIN
250-STARTTLS
250-DELIVERBY
250 HELP
quit

=(

> nobodyreturn добавьте в верхнее, чтобы обратно только заголовки отвергнутых писем

возвращались.

Добавил

> настройки логгирования смотрели?

Нет, но уже смотрю!

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

10. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +1 +/
Сообщение от lavr email on 15-Окт-10, 14:45 
>[оверквотинг удален]
> 250-STARTTLS
> 250-DELIVERBY
> 250 HELP
> quit
> =(
>> nobodyreturn добавьте в верхнее, чтобы обратно только заголовки отвергнутых писем
> возвращались.
> Добавил
>> настройки логгирования смотрели?
> Нет, но уже смотрю!

block_bad_helo  Reject messages from SMTP clients which provide a HELO/EHLO
                argument which is either unqualified, or is one of our own
                names (i.e., the server name instead of the client name).
                This check is performed at RCPT stage and disabled for the
                following cases:
                - authenticated sessions,
                - connections from IP addresses in class $={R}.
                Currently access_db lookups can not be used to
                (selectively) disable this test, moreover,
                FEATURE(`delay_checks')
                is required.

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

11. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 15-Окт-10, 21:19 
Читал до просветления README, полное просветление еще не наступило, но уже есть подвижки.

1. Для всех FEATURES и define's обозначил хитрые кавычки сендмыла
2. Убрал нафиг divert(-1) и divert(0) - как оказалось они то и не нужны, а просто сворачивают простыню текста, что написана между ними не дают ей добавиться в конфиг.
3. Удалил local_lmtp и кусок кода:

FEATURE(`local_lmtp')
FEATURE(`local_procmail')dnl

преобразовал к виду:

FEATURE(`local_procmail', `/usr/local/bin/procmail')dnl

4. Прочитал про ratecontrol и concontrol не только в разделе CONNECTION CONTROL, но и в разделе про FEATURES:

ratecontrol     Enable simple ruleset to do connection rate control
                checking.  This requires entries in access_db of the form

                        ClientRate:IP.ADD.RE.SS         LIMIT

                The RHS specifies the maximum number of connections
                (an integer number) over the time interval defined
                by ConnectionRateWindowSize, where 0 means unlimited.

                Take the following example:

                        ClientRate:10.1.2.3             4
                        ClientRate:127.0.0.1            0
                        ClientRate:                     10

                10.1.2.3 can only make up to 4 connections, the
                general limit it 10, and 127.0.0.1 can make an unlimited
                number of connections per ConnectionRateWindowSize.

conncontrol     Enable a simple check of the number of incoming SMTP
                connections.  This requires entries in access_db of the
                form

                        ClientConn:IP.ADD.RE.SS         LIMIT

                The RHS specifies the maximum number of open connections
                (an integer number).

                Take the following example:

                        ClientConn:10.1.2.3             4
                        ClientConn:127.0.0.1            0
                        ClientConn:                     10

                10.1.2.3 can only have up to 4 open connections, the
                general limit it 10, and 127.0.0.1 does not have any
                explicit limit.

Делаю вывод, что надо править файлик access и привести его к виду:
127.0.0         OK
localhost       RELAY
this-is-my-domain.ru   RELAY
GreetPause:localhost    0
GreetPause:192.168.0.    0
-----то, что выше - уже есть-----
ClientRate:127.0.0.1            0
ClientRate:                     10
ClientConn:10.1.2.3             4
ClientConn:127.0.0.1            0
ClientConn:                     10

Только необходимо добавить время ConnectionRateWindowSize.

Теперь вопросы:

1. Я так понимаю, что я "недодобавил" в access строку, касаемо SSL, - т.е. надо написать правило, что разрешение на отсыл почты есть только у тех, кто авторизовался.
2. В чем разница между связкой ratecontrol c ConnectionRateWindowSize и confCONNECTION_RATE_THROTTLE?
ratecontrol - количество соединений в принципе в определенный промежуток времени, например в секунду, а confCONNECTION_RATE_THROTTLE - это кол-во новых соединений в секунду - ну и в чем разница?

грейлистинг пока не цепляю - мне бы настроить правильно то, что имею, проверить, все ли работает, перевести на 465 порт отсылку и только тогдаааа...

Очень жду Ваших ответов и огромное спасибо lavr за активное участие в теме и помощь!

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

12. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от lavr email on 18-Окт-10, 15:10 
>[оверквотинг удален]
> подвижки.
> 1. Для всех FEATURES и define's обозначил хитрые кавычки сендмыла
> 2. Убрал нафиг divert(-1) и divert(0) - как оказалось они то и
> не нужны, а просто сворачивают простыню текста, что написана между ними
> не дают ей добавиться в конфиг.
> 3. Удалил local_lmtp и кусок кода:
> FEATURE(`local_lmtp')
> FEATURE(`local_procmail')dnl
> преобразовал к виду:
> FEATURE(`local_procmail', `/usr/local/bin/procmail')dnl

зачем? достаточно FEATURE(`local_procmail'), by default там и путь и флаги правильные,
если память не изменяет.
Если вы хотите использовать procmail в качестве LDA, то в конец добавить:

MAILER(procmail) (перед MAILER(smtp) )

> 4. Прочитал про ratecontrol и concontrol не только в разделе CONNECTION CONTROL,
> но и в разделе про FEATURES:

<skipped>

> Только необходимо добавить время ConnectionRateWindowSize.

by default ConnectionRateWindowSize=60 секунд

> Теперь вопросы:
> 1. Я так понимаю, что я "недодобавил" в access строку, касаемо SSL,
> - т.е. надо написать правило, что разрешение на отсыл почты есть
> только у тех, кто авторизовался.

вы до этого ничего про sendmail + auth + ssl не говорили, посему я не ведаю
что и куда надо прописать касательно SSL

> 2. В чем разница между связкой ratecontrol c ConnectionRateWindowSize и confCONNECTION_RATE_THROTTLE?

rate и connection control это лишь механизмы управления и ограничения, макросы
ConnectionRateWindowSize задает общее время относительно которого rate/limit control
будут использоваться

> ratecontrol - количество соединений в принципе в определенный промежуток времени, например
> в секунду, а confCONNECTION_RATE_THROTTLE - это кол-во новых соединений в секунду
> - ну и в чем разница?

ну в cf/README все же расписано

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

13. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 18-Окт-10, 16:49 
> ну в cf/README все же расписано

Тээкс, почитал еще раз... Просветление стало больше =)

- define(`confCONNECTION_RATE_THROTTLE', `10') - количество соединений в ед. времени в принципе.
- FEATURE(`ratecontrol') - ограничение кол-ва соединений с одного ip в ед. времени
- FEATURE(`conncontrol') - ограничение одновременных соединений с одного ip

Теперь вкурил разницу =)

Ладно, если сделаю так:

ClientRate:192.168.0.            0
ClientRate:                     10

ClientConn:192.168.0.            0
ClientConn:                     10

И выставлю ConnectionRateWindowSize=1, то это адекватно будет?:)

> вы до этого ничего про sendmail + auth + ssl не говорили, посему я не ведаю
> что и куда надо прописать касательно SSL

Ну даа.. связка вообще у меня следующая: Sendmail+Procmail+ClamAV+SpamAssassin+CyrusSASL+OpenWebMail

В перспективе хочу прикрутить MIMEDefang и GreyListing, а также сменить OpenWebMail на RoundCube (он, говорят, ну ащеееее).

Задачи:
- Перевести на 465 порт и только на него, чтобы 25 порт вообще даже не слушался!
- Настроить нормально сендмыл (книжечку я себе скачал сендмыловскую с летучей мышью, сижу читаю)

Ну и, наверно всё =) Думаю, получится неплохая почта!

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

14. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от lavr email on 18-Окт-10, 18:10 
>[оверквотинг удален]
> Ладно, если сделаю так:
> ClientRate:192.168.0.          
> 0
> ClientRate:          
>          10
> ClientConn:192.168.0.          
> 0
> ClientConn:          
>          10
> И выставлю ConnectionRateWindowSize=1, то это адекватно будет?:)

сомневаюсь, еще раз прочитайте про ConnectionRateWindowSize, by default=60
вроде, значит значения ClientConn будут относительно этого default, если
ClientConn=10, то 60/10 = 6 в сек, я так понимаю

>> вы до этого ничего про sendmail + auth + ssl не говорили, посему я не ведаю
>> что и куда надо прописать касательно SSL
> Ну даа.. связка вообще у меня следующая: Sendmail+Procmail+ClamAV+SpamAssassin+CyrusSASL+OpenWebMail

ну и где здесь SSL/TLS?!
если подразумевается smtp+auth, то это sendmail + cyrussasl

> В перспективе хочу прикрутить MIMEDefang и GreyListing, а также сменить OpenWebMail на
> RoundCube (он, говорят, ну ащеееее).

можно mimedefang или amavisd-new

> Задачи:
> - Перевести на 465 порт и только на него, чтобы 25 порт
> вообще даже не слушался!

и как тогда почта будет работать? SMTP работает по 25/tcp

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

15. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 18-Окт-10, 19:11 
> ну и где здесь SSL/TLS?!
> если подразумевается smtp+auth, то это sendmail + cyrussasl

Да, но sendmail собран с:

[root@mail /etc]# /usr/sbin/sendmail -d0.1 -bv root
Version 8.14.3
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2
                SCANF STARTTLS TCPWRAPPERS USERDB XDEBUG

Поэтому я установил OpenSSL и в конфиге сендмыла, соответственно:

define(`confCACERT_PATH', `/etc/mail/certs')dnl
define(`confCACERT', `/etc/mail/certs/cacert.pem')dnl
define(`confSERVER_CERT', `/etc/mail/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/mail/certs/sendmail.pem')dnl
define(`confCLIENT_CERT', `/etc/mail/certs/sendmail.pem')dnl
define(`confCLIENT_KEY', `/etc/mail/certs/sendmail.pem')dnl
DAEMON_OPTIONS(`Family=inet, Port=465, Name=MTA-SSL, M=s')dnl

TRUST_AUTH_MECH(`LOGIN')dnl
define(`confAUTH_MECHANISMS', `LOGIN')dnl

Но SSL работает по 465 порту! Получается что -

> и как тогда почта будет работать? SMTP работает по 25/tcp

- перевестить на 25 порт невозможно? или можно в конфиге, приведенном выше, изменить строчку:

DAEMON_OPTIONS(`Family=inet, Port=465, Name=MTA-SSL, M=s')dnl

на

DAEMON_OPTIONS(`Family=inet, Port=25, Name=MTA-SSL, M=s')dnl

и все будет пучком? Будут юзаться сертификаты?

Ну даа... я оочень большой новичек в этом деле... не стыдно признаться...

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

16. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от lavr email on 19-Окт-10, 14:15 
>[оверквотинг удален]
> define(`confAUTH_MECHANISMS', `LOGIN')dnl
> Но SSL работает по 465 порту! Получается что -
>> и как тогда почта будет работать? SMTP работает по 25/tcp
>  - перевестить на 25 порт невозможно? или можно в конфиге, приведенном
> выше, изменить строчку:
> DAEMON_OPTIONS(`Family=inet, Port=465, Name=MTA-SSL, M=s')dnl
> на
> DAEMON_OPTIONS(`Family=inet, Port=25, Name=MTA-SSL, M=s')dnl
> и все будет пучком? Будут юзаться сертификаты?
> Ну даа... я оочень большой новичек в этом деле... не стыдно признаться...

мух от котлет отделите и все станет понятно.

sendmail может работать как клиент при соединение с другим MTA (исходящая почта или со SMART хостом, а может как сервер при входящих соединениях от MUA или MTA для которых он
smart host)

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

17. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от mr brightside email(ok) on 20-Окт-10, 19:35 
> мух от котлет отделите и все станет понятно.
> sendmail может работать как клиент при соединение с другим MTA (исходящая почта
> или со SMART хостом, а может как сервер при входящих соединениях
> от MUA или MTA для которых он
> smart host)

Ну ладно. Эт я понимаю. МТА устанавливает соединения через 25 порт. Прием: идет коннект на 25ый порт, потом принимается письмо, закрывается соединение и бла бла бла... Но, отправку то через 25ый порт запретить можно? При этом, исходя из конфига получается, что обязательно будут заюзаны сертификаты (мы перешли на 465ый порт) -> спамеры врят ли это будут юзать =) Пускай будут пытаться прислать, но зато отрелеить не смогут, потому что 25ый порт закрыт. Или sendmail'у нужен обязательно именно 25 порт и для отправки тоже?

Просто, например, если я укажу в бате или аутлуке порт отправки 465 при текущей конфигурации, приму сертификат и попытаюсь отправить письмо - оно уйдет.

Кстати по поводу syslog. В конфиге ничего не сказать про maillog, вернее, - ничего примечательного. Как я понимаю, просто сказано, что mail события надо записывать туда то...:

++++++++++++++
# $FreeBSD: src/etc/syslog.conf,v 1.28.20.1 2009/04/15 03:14:26 kensmith Exp $
#
#       Spaces ARE valid field separators in this file. However,
#       other *nix-like systems still insist on using tabs as field
#       separators. If you are sharing this file between systems, you
#       may want to use only tabs as field separators here.
#       Consult the syslog.conf(5) manpage.
*.err;kern.warning;auth.notice;mail.crit                /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err   /var/log/messages
security.*                                      /var/log/security
auth.info;authpriv.info                         /var/log/auth.log
mail.info                                       /var/log/maillog
lpr.info                                        /var/log/lpd-errs
ftp.info                                        /var/log/xferlog
cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info                                   /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.*                                            /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.*                                            @loghost
# uncomment these if you're running inn
# news.crit                                     /var/log/news/news.crit
# news.err                                      /var/log/news/news.err
# news.notice                                   /var/log/news/news.notice
!startslip
*.*                                             /var/log/slip.log
!ppp
*.*                                             /var/log/ppp.log
++++++++++++++

Черт с ним, хочу узнать уровень логирования sendmail.

Смотрю в sendmail.cf:

[root@mail /etc/mail]# more sendmail.cf | grep LogLevel
O LogLevel=9
#O Milter.LogLevel

Вижу, что для мильтера вообще лог левел закоменчен... 9ка - это по дефолту, так как в mc-файле я не определял confLOG_LEVEL.

Про уровни логирования sendmail написано в op.me, но, блин, там свихнуться можно...

Ну да ладно. Добавил наконец для ratecontrol и conncontrol записи в access:

ClientRate:192.168.0.   0
ClientRate:127.0.0.1    0
ClientRate:     10
ClientConn:127.0.0.1    0
ClientConn:192.168.0.   0
ClientConn:     10

Попробую пока так. Лог очистил. Посмотрим, что будет с утра...

И, черт, я так и не понял, как проверить работоспособность FEATURES =)

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

2. "confMAX_DAEMON_CHILDREN. Sendmail отвергает соединения."  +/
Сообщение от tux2002 email(ok) on 13-Окт-10, 12:09 
Я не специалист по sendmail, но думаю что для ограничения количества подключений наверное есть опция конфигурационного файла, и контроль количества процессов потомков наверное не для этого.
А журналы сервера большие - ну дак у кого они маленькие ;), включайте проверки - spf, sender callout, verify helo.


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

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

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




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

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