Назад | Перейти на главную страницу

Соединение с Postfix потеряно после AUTH

Просматривая журналы на своих почтовых серверах, я заметил такие сообщения:

Nov 29 12:09:38 mta postfix/smtpd[8362]: connect from unknown[183.13.165.14]
Nov 29 12:09:39 mta postfix/smtpd[8362]: lost connection after AUTH from unknown[183.13.165.14]
Nov 29 12:09:39 mta postfix/smtpd[8362]: disconnect from unknown[183.13.165.14]
Nov 29 12:09:39 mta postfix/smtpd[8409]: connect from unknown[183.13.165.14]
Nov 29 12:09:40 mta postfix/smtpd[8409]: lost connection after AUTH from unknown[183.13.165.14]
Nov 29 12:09:40 mta postfix/smtpd[8409]: disconnect from unknown[183.13.165.14]

В этих случаях отказов SASL нет. Ошибки SASL регистрируются в другое время, но никогда lost connection after AUTH.

Что здесь происходит, и что мне делать?
Это не MX, и они уже есть smtpd_client_connection_rate_limit устанавливать.

Возможно связанные:
Системы требуют либо SMTPS, либо STARTTLS перед объявлением AUTH.

Мои файлы журналов заполнялись, и даже разрешать соединение от этих придурков - пустая трата процессора. Я создал fail2ban правило.

Jul 11 02:35:08 mail postfix/smtpd[16299]: lost connection after AUTH from unknown[196.12.178.73]

Содержание /etc/fail2ban/jail.conf

[postfix]
# Ban for 10 minutes if it fails 6 times within 10 minutes
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 6
bantime  = 600
findtime = 600

Содержание /etc/fail2ban/filter.d/postfix.conf

# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision$
#

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values:  TEXT
#

# Jul 11 02:35:08 mail postfix/smtpd[16299]: lost connection after AUTH from unknown[196.12.178.73]

failregex = lost connection after AUTH from unknown\[<HOST>\]

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex = 

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

Абсолютно не о чем беспокоиться.

В smtpd_recipient_restrictions просто установите reject_unknown_client_hostname как это:

smtpd_recipient_restrictions = reject_unknown_client_hostname

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

postfix/smtpd[11111]: NOQUEUE: reject: RCPT from unknown[183.13.165.14]: 450 4.7.1 Client host rejected: cannot find your hostname, [183.13.165.14]

Я не уверен, есть ли о чем беспокоиться, в основном клиент / «кто-то» подключается, выдает AUTH и отключается по собственному желанию. Это может быть попытка проверить возможности сервера с помощью почтового клиента - или попытка заблокировать демон.

Пока у вас есть достаточная безопасность, это просто еще один стук в дверь из мира.