Почтовые сервера EXIM, sendmail, postfix, Dovecot и инфраструктура: MTA/MDA, антиспам, web‑почта, маршрутизация и эксплуатация почтовых систем.
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
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!!!
Laa
-
Хостинг HostFood.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
- Откуда: Украина, Россия
Непрочитанное сообщение
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
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-01-29 17:22:51
Нашел проблему, разбираюсь с утентификаторами.
Мне надо чтобы могли пользователи с чужими email отправлять почту через мой почтовый сервер, авторизируясь под специальной учетной записью.
Сейчас уже смог добиться устранения этой ошибки (control = submission/domain=), но работает не совсем так как хочется.
Как бы добиться совсем того результата, который хочется?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-01-29 17:26:23
И до сих пор не понятно почему на нагрузках до 100 одновременных подключений к exim этой проблемы нет, а при больших нагрузках всплывает...

exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
Alex Keda
- стреляли...
- Сообщения: 35504
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2009-01-29 23:34:06
вы покажите что именно щас не так.
телепатов тут нет.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
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!!!
Laa
-
Alex Keda
- стреляли...
- Сообщения: 35504
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2009-01-29 23:50:26
будет. если бы не работало - были бы пачки народу по всем форумам с риками про экзим гавно

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

))
и работает.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-01-30 11:41:15
Я подозреваю, что проблема в связке с БД.
У меня при вчерашней атаке было под 25% в топе загрузка процессора mysqld. Процесс exim тоже некисло грузил.. ну и свои юзеры стали слать почту и у нескольких подряд всплыли проблемы. В основном у тех, кто пользуется общим аккаунтом для авторизации и не-моими ящиками (то есть авторизируясь шлют через мой почтовик).
... блин, везет мне на какие-то подземные стуки.

exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
Alex Keda
- стреляли...
- Сообщения: 35504
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2009-01-30 11:50:43
ну значит не экзим а база виновата.
число коннектов разрешите больше.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-01-30 13:23:47
уже сделал!
Спасибо за идею.
Но меня пугает что mysql так разрывается от простых запросиков... да, их много, но так закипать не должен.
Блин, вижу же что реально принимается около 1% почты из числа коннектов, а строить лимиты чревато... эх.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-01-30 13:37:04
А еще проанализировал все sql-запросы и таблицы, некоторые вынес из sql и вложил в конфиг, так как они не меняются, а mysql лишний раз дергается. Запустил логи mysql и получил почву для размышлений. Вот.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
Alex Keda
- стреляли...
- Сообщения: 35504
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2009-01-30 14:29:42
ну, конфиги же у всех типовые - на все случаи жизни.
а когда случай особенный - есть смысл заняться оптимизацией.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
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 домен?
Блин, редко, но добавляется!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-01-30 17:04:05
Убрал 4 sql-запроса из конфига, увеличил максимальное кол-во подключений к sql, и тем не менее стало еще больше тут:
было до 8.
Таки не хватало.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa