Mdaemon ошибка при записи в сокет

Обновлено: 02.07.2024

Войти

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Тонкая фильтрация спама MDAEMON

Поделюсь решением последней из админских задач, которой пришлось таки заняться, когда на мой локальный почтовый адрес пришло за три дня 800 спам-писем, пришлось вытаскивать себя из этого болота как "тот самый Мюнхгаузен", не без помощи гугла, но и не без админской смекалки.

на тот случай, если вдруг приведенная выше ссылка похерится, да и вобще немного по-своему. Вобщем я делал тонкую фильтрацию спама на MDAEMON 12.0 следующим образом:

1. Средства онлайн фильтрации: DNSBL, ReverseLookup , Backscatter Protection, Dinamical Screening (эти опции у меня включены), SPF, Тарпиттинг и Грейлистинг (эти опции я отключил). Впринципи тут все можно подрегулировать в ходе работы.

2. Включаем сам спам-фильтр для эвристики: цитирую ссылку выше "Включаешь необученную эвристику (assasin), говоришь "метить, но пропускать". Порог метки ставишь стандартный = 5.0, порог уничтожения поднимаешь "за облака", скажем, 100.0"

Скриншот моего фильтра.

3. Подготовка к обучению байесовского метода. "Если база байеса уже есть, но не нравится как она работает или неизвестно ее происхождение, то нужно просто стереть файлы bayes_seen,bayes_toks, bayes_journal.
Отключаем байесова автообучение и белый список (авто), иначе обучение будет корявым, база будет постоянно переполняться и будет происходить вытеснение старых записей."

4. Находим папки где баес хранит свой спам и неспам (хам) или создаем две public IMAP-папки — одну для спама и одну для хама, внеся соответствующие пути в настройки Байесова фильтра. Папки по умолчанию лучше не оставлять так как в ряде случаев наблюдается неверно прописанные пути в конфиг-файле, при изменении же пути будет изменен и соответсвующий конфиг. Здесь важна длина пути, опытным путем определили значение в 12 символов:

5. Далее, там же в настройках отключаем Баесовкое автообучение, которое поумолчанию назначено на полночь каждые сутки. 6. Далее, собственно если ваши локальные спам-папки уже полны спамом, то смело копируем их содержимое в папку C:\MDSpam указанную выше. В C:\MDHam следует положить письма из входящих, которые точно не спам. Пропорции советуют придерживаться равной например 200/200.

Прим. 2) если пользователи работают с обычными MS Outlook-клиентами, то стоит выставить в настройках аутлука - сохранение копий на сервере, если таковая опция не включена, то соответственно и папки message на серваке у всех будут пустые.

Сейчас обнулил счетчики и удалил правила Байеса, то есть фильтрация ведется только по 1 пункту, что уже отсеивает 90% спама, примерно 3-4 спам письма в день вместо 200-300.

Внимание ! Если у Вас Mdaemon установленный как сервис виснет при открытии - ОТКЛЮЧИТЕ DEP

Есть сервер, на нем крутится 7 доменов, все ОК, но с некоторых внешних доменов не приходит почта. вот лог.

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

спасибо за советы!

MTU 1460 ставить?

пинги пакетами 1400 идут, а почта - нет.


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

у меня все та-же ошибка

но с этим сервером даже 1400 не пингуется.

но пингуется с моего компа, сервер - в дата-центре (виртуальная машина на вмваре (есть полный доступ к ней)), никаких роутеров перед ним нет (только програмный - виртуальной машины).

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

может кто подскажет как можно написать для таких случаев маску в hostscreen ?
сдаётся мне что в текущей реализации MDaemon это невозможно.

Все работает, но стала наблюдаться такая проблема, при определении MX-записи, ответа от DNS-сервера по какой-то причине не приходит, затем MDaemon пытается определить A-запись и отослать письмо по ней. Из-за того, что на айпишнике A-записи висит обычно совсем другой почтовик, MDaemon получает отлуп и выдает Permanent Delivery Failure, даже не пытаясь производить повторную отправку.

Setup -> Delivery -> Bounce message if receiving domain has no MX records, галочка стоит (BounceOnNoMXRecords=Yes в MDaemon.ini), но все-равно идет проверка A-записи.

В качестве DNS используется два AD DNS сервера с пересылкой на ДНС-сервера провайдера, плюс пару дней назад добавил гуглоднс.

Кстати, проблема созвучна с описанной в предыдущем посте. Почему идет отваливание по таймауту, а не ответ - сервер не существует?

судя по всему проблема зарыта в работоспособности DNS-серверов 10.0.0.200 и 10.0.0.201. или в топологии связи между почтарём и днс-серверами (например файрвол гдето не пускает).
нслукапом проверяли работоспособность DNS-ов с почтового сервера?

Настройка почтового сервера Mdaemon на примере 4 конфигураций. Как настроить почтовый сервер Mdaemon. Этот материал я искал очень долго и когда нашел был очень благодарен парню, который его написал. Этот мануал, лучше всех найденных смог посвятить меня в великие тайны почтовых серверов.

MDaemon поддерживает 4 различных способа приема внешней почты (в порядке убывания скорости/надежности).

Результат: входящая почта будет "сама падать" к Вам на сервер в реал-тайм.

Можно получать почту по SMTP если MX указывает не на Вас, а на сервер провайдера (как это часто бывает с молодыми доменами). Нужно просто договорится с провайдером, чтобы его сервер не копил почту в каком-то ящике, а переправлял всю входящую почту для Вашего домена на IP, где установлен MDaemon (т.е. настроить сервер провайдера в режим gateway для Вашего домена). Почта будет ходить почти так же быстро как и по MX, НО теряется живой коннект с сервером-отправителем, фильтрация возможна будет ТОЛЬКО после приема ВСЕГО письма целиком. и появляется один "посредник".

Прием производится сервером SMTP MDaemon по расписанию заданному в Scheduler MDaemon. Предварительно нужно договорится с администратором сервера, накапливающего почту, чтобы разрешили использование ATRN/ETRN для Вашего домена и обсудить метод авторизации. Алгоритм работы примерно следующий:

Следует помнить что устаревший ETRN может сливать почту только на ФИКСИРОВАННЫЙ жестко прописанный IP, а ATRN на ЛЮБОЙ IP, с которого установлено входящее соединение.

По событию шедулера MDaemon соединяется с портом 110 (POP3) сервера провайдера и начинает планомерно выкачивать и сортировать содержимое ящика.

Mdaemon настройка по шагам

Требуется:
-организовать почтовый сервер компании который будет приниматьотправлять электронную корреспонденцию без помощи почтовых систем третьих лиц (провайдера или кого то там ещё).

1. Запускаем установку, видим приветствие:

Mdaemon настройка по шагам

2. Выбираем локализацию:

Mdaemon настройка по шагам

3. Далее нам предлагают ознакомиться с лицензионным соглашением:

Mdaemon настройка по шагам

4. Выбираем папку установки нашего Демона:

Mdaemon настройка по шагам

5. Вводим регистрационные данные (очевидно они даются при покупке продукта)

Mdaemon настройка по шагам

Mdaemon настройка по шагам

7. Наблюдаем процесс копирования новых файлов:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

9. Вводим данные для ПЕРВОГО аккаунта, эта учётка будет иметь статус "администратор":

Mdaemon настройка по шагам

10. Вводим адреса ДНС, можно поставить галку "использовать ДНС-настройки Windows ",
но лучше ввести IP-адреса ДНС-серверов ПРОВАЙДЕРА.

Mdaemon настройка по шагам

11. Далее как на скриншоте:

Mdaemon настройка по шагам

12. Ставим галку, что бы почтовый сервер MDaemon стартокал системной службой Windows:

Mdaemon настройка по шагам

13. Конец установки, сразу можно запустить наш свеженький сервер:

Mdaemon настройка по шагам

14. После запуска необходимо АКТИВИРОВАТЬ вашу версию сервера MDaemon:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

выбираем ручную активацию:

Mdaemon настройка по шагам

вводим АКТИВАЦИОННЫЙ КОД:

Mdaemon настройка по шагам

Поздравляем! АКТИВАЦИЯ прошла успешно, теперь ваш сервер работает без Tial-ограничений.

Mdaemon настройка по шагам

15. Проверяем и корректируем основные настройки нашего MDaemon-а,
после чего сервер будет полностью готов к "бою":

Mdaemon настройка по шагам

15.1 Доменное имя, чью почту будет обслуживать почтовый сервер:

Mdaemon настройка по шагам

15.2 Правила передачи электронной почты

Mdaemon настройка по шагам

Mdaemon настройка по шагам

15.4 Настройка ДНС и настройки работы с MX -записью,
вводим ДНС провайдера, остальное без изменений можно оставить:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

Mdaemon настройка по шагам

Mdaemon настройка по шагам

Mdaemon настройка по шагам

15.8 Настройки архивирования почты (можно указать ящик, на который будет дублироваться ВСЯ почта):

Mdaemon настройка по шагам

16. Далее настройки:

Mdaemon настройка по шагам

16.1 Настройки Графического интерфейса:

Mdaemon настройка по шагам

16.2 Всё оставляем по умолчанию, можно установить ограничение на размер писем:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

16.4 Далее снова оставляем всё по умолчанию:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

Mdaemon настройка по шагам

16.7 Параметры MultiPOP
(если надо будет снимать почту с внешних POP3-ящиков для некоторых пользователей)

Mdaemon настройка по шагам

16.8 Далее оставляем всё как есть, только снимаем галочку "требовать стойкие пароли"

Mdaemon настройка по шагам

17. Найстройка работы с ДНС-чёрными листами (для борьбы со спамом):

Mdaemon настройка по шагам

Mdaemon настройка по шагам

17.2 Вводим адреса этих баз (по умолчанию несколько уже внесено):

Mdaemon настройка по шагам

17.3 Управление Кэшем результатов запросов к DNS-BL.
по идее включение приведёт к увеличению скорости,
но опять же если очень большой почтовый трафик:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

18. Настройки СПАМ-фильтра:

Mdaemon настройка по шагам

18.1 Тут оставляем по умолчанию (для первоначальной настройки самое то):

Mdaemon настройка по шагам

18.2 Включаемвыключаем эвристический анализ:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

18.4 Отчёты по спаму. оставляем по умолчанию:

Mdaemon настройка по шагам

18.5 Далее по умолчанию снова:

Mdaemon настройка по шагам

18.6 Блек-лист (домены с которых точно валится спам):

Mdaemon настройка по шагам

Mdaemon настройка по шагам

18.8 Типа белый лист для получателей. чёто сам хз зачем это, ну да ладно.

Mdaemon настройка по шагам

18.9 Настройка авто-формирования белых листов, оставим по умолчанию

Mdaemon настройка по шагам

18.10 Исключения, то есть типа адресадомены которые на спам проверяться не будут.

Mdaemon настройка по шагам

19. Настройки Рилей-функций:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

19.2 Тут указываем доверенные ХостыIP-адреса, с которых будет "рилеиться" почта:

Mdaemon настройка по шагам

19.3 Далее не трогаем

Mdaemon настройка по шагам

19.4 Указываем IP-адреса, используемые в вашей локальной сети:

Mdaemon настройка по шагам

19.5 Настройки требования PTR-записи при отправкеполучении почты, лучше не трогать:

Mdaemon настройка по шагам

19.6 Оставляем как есть:

Mdaemon настройка по шагам

20. Последние настройки, после которых можно будет "выставлять" наш сервер и интернет и безопасно работать:

Mdaemon настройка по шагам

Mdaemon настройка по шагам

Как настроить в mdaemon ssl сертификат

Как настроить в mdaemon ssl сертификат

Mdaemon настройка по шагам

Всем привет сегодня хочется затронуть немного тему защиты почты путем настройки ssl сертификата в почтовике Mdaemon. Mdaemon это платная платформа для организации почтового сервера. Думаю все из вас слышали такое слово как SSL сертификат, он все больше появляется в сегменте интернета и необходим для защиты сетевого трафика между клиентом и сервером. Сейчас многие сайты уже переходят на hhtps. который так же шифрует трафик сертификатом. И так приступимс.

Настройка mdaemon ssl сертификата

Защита вашей почты, будет иметь очень хороший эффект в плане доставки почты (Более подробно о факторах влияющих на доставку почты читайте по ссылке слева). Заходим на сервер с mdaemon у меня это 15 версия, открываем пункт меню Безопасность > Параметры безопасности, если часто пользуетесь, то уже знаете, что это же можно открыть и через клавиши CTRL+S.

Mdaemon настройка по шагам

В пункте SSL & TLS и производится настройка ssl, вам нужно проставить галки

Mdaemon настройка по шагам

Теперь вы можете добавить в поле Выбрать сертификат для использования свой сертификат выданный внешним центром сертификации, либо самоподписный сертификат, в большинстве случаев достаточно и самоподписного сертификата. Для этого жмем Создать сертификат и не забываем перезапустить сервер.

Mdaemon настройка по шагам

Порты SSL

Теперь давайте посмотрим какие порты Mdaemon отдает под защищенные соединения, для этого открываем Настройка > Настройки сервера (либо F2)

Mdaemon настройка по шагам

Переходим в пункт порты в котором вы видите

  • порт imap ssl > 993
  • порт smtp ssl > 465
  • порт pop ssl > 995

При желании вы можете задать свои порты.

Mdaemon настройка по шагам

Траблшутинг Connection closed by foreign host

Был у меня случай когда почта через ssl работала и в какой то момент отвалилась и стала выдавать Connection closed by foreign host. Зайдя на сервер сертификат вроде внешний был и присутствовал в списке, но не пахал. Выпустив самоподписный сертификат все сразу запахало, а с тем как оказалось кончилось время его действия. В аутлуке была ошибка при выставлении серта.

Mdaemon настройка по шагам

Настройка почты ssl

Теперь посмотрим как в Outlook 2013 производится настройка почты ssl. Настраивать я буду imap. Заполняем поля и нажимаем еще Другие настройки.

Mdaemon настройка по шагам

В пункте Сервер исходящей почты ставим птичку SMTP серверу требуется проверка подлиности

Mdaemon настройка по шагам

Далее идем на вкладку Дополнительно и выставляем нужные порты. а так же чтобы порт imap ssl шифровался, выставляем в пунктах Использовать следующий тип шифрования

Mdaemon настройка по шагам

Далее ок и делаем проверку почты, у вас должно выскочить предупреждение, что сервер использует сертификат выданный не известным центром сертификации, это потому что сервер выпустил его сам, можете на это забить, если бы был сертификат подписанный каким нибудь верисаином, то все было бы ок, как вариант можете добавить его в доверенные сертификаты.

Я запускаю приложение Express.js, используя Socket.io для веб-приложения чата, и случайно получаю следующую ошибку примерно 5 раз в течение 24 часов. Процесс узла заворачивается навсегда и сразу же перезапускается.

Проблема в том, что перезапуск Express выбивает моих пользователей из их комнат, и никто не хочет этого.

Веб-сервер прокси HAProxy. Нет проблем со стабильностью сокетов, только при использовании веб-сокетов и транспортов flashsockets. Я не могу воспроизвести это специально.

Это ошибка с узлом v0.10.11 :

РЕДАКТИРОВАТЬ (2013-07-22)

Добавлен как клиентский обработчик ошибок socket.io, так и обработчик необработанных исключений. Кажется, что этот ловит ошибку:

Как я знаю, что вызывает это? Как я могу получить больше от ошибки?

Хорошо, не очень многословно, но вот трассировка стека с Longjohn:

Здесь я использую файл политики флэш-сокета:

Может ли это быть причиной?

@ Готц обрабатывает сокет socket.error, но это не помогает, но process.on ('uncaughtException') ловит ошибку. Вот файл console.log об ошибке: <[Ошибка: прочитать ECONNRESET] код: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read'> ECONNRESET может быть из-за проблем с сетью. Как известно, невозможно отловить все исключения при тестировании. Некоторые будут отображаться на вашем рабочем сервере. Вы должны будете сделать свой сервер надежным. Вы можете обработать удаление сеанса, используя Redis в качестве хранилища. Это заставляет ваши сеансы сохраняться даже после того, как ваш сервер узла выходит из строя. Почему это связано с удалением сессии? Они все равно обрабатываются Redis. У вас есть хотя бы один прослушивающий сокет TCP, для которого не установлен обработчик. Так что теперь пришло время проверить, где это находится: D

Возможно, вы уже догадались: это ошибка соединения.

«ECONNRESET» означает, что другая сторона диалога TCP внезапно закрыла свой конец соединения. Скорее всего, это связано с одной или несколькими ошибками протокола приложения. Вы можете просмотреть журналы сервера API, чтобы увидеть, если он жалуется на что-то.

Но так как вы также ищете способ проверить ошибку и, возможно, устранить ее, вы должны взглянуть на « Как отладить ошибку зависания сокета в NodeJS? », Которая была опубликована в stackoverflow по аналогичному вопросу.

РЕДАКТИРОВАТЬ (2013-07-22)

Как я уже писал выше:

«ECONNRESET» означает, что другая сторона диалога TCP внезапно закрыла свой конец соединения. Скорее всего, это связано с одной или несколькими ошибками протокола приложения. Вы можете просмотреть журналы сервера API, чтобы увидеть, если он жалуется на что-то.

Что также может иметь место: в случайное время другая сторона перегружается и в результате просто разрывает соединение. Если это так, зависит от того, к чему именно вы подключаетесь .

Но одна вещь наверняка: у вас действительно есть ошибка чтения на вашем соединении TCP, которое вызывает исключение. Это можно увидеть, посмотрев код ошибки, который вы опубликовали в своем редактировании, что подтверждает это.

Войти

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Тонкая фильтрация спама MDAEMON

Поделюсь решением последней из админских задач, которой пришлось таки заняться, когда на мой локальный почтовый адрес пришло за три дня 800 спам-писем, пришлось вытаскивать себя из этого болота как "тот самый Мюнхгаузен", не без помощи гугла, но и не без админской смекалки.

на тот случай, если вдруг приведенная выше ссылка похерится, да и вобще немного по-своему. Вобщем я делал тонкую фильтрацию спама на MDAEMON 12.0 следующим образом:

1. Средства онлайн фильтрации: DNSBL, ReverseLookup , Backscatter Protection, Dinamical Screening (эти опции у меня включены), SPF, Тарпиттинг и Грейлистинг (эти опции я отключил). Впринципи тут все можно подрегулировать в ходе работы.

2. Включаем сам спам-фильтр для эвристики: цитирую ссылку выше "Включаешь необученную эвристику (assasin), говоришь "метить, но пропускать". Порог метки ставишь стандартный = 5.0, порог уничтожения поднимаешь "за облака", скажем, 100.0"

Скриншот моего фильтра.

3. Подготовка к обучению байесовского метода. "Если база байеса уже есть, но не нравится как она работает или неизвестно ее происхождение, то нужно просто стереть файлы bayes_seen,bayes_toks, bayes_journal.
Отключаем байесова автообучение и белый список (авто), иначе обучение будет корявым, база будет постоянно переполняться и будет происходить вытеснение старых записей."

4. Находим папки где баес хранит свой спам и неспам (хам) или создаем две public IMAP-папки — одну для спама и одну для хама, внеся соответствующие пути в настройки Байесова фильтра. Папки по умолчанию лучше не оставлять так как в ряде случаев наблюдается неверно прописанные пути в конфиг-файле, при изменении же пути будет изменен и соответсвующий конфиг. Здесь важна длина пути, опытным путем определили значение в 12 символов:

5. Далее, там же в настройках отключаем Баесовкое автообучение, которое поумолчанию назначено на полночь каждые сутки. 6. Далее, собственно если ваши локальные спам-папки уже полны спамом, то смело копируем их содержимое в папку C:\MDSpam указанную выше. В C:\MDHam следует положить письма из входящих, которые точно не спам. Пропорции советуют придерживаться равной например 200/200.

Прим. 2) если пользователи работают с обычными MS Outlook-клиентами, то стоит выставить в настройках аутлука - сохранение копий на сервере, если таковая опция не включена, то соответственно и папки message на серваке у всех будут пустые.

Сейчас обнулил счетчики и удалил правила Байеса, то есть фильтрация ведется только по 1 пункту, что уже отсеивает 90% спама, примерно 3-4 спам письма в день вместо 200-300.

Читайте также: