Регистрация...

Eserv Forum / E4 / Eserv 4 beta / smtpsend4 - плодит процессы

wikipost // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Хелп! Плодит процессы smtpsend4, забивает 98% проца, сейчас процессов висит штук сто, навскидку. Перевёл всех юзеров на Е4 — и началось (сервак с Е3 умер физически в субботу).

Что может быть? Пользователей — порядка сотни, машина — под HyperV двупроцессорный Xeon, 2 гига мозгов, w2003. Антивирь не стоит.
 
Комментарии к этой версии (01.03.2010 16:38) [~shajtan] ed7eb5f6
АвторДатаТекстtags
pig01.03.2010 20:33
Ключ -z в командных строках, конечно, избавит от толпы агентов Смитов. Но было бы невредно изучить логи этой толпы, чтобы выяснить, зачем они в таком количестве набежали. Есть подозрения, что они гоняют письма по кругу.
wikipost
ac02.03.2010 08:09
Да, похоже на зацикливание.

Вы обновления E4 устанавливали? Какая дата у acSMTP\conf\OnStartup.rules.txt в частности, там до какой-то версии было отключено детективание зацикливаний (552 ERR loopback detected). Хотя детектирование — слабое утешение (причину не устраняет), но по крайней мере ограничивает к-во логов, в которых далее разбираться в поисках причины зацикливания.
wikipost
shajtan02.03.2010 10:26
ред: 02.03.2010 11:18
Обновления ставлю всегда, как только замечаю их наличие. Дата у ?OnStartup.rules.txt — 22 ?января ?2010 ?г., 8:02:10. Строку с 552 ERR loopback detected нашёл, незакомментирована.
Проверил — после чистого ребута сервера было четыре процесса. С открытым менеджером отправил письмо на внешний ящик — сразу выскочили ещё два, и так и остались. Почему два — не знаю, возможно, кто-то ещё в это время отправлял либо получило письмо снаружи с Pop2Smtp. Пока писал это сообщение — количество процессов выросло до полусотни.

Какие логи рыть, чтобы понять, в чём фишка?


кое-что нарыл в лоре smtpsend (был, кстати, 900 метров аж). Убил все сервисы Е4, удалил все файлы логов — появился сразу свежий файлик лога, похоже, в него писали только оставшиеся процессы smtpsend-а. Все строки были до удивления похожи:
2010-03-02 10:32:11;garpun@xxx.ru;caleb_mackenzie586@ms14.hinet.net;0;<11372$43492359$30@localhost>;ms14a.hinet.net;10060; 2010-03-02 10:32:11;garpun@xxx.ru;garrett_melanie56@ms13.hinet.net;0;<11764$45008890$32@localhost>;ms13a.hinet.net;10060; 2010-03-02 10:32:11;garpun@xxx.ru;jason_sophia687@ms3.hinet.net;0;<14300$47681921$8@localhost>;ms3a.hinet.net;10060; 2010-03-02 10:32:11;garpun@xxx.ru;trevor_trinity258@ms1.hinet.net;0;<11232$47518609$26@localhost>;ms1a.hinet.net;10060; 2010-03-02 10:32:11;garpun@xxx.ru;raymond_jocelyn698@ms4.hinet.net;0;<10804$47153812$14@localhost>;ms4a.hinet.net;10060; 2010-03-02 10:32:11;garpun@xxx.ru;michael_hannah456@ms8.hinet.net;0;<11592$47037062$24@localhost>;ms8a.hinet.net;10060; 2010-03-02 10:32:23;garpun@xxx.ru;mason_sierra951@ms12.hinet.net;0;<11344$48413921$20@localhost>;ms12a.hinet.net;10061;


garpun — это мыло стоит в качестве ящика администратора в настройках E4. Реально такой ящик существует. Я так понимаю, что что-то пытается на эти адреса отправить? Ребята, помогите мне и всем на будущее — напишите мануал, чтобы хотя-бы логи разбирать было попроще. Первое поле — время, второе — это откуда была отправка? И что за запись типа <11344$48413921$20@localhost>?

Ребята, возможно, и мой косяк какой-то. Сейчас глянул — жуткое дело вообще творилось в out, в retry — десятки тысяч сообщений. В общем, не стал разбираться, что там хорошее а что нет — снёс всё к чертям, почистил всё что можно, буду ждать результата. Если будет повторятся — подниму панику снова =) Пока что всё вроде бы бегает.
wikipost
ac02.03.2010 11:30
Эти файлы из out, retry и temp отсортируйте по дате и посмотрите, с чего все началось. Кто отправитель (email, ip). Раз так много явно спамерских получателей, то возможно спамер подобрал пароль к одному из ваших ящиков, тогда надо сменить. (Тут рядом в форуме по E3 только что выявился такой случай). В этом ничего необычного, пользователи часто придумывают лёгкие пароли, и роботы их через pop3 подбирают (в интерфейсе E4 в разделе "Пользователи/Учетные записи/Попытки авторизации" эти роботы себя серийно выдают). Если мобильных пользователей нет, то можно в pop3 указать локальный сетевой интерфейс, чтобы спамеров не соблазнять на подбор паролей.

Если IP отправителя локальный, то надо смотреть что там было с pop2smtp особенного.
wikipost
shajtan02.03.2010 12:49
ред: 02.03.2010 12:50
Так, более-менее ситуацию понял. Всё с программной стороны правильно, проблема похоже в настройках почты. Помогите, пожалуйста, разобраться.

Вот сейчас лежит в out письмо, явно спамерское:
Subject: За Новгородскими чудесами From: Турагентство <hftriydvvpwr@prometheuslabs.com> Date: Tue, 02 Mar 2010 15:36:56 +0700 To: <wdaxkgrer@rambler.ru> For: wdaxkgrer@rambler.ru Received: from [192.168.1.1] (helo=localhost) by mail.xxx.ru (acSMTP/4.0.4708) with ESMTP id 1258.0.202049 for <stg@ххх.ru>; Tue, 02 Mar 2010 11:37:07 +0300


И никак, бедное, не может отправиться:
I'm sorry to have to inform you that the message returned below could not be delivered to one or more destinations. NOT delivered to: For: wdaxkgrer@rambler.ru Reason: imx1.rambler.ru: 550 (550 5.1.1 <wdaxkgrer@rambler.ru>: Recipient address rejected: user not found) imx2.rambler.ru: 550 (550 5.1.1 <wdaxkgrer@rambler.ru>: Recipient address rejected: user not found)


И вот так и висит. И висеть, похоже, будет до скончания времён, порождая те самые проблемы, с которыми я и начал этот топик.

Вопрос — как отрезать такое дерьмищще? Реально пользователя stg@ххх.ru у нас нету, но вариант с отрубанием НСП вообще — не пройдёт, очень часто люди ошибаются при отправке писем к нам, и всё НСП-корреспонденция попадает в приёмную, где секретарь время от времени просматривает её и выуживает полезные письма. Да, POP наружу у меня не светит — только SMTP, причём не напрямую, а через два шлюза, пробросом портов.
wikipost
ac02.03.2010 14:41
Заголовок письма лучше полностью приведите (можете выслать на support@eserv.ru). Что-то он у вас на настоящий не похож, Received внизу. Если эти данные Received: from [192.168.1.1] (helo=localhost) by mail.xxx.ru (acSMTP/4.0.4708) реальные, то ваш спамер прямо на вашем сервере и сидит. То ли бот вам установили, то ли через прокси локальными прикидываются... То ли это заблудившееся спамерское письмо, принятое сначала по POP3 — без полного комплекта исходных Received понять сложно.

shajtan пишет: И никак, бедное, не может отправиться:
I'm sorry to have to inform you that the message returned below

Это вы уже возвращенное письмо цитируете. Т.е. конкретно оно-то уже попыталось отправиться, не вышло (на оба MX'а) и завернулось обратно. Причем обратно видимо этому спамеру с локалхоста

shajtan пишет: Реально пользователя stg@ххх.ru у нас нету

Админский-то ящик должен реально существовать, ведь его адрес ставится в from таких вот отлупов. И если его нет, то соответственно и "отлуп на отлуп" (при невозможности доставки отлупа тому Турагенству, например) слать некуда, беда.
wikipost
ac02.03.2010 14:44
ac пишет: То ли это заблудившееся спамерское письмо, принятое сначала по POP3

В этом случае среди Received будет запись "(helo=pop2smtp)".
wikipost
shajtan02.03.2010 15:06
Насчёт 192.168.1.1 в заголовке: тут всё просто. У меня организовано так:
  1. Наружу смотрит сервак на IPCop, с внешним статическим IP, прописаным как наш MX.
  2. Всё, что он получает по 25 порту, он пересылает внутрь сети предприятия как раз с этого адреса, 192.168.1.1 (заодно проверяя на вирусы и спам) на аппаратный фаерволл. Который уже пересылает всё, тупо через проброс портов, на сервер E4. Следов фаерволл в логах не оставляет, а вот шлюз — да, так-как работает как прокси.
Может быть, я вам тогда всё письмо перешлю, которое у меня сейчас лежит в out? eml в аттач прикреплю и отошлю.
wikipost
ac02.03.2010 15:37
Ага, выходит это IPCop не поймал этого спамера, и помог его письмам добраться до Eserv'а, прикинувшись локальным отправителем. Это еще хуже firewall'ов/nat'ов...

shajtan пишет: Может быть, я вам тогда всё письмо перешлю, которое у меня сейчас лежит в out? eml в аттач прикреплю и отошлю.

Упакуйте в архив, чтоб из него ничего не вырезали по дороге, и чтобы наш антиспам на него не ополчился.
wikipost
ac02.03.2010 15:48
И ящик админский создать не забудьте
wikipost
shajtan02.03.2010 16:44
ред: 02.03.2010 16:48
Без IPCop мне никуда, он режет процентов 70 спама, который иначе ложился жирным слоем на почтарик. Даже фильтрация EServ-а не помогала — когда в папке SPAM на аккаунте приёмной после праздников лежит почти 90000 писем, забрать их ничем просто физически нету возможности, любые клиенты отваливались напрочь =)

Письмо отослать не могу —
NOT delivered to: For: support@eserv.ru Reason: mail.eserv.ru: 550 (550 5.7.1 Your IP [93.153.183.166] is blocked by BRBL RBL. See http://www.barracudacentral.org/lookups)
отправил туда запрос на разблокировку...

да, кстати, неотправляемое письмо из out тихо перекочевало в retry_outbound
wikipost
ac02.03.2010 18:25
shajtan пишет: когда в папке SPAM на аккаунте приёмной после праздников лежит почти 90000 писем


А IPCop куда этот праздничный спам складывает? Или молча выкидывает? (в Eserv это тоже можно легко устроить

И ведь Eserv не 70% фильтрует, а больше 99%. И, кстати, для E4 и 90000 сообщений per folder вполне по плечу. У меня вот сейчас в INBOX'е (в support@) больше 20 тысяч сообщений (специально оставил те, что импортировал из тикетов BSM) — и легко с этим работается. В spam'е в ac@ 12000 сообщений, тоже не чищу специально.

shajtan пишет: 550 5.7.1 Your IP [93.153.183.166] is blocked by BRBL RBL.
Да, значит так и есть, IPCop превратил ваш Eserv в спам-машину.

shajtan пишет: отправил туда запрос на разблокировку...
Так сначала надо причину устранить, а то он завтра снова в спамеры вас запишет.

А файл вы можете переслать мне через локальную почту со своей странички http://forum.eserv.ru/~shajtan/
wikipost
shajtan03.03.2010 17:23
ред: 03.03.2010 17:24
SMTP-фильтр работает так: проводит кучу проверок, каждая даёт некое решение, имеющее определённый вес. Дальше вес суммируется, и письму присваивается какое-то количество баллов. Если эти баллы превышают определённый мною предел — то письмо отправляется в карантин, где живёт определённое время (у меня было три дня), после чего убивается навеки. Либо, если нужно — достаётся из карантина.

Могу вас заверить, что такую систему ввёл не от хорошей жизни: что бы вы ни говорили, но спам-фильтр EServa всё не отсекал, пропускал всегда процентов двадцать. Отчасти оттого, что пользователи — довольно тупые создания — часто отправляли нормальную корреспонденцию, подписки, которые им просто "надоели приходить", в "спам" — типа, чтобы так фильтровалось. И, зачем-то вынимали спам-письма из "спам" — мотивируя тем, что "мне во входящих читать удобнее". Сами понимаете, на единой базе SpamProtexx-а это сказывалось далеко не лучшим образом =(

В принципе, сейчас, глядя на реализацию Е4, весьма рад тому, что можно фактически отключить спам-фильтр для выбранных пользователей — это отчасти должно решить проблемы "тупых".

90000 сообщений — проблема была скорее не для сервера, а для клиента. Thunderberd перед закачкой сначала пытался проиндексировать общий обьём предстоящей работы, и на этом затыкался.

По поводу блокировки RBL-ом — вот кроме шуток, вы первые у кого зарезалось =)


Теперь о деле — сегодня пропустил шоу, коллега говорит, что опять была затычка с кучей левых писем. Он особо разбираться не стал — не его вотчина — и просто снёс все зависшие, так что что там было — неведомо.
Скажите, пожалуйста, где в Е4 отрубить НСП — чтобы на левые адреса ничего не приходило? Попробую ослабить нагрузку на себя хотя-бы так.

Да, и ещё: если у вас такой замечательный обученный SpamProtexx, можете выслать его базу? Дело в том, что я отключил фильтрацию на IPCop-е (он теперь только помечает письма тегами от SpamAssasin-а), и в папку spam у меня попало только два письма — при 200 входящих! У SP сейчас подключена старая база, ещё с Е3 тянущаяся — есть мысли, что она не так уж и хороша.
wikipost
ac03.03.2010 18:25
shajtan пишет: SMTP-фильтр работает так: проводит кучу проверок, каждая даёт некое решение, имеющее определённый вес. Дальше вес суммируется, и письму присваивается какое-то количество баллов.

Это понятно. В E4 вы можете использовать SpamAssassin тоже, если хотите, acFilter с ним совместим. И настройки SA из IPCop'а в виндовый SA перенести наверное тоже можно. Хотя SA и без доп.настроек те же 70% фильтрует. Т.е. примерно столько, сколько один CBL RBL.

shajtan пишет: пропускал всегда процентов двадцать. Отчасти оттого, что пользователи — довольно тупые создания

20% спама это все же лучше чем 30% спама, я так думаю. А вот с обучением да, непоследовательных пользователей к этому лучше не допускать.

shajtan пишет: По поводу блокировки RBL-ом — вот кроме шуток, вы первые у кого зарезалось =)

Барракуда не очень пиарит этот свой RBL, мало кто его использует...

shajtan пишет: Скажите, пожалуйста, где в Е4 отрубить НСП — чтобы на левые адреса ничего не приходило?

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

shajtan пишет: Да, и ещё: если у вас такой замечательный обученный SpamProtexx, можете выслать его базу?

Он ведь с моей базой и скачивается вместе с acFilter'ом при первом обновлении. http://code.eserv.ru/E4S/CommonPlugins/acFilter/antispam/spamprotexx/Storage.esp
Но она не будет сходу "замечательной", к сожалению, т.к. привыкает к хозяину (в данном случае к пользователям наших доменов). Поэтому использование чужой базы всегда надо начинать со скармливания ей старых архивов спама и не-спама.

shajtan пишет: я отключил фильтрацию на IPCop-е

Для чего? В обсуждаемой здесь проблеме причина не сам IPCop, а то, что сессии IPCop'а являются для Eserv'а локальными. Соответственно в паре с Eserv'ом они образуют открытый релей. И отключением фильтра на IPCop'е вы только усугубите проблему.

В IPCop'е можно настраивать домен, который он указывает в команде HELO при ретрансляции почты внутрь ЛС? Если там указать "pop2smtp", то Eserv будет считать эту почту входящей извне и не будет пересылать наружу.
wikipost
ac03.03.2010 18:32
ac пишет: они образуют открытый релей

Просто для проверки этого предположения — посмотрите по детальному SMTP-логу Eserv'а, отвечает ли он кому-нибудь "550 we do not relay..." (штатный ответ при попытке пересылки с чужого адреса на чужой).
wikipost
shajtan03.03.2010 19:04
ред: 03.03.2010 19:13
Фильтрацию на IPCope отключил, чтобы весь спам попадал внутрь. Чтобы проверить, как будет работать SP. Так вот, в настоящий момент SP практически не работает — все письма прошли мимо...

Давайте по порядку: я понял, что проблема в локальности сессий от SMTP-прокси до EServa-а. Что можно с этим сделать? Домен в helo пока что смог подставить реальный (то есть раньше proxsmtp отвечал helo=localhost, сейчас заявляет что-то типа helo=mail-fx0-f223.google.com). Но, я так понимаю, это не тот костыль, который мы можем приделать... Сейчас нарыл немного инфы, как подменить локальный IP-шник тем, что был изначально — но это требует ручной правки самого proxsmtp и перекомпиляции, у меня с наскоку не получилось =(

Возможности тупо занести IP-адрес в диапазон "недоверенных" в Е4 нету? Мне кажется, что ситуация, подобная моей, может повториться.


550 we do not relay... — не говорит никому. Да, считает всё входящее локальным. Кстати, неразумно — например, я долгое время работал с двумя серверами, основной был на Е3, и с него я просто сделал проброс всей своей почты на сервак с Е4, для теста. А ведь в таком случае Е4 тоже будет считать всю почту локальной, и проверки не будет: Е3 не проверяет, потому что сразу отправляет на пересылку, а Е4 не проверяет, потому что получает из доверенной зоны.

Нет, всё же очень желательно было-бы управлять зонами, и принудительно выставлять для некоторых, что они — не локальные. Хотя, конечно, эта задача для вас сейчас далеко не приоритетная, как я понимаю
wikipost
shajtan03.03.2010 19:17
О, поймал таракана. Сидит в out, полные заголовки: (задолбало скрывать, пишу без купюр, один фиг у спамеров базы уже толще трудов Карла Маркса)
For:Xchris.blair@aecsystems.co.nz For: info@ucitydental.com For:Xesbjerg@emcare.dk For:Xfeblanco@nortecastilla.es For: jhofdsiw@grykyxta.com For:Xsharper@napnap.org For:Xlangenacht@congressa.de For:Xinfo@taxi-transfers.cz For:Xnilima_bhatia@ls.berkeley.edu For: jeqtfxer@apiegwgp.com For: lynda@tattoomepink.com For:Xwebmaster@cpcbsa.org For:Xkeri@heartykiwifoods.com For: info@directorsandofficersinsurance.co.uk For:Xsguse@advantageurgentcare.com Received: from [192.168.1.1] (helo=gild) by mail.loniir.ru (acSMTP/4.0.4710) with SMTP id 11432.0.290875 for <chris.blair@aecsystems.co.nz>; Wed, 03 Mar 2010 18:44:29 +0300 X-Spam-DCC: CTc-dcc2: ipcop-server.loniir 1031; Body=1 Fuz1=1 Fuz2=many X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on ipcop-server.loniir X-Spam-Level: ******* X-Spam-Report: * 0.9 RCVD_IN_PBL RBL: Received via a relay in Spamhaus PBL * [117.41.228.209 listed in zen.spamhaus.org] * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 0.0 MISSING_MID Missing Message-Id: header * 0.0 MISSING_DATE Missing Date: header * 0.7 SPF_NEUTRAL SPF: sender does not match SPF record (neutral) * 0.6 SPF_HELO_NEUTRAL SPF: HELO does not match SPF record (neutral) * 2.2 DCC_CHECK Listed in DCC (http://rhyolite.com/anti-spam/dcc/) * 0.1 RDNS_NONE Delivered to trusted network by a host with no rDNS X-Envelope-From: treehugger848@gmail.com Received: from gmail.com ([117.41.228.209]) by ipcop-server (Copfilter 0.84beta4) X-Filtered-With: Copfilter Version 0.84beta4 (ProxSMTP 1.8) X-Copfilter-Virus-Scanned: ClamAV 0.94.2/10502/Wed Mar 3 15:43:55 2010 To: sguse@advantageurgentcare.com,info@directorsandofficersinsurance.co.uk,keri@heartykiwifoods.com,webmaster@cpcbsa.org,lynda@tattoomepink.com Subject: Medical Doctor Listing in the USA Reply-To: kim7876@gmail.com From: "brigantine Harrell" <treehugger848@gmail.com> X-Copfilter-Originating-IP: 117.41.228.209
wikipost
shajtan03.03.2010 19:20
вот только не понимаю — как оно ко мне-то попало? У меня что, openrelay висит?
wikipost
shajtan03.03.2010 19:22
Фак! Так оно и есть, тупая я протоплазма! Проверил на spamhelp.org — подтвердило. Как отрубить? Через меня шлют кому не лень всякий мусор, а я и не замечал!
wikipost
ac03.03.2010 19:55
shajtan пишет: Возможности тупо занести IP-адрес в диапазон "недоверенных" в Е4 нету?

Нету. Теперь понятно, что надо эту возможность сделать.

Давайте так, на скорую руку, без перекомпиляции
  • В E4.orig.ini в секции [SMTP] добавьте в конце такой ключ:
  • InboundRelayIP=0.0.0.0
  • В E4.ini аналогично:
  • InboundRelayIP=192.168.1.1
  • В acSMTP\conf\OnStartup.rules.txt в строке 204 замените
  • INCOMINGHOST S" pop2smtp" COMPARE
    на
    INCOMINGHOST S" pop2smtp" COMPARE S" PeerIP= {SMTP[InboundRelayIP]}" EVALUATE 0= AND
wikipost
ac03.03.2010 20:02
Ой, нет, не так. "PeerIP=" не раскрывает макросы. Тогда так:
INCOMINGHOST S" pop2smtp" COMPARE S" SMTP[InboundRelayIP]" EVALUATE GetHostIP DROP PeerIP <> AND
wikipost
ac03.03.2010 20:08
shajtan пишет: Так вот, в настоящий момент SP практически не работает — все письма прошли мимо...

Лог acFilter.log с момента последнего запуска (от строки <30>
Log started: ) упакуйте и перешлите на support@eserv.ru.
wikipost
shajtan04.03.2010 10:30
Ура! Testing ххх.ххх.ххх.ххх on port 25... successful! — the SMTP server is NOT an open relay. Изменения внём. Лог acFilter — отошлю чуть попозже.

Спасибо за помощь!
wikipost
ac04.03.2010 13:33
ОК, значит ставлю эту опцию в основной конфиг E4. Поедет в обновления.
wikipost
Работает на Eserv/5.05567 (10.02.2020)