Портится авторизация в Exim при нагрузке.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-29 15:52:02

Здравствуйте.

Замечаю, что при нагрузке портится авторизация. Выглядит это так:

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

mailq
...
 3h  205K 1LSTwX-000Pyy-9P <"uid=somemail@domain.ru U=somemail@domain.ru"@domain.ru>
          rcpt1@domain2.ru

 2h  2.0K 1LSUb4-0001hf-MD <>
          "uid=somemail@domain.ru U=somemail@domain.ru"@domain.ru

78m  2.0K 1LSV4N-0002m9-2L <>
          "uid=somemail@domain.ru U=somemail@domain.ru"@domain.ru
...
и такого много. Такое возникает когда увеличивается нагрузка на почтовик. Вот, например сегодня, идет какая-то атака...

возможно тут ДБ не справляется, или еще что. В спокойные периоды времени такого нет. Все хорошо.

Как бороться с этим?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-29 16:38:10

Простите, портится не авторизация, а адрес отправителя!
Увидел это:

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

2009-01-28 16:49:06 1LSAmu-0001GV-Mq <= "uid=sender@domain.ru U=sender@domain.ru"@domain.ru 
H=(LocalHost) [x.x.x.x]:8574 I=[194.x.x.x]:25 P=esmtpa A=login:uid=sender@domain.ru 
U=sender@domain.ru S=112561 from <sender@domain.ru> for somercpt@domain2.ru
Авторизация прошла нормально, а вот адрес отправителя попртился.
Почему? :(
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-29 17:22:51

Нашел проблему, разбираюсь с утентификаторами.

Мне надо чтобы могли пользователи с чужими email отправлять почту через мой почтовый сервер, авторизируясь под специальной учетной записью.
Сейчас уже смог добиться устранения этой ошибки (control = submission/domain=), но работает не совсем так как хочется.

Как бы добиться совсем того результата, который хочется?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-29 17:26:23

И до сих пор не понятно почему на нагрузках до 100 одновременных подключений к exim этой проблемы нет, а при больших нагрузках всплывает... :cz2:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Alex Keda » 2009-01-29 23:34:06

вы покажите что именно щас не так.
телепатов тут нет.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-29 23:48:26

Да глупости у меня были тут в server_set_id:

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

login:
  driver = plaintext
  public_name = LOGIN
  server_prompts = "Username:: : Password::"
  server_condition = "${if and { \
                        {!eq{$1}{}} \
                        {!eq{$2}{}} \
                        {crypteq{$2}{${lookup mysql{MYSQL_Q_AUTHPWD1}{$value}fail}}} \
                        } {yes}{no}}"
  server_set_id = uid=$1 U=$1
control=submission не было вообще для авторизированных пользователей. Сейчас добавил и наблюдаю. Пока все хорошо. Буду несколько дней наблюдать, потом сообщу.

Сейчас так:

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

...
        accept  authenticated   = *
                set acl_m_sndrrcptins   = ${lookup mysql{MYSQL_Q_SNDRRCPT_INS}}
                #control                = submission/domain=
                control         = submission/sender_retain
...
Так все хорошо, а при submission/domain в mail from уходит учетная запись авторизации, а не настроенная у клиента, в rfc822-заголовках все правильно. При sender_retain все работает как надо. Но пока не понятно, будет ли это работать при увеличенной нагрузке. Ведь и без control=... работало на не очень критичных нагрузках.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Alex Keda » 2009-01-29 23:50:26

будет. если бы не работало - были бы пачки народу по всем форумам с риками про экзим гавно =)))
===
а вообще - про нагрузки - вам до mail.ru далеко, а у них экзим, хоть и пилёный =)))
и работает.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-30 11:41:15

Я подозреваю, что проблема в связке с БД.
У меня при вчерашней атаке было под 25% в топе загрузка процессора mysqld. Процесс exim тоже некисло грузил.. ну и свои юзеры стали слать почту и у нескольких подряд всплыли проблемы. В основном у тех, кто пользуется общим аккаунтом для авторизации и не-моими ящиками (то есть авторизируясь шлют через мой почтовик).

... блин, везет мне на какие-то подземные стуки. :sorry:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Alex Keda » 2009-01-30 11:50:43

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

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-30 13:23:47

уже сделал! :)
Спасибо за идею. :drinks:

Но меня пугает что mysql так разрывается от простых запросиков... да, их много, но так закипать не должен.
Блин, вижу же что реально принимается около 1% почты из числа коннектов, а строить лимиты чревато... эх.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-30 13:37:04

А еще проанализировал все sql-запросы и таблицы, некоторые вынес из sql и вложил в конфиг, так как они не меняются, а mysql лишний раз дергается. Запустил логи mysql и получил почву для размышлений. Вот.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Alex Keda » 2009-01-30 14:29:42

ну, конфиги же у всех типовые - на все случаи жизни.
а когда случай особенный - есть смысл заняться оптимизацией.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-30 16:11:42

Таки проблема осталась :(

Пользователь авторизируется и от него принимается письмо так:
2009-01-30 16:06:36 1LSt4u-000BYT-Hj <= "xx@xx1.ru"@xx2.ru H=(LocalHost) [85.x.x.x]:9636 I=[194.x.x.x]:25 P=esmtpa A=login:xx@xx1.ru S=3048 id=000001c982db$93f1dd00$bbd59700$@ru from <xx@xx1.ru> for yy@yy.ru
Почему добавляется xx2.ru домен? :st:
Блин, редко, но добавляется!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Портится авторизация в Exim при нагрузке.

Непрочитанное сообщение Laa » 2009-01-30 17:04:05

Убрал 4 sql-запроса из конфига, увеличил максимальное кол-во подключений к sql, и тем не менее стало еще больше тут:

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

Queries per second avg: 11.650
было до 8. :oops:
Таки не хватало.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!