Рекомендуемые настройки UFW для почтового сервера с postfix / dovecot

Я настраиваю простой сервер для обслуживания веб-сайтов, а также в качестве почтового сервера. Почтовый сервис будет небольшим, я использую его только для администрирования почты для моих личных сайтов, и я просто использую Thunderbird со своего локального компьютера для подключения. Я следовал руководству по настройке почты с помощью mysql и использованию виртуальных пользователей, псевдонимов и доменов Ссылка на руководство . Я еще не настроил spamassasin.

Мне любопытно, каковы рекомендуемые настройки ufw для защиты почты. Прямо сейчас у меня просто следующая конфигурация:

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
Dovecot Secure IMAP        ALLOW       Anywhere
Postfix Submission         ALLOW       Anywhere
22/tcp                     ALLOW       --my home ip--
Postfix                    ALLOW       Anywhere
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
Dovecot Secure IMAP (v6)   ALLOW       Anywhere (v6)
Postfix Submission (v6)    ALLOW       Anywhere (v6)
Postfix (v6)               ALLOW       Anywhere (v6)

У меня есть fail2ban, чтобы заключить в тюрьму все, что не удалось выполнить 5 попыток входа, с помощью следующих служб:

Status
|- Number of jail:      4
`- Jail list:   dovecot, postfix, postfix-sasl, sshd

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

Я получаю то, что могу только предположить, это боты, пытающиеся найти адреса электронной почты. Примерно так:

Sep 13 14:17:42 webserver postfix/submission/smtpd[25008]: connect from unknown[173.214.174.60]
Sep 13 14:17:42 webserver postfix/submission/smtpd[25008]: lost connection after CONNECT from unknown[173.214.174.60]
Sep 13 14:17:42 webserver postfix/submission/smtpd[25008]: disconnect from unknown[173.214.174.60] commands=0/0
Sep 13 14:17:44 webserver postfix/submission/smtpd[25008]: warning: hostname vps276013.trouble-free.net does not resolve to address 173.214.174.60: Name or service not known
Sep 13 14:17:44 webserver postfix/submission/smtpd[25008]: connect from unknown[173.214.174.60]
Sep 13 14:17:44 webserver postfix/submission/smtpd[25008]: Anonymous TLS connection established from unknown[173.214.174.60]: 
TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)
Sep 13 14:17:44 webserver postfix/submission/smtpd[25008]: NOQUEUE: reject: RCPT from unknown[173.214.174.60]: 554 5.7.1 <mhalaak31@gmail.com>: Recipient address rejected: Access denied; from=<test@test.com> to=<mhalaak31@gmail.com> proto=ESMTP helo=<int-vm.domain>
Sep 13 14:17:44 webserver postfix/submission/smtpd[25008]: lost connection after RCPT from unknown[173.214.174.60]
Sep 13 14:17:44 webserver postfix/submission/smtpd[25008]: disconnect from unknown[173.214.174.60] ehlo=2 starttls=1 mail=1 rcpt=0/1 commands=4/5
Sep 13 14:17:57 webserver postfix/submission/smtpd[25008]: warning: hostname vps276013.trouble-free.net does not resolve to address 173.214.174.60: Name or service not known
Sep 13 14:17:57 webserver postfix/submission/smtpd[25008]: connect from unknown[173.214.174.60]
Sep 13 14:17:57 webserver postfix/submission/smtpd[25008]: Anonymous TLS connection established from unknown[173.214.174.60]: 
TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)
Sep 13 14:17:57 webserver postfix/submission/smtpd[25008]: NOQUEUE: reject: RCPT from unknown[173.214.174.60]: 554 5.7.1 <mhalaak31@gmail.com>: Recipient address rejected: Access denied; from=<test@test.com> to=<mhalaak31@gmail.com> proto=ESMTP helo=<int-vm.domain>
Sep 13 14:17:57 webserver postfix/submission/smtpd[25008]: lost connection after RCPT from unknown[173.214.174.60]
Sep 13 14:17:57 webserver postfix/submission/smtpd[25008]: disconnect from unknown[173.214.174.60] ehlo=2 starttls=1 mail=1 rcpt=0/1 commands=4/5
Sep 13 14:18:24 webserver postfix/smtpd[25012]: warning: hostname vps276013.trouble-free.net does not resolve to address 173.214.174.60: Name or service not known
Sep 13 14:18:24 webserver postfix/smtpd[25012]: connect from unknown[173.214.174.60]
Sep 13 14:18:24 webserver postfix/smtpd[25012]: lost connection after CONNECT from unknown[173.214.174.60]
Sep 13 14:18:24 webserver postfix/smtpd[25012]: disconnect from unknown[173.214.174.60] commands=0/0
Sep 13 14:18:30 webserver postfix/smtpd[25012]: warning: hostname vps276013.trouble-free.net does not resolve to address 173.214.174.60: Name or service not known
Sep 13 14:18:30 webserver postfix/smtpd[25012]: connect from unknown[173.214.174.60]
Sep 13 14:18:32 webserver postfix/smtpd[25012]: NOQUEUE: reject: RCPT from unknown[173.214.174.60]: 554 5.7.1 <mhalaak31@gmail.com>: Relay access denied; from=<test@test.com> to=<mhalaak31@gmail.com> proto=SMTP helo=<int-vm.domain>
Sep 13 14:18:32 webserver postfix/smtpd[25012]: lost connection after RCPT from unknown[173.214.174.60]
Sep 13 14:18:32 webserver postfix/smtpd[25012]: disconnect from unknown[173.214.174.60] helo=1 mail=1 rcpt=0/1 commands=2/3   
Sep 13 14:18:48 webserver postfix/smtpd[25012]: warning: hostname vps276013.trouble-free.net does not resolve to address 173.214.174.60: Name or service not known
Sep 13 14:18:48 webserver postfix/smtpd[25012]: connect from unknown[173.214.174.60]
Sep 13 14:18:48 webserver postfix/smtpd[25012]: NOQUEUE: reject: RCPT from unknown[173.214.174.60]: 554 5.7.1 <mhalaak31@gmail.com>: Relay access denied; from=<test@test.com> to=<mhalaak31@gmail.com> proto=SMTP helo=<int-vm.domain>
Sep 13 14:18:48 webserver postfix/smtpd[25012]: lost connection after RCPT from unknown[173.214.174.60]
Sep 13 14:18:48 webserver postfix/smtpd[25012]: disconnect from unknown[173.214.174.60] helo=1 mail=1 rcpt=0/1 commands=2/3   
Sep 13 14:22:08 webserver postfix/anvil[25010]: statistics: max connection rate 3/60s for (submission:173.214.174.60) at Sep 13 14:17:57
Sep 13 14:22:08 webserver postfix/anvil[25010]: statistics: max connection count 1 for (submission:173.214.174.60) at Sep 13 14:17:42
Sep 13 16:19:45 webserver postfix/smtpd[2177]: warning: hostname zg-0823b-39.stretchoid.com does not resolve to address 192.241.228.172: Name or service not known
Sep 13 16:19:45 webserver postfix/smtpd[2177]: connect from unknown[192.241.228.172]
Sep 13 16:19:45 webserver postfix/smtpd[2177]: disconnect from unknown[192.241.228.172] ehlo=1 quit=1 commands=2
Sep 13 16:23:05 webserver postfix/anvil[2179]: statistics: max connection rate 1/60s for (smtp:192.241.228.172) at Sep 13 16:19:45
Sep 13 16:23:05 webserver postfix/anvil[2179]: statistics: max connection count 1 for (smtp:192.241.228.172) at Sep 13 16:19:45
Sep 13 16:23:05 webserver postfix/anvil[2179]: statistics: max cache size 1 at Sep 13 16:19:45

Я действительно не знаю, на что здесь смотрю, и не знаю, нормально ли это или о чем беспокоиться. Насколько я понимаю, postfix / smtpd - это входящая почта, поэтому я не знаю, если это просто зондирование адресов электронной почты или что-то еще.

Если есть кто-нибудь, имеющий хоть какой-то опыт, который может направить меня в правильном направлении, чтобы создать достаточно безопасную почтовую службу. Также дайте мне знать, есть ли в журналах что-нибудь, о чем мне нужно беспокоиться.

Любая помощь приветствуется.

1
задан 13 September 2020 в 19:38
1 ответ

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

В ваших логах мы видим две попытки спам-ботов, так что я рассмотрю их по очереди.

Атаки, пытающиеся использовать ваш почтовый сервер в качестве ретранслятора.

Postfix может действовать как ретранслятор электронной почты, получая электронные письма с серверов по всему Интернету, а затем доставляя их в соответствующие пункты назначения. Вам необходимо включить эту функцию в некоторой степени, потому что вы хотите получать электронные письма, адресованные на ваш почтовый сервер. Это означает, что вы не можете использовать брандмауэр, такой как ufw, чтобы защитить свой почтовый сервер от такого рода атак; вы можете законно получить соединение с любого другого почтового сервера в Интернете, и ufw трудно узнать, какие IP-адреса являются почтовыми серверами.

Соединение такого типа поступает на порт 25 (как для законных, так и для вредоносных соединений) и будет получено postfix/smtpd.

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

Тем не менее, очень важно убедиться, что ваш почтовый сервер не является открытым ретранслятором и не может работать как таковой. Если вы хотите быть уверены, что он настроен правильно в этом отношении, вы должны использовать средство проверки открытого реле; по моему опыту, эта программа проверки открытой ретрансляции является наиболее полной при попытке найти эксплойты, которые могут привести к тому, что ваш почтовый сервер ретранслирует сообщение, которое он не должен (вы хотите получить сообщение "Ретрансляция НЕ принята" после каждого пытаться). Если такой инструмент не может понять, как заставить ваш почтовый сервер ретранслировать сообщение, то, скорее всего, спамеры тоже не смогут этого сделать.

Если вас беспокоят строки журнала, показывающие неудачные попытки ретрансляции, то хотя вы не сможете настроить ufw для отклонения попыток, вы можете настроить fail2ban чтобы заблокировать дальнейшие попытки на некоторое время, после неудачи первых нескольких. В последних версиях Ubuntu конфигурация тюрьмы postfix по умолчанию имеет достаточно разрешающие настройки. Вы можете сделать их более строгими, блокируя более широкий спектр атак против Postfix, добавив mode = агрессивный в соответствующий раздел джейл-файла в конфигурации fail2ban. Например:

[postfix]
enabled = true
mode = aggressive

Это вряд ли окажет большое влияние, потому что ретрансляторы электронной почты не могут быть «грубым образом принудительно» переданы для ретрансляции сообщения; либо они настроены на это, либо нет.Таким образом, подавляющее большинство спам-ботов, естественно, откажутся от попыток после одной или двух неудачных попыток ретрансляции, и, таким образом, они никогда не достигнут достаточного количества неудачных попыток, чтобы вызвать fail2ban.

Атаки, пытающиеся отправить электронную почту через ваш почтовый сервер.

В дополнение к работе в качестве ретранслятора электронной почты для электронных писем, которые уже находятся «в системе электронной почты». почтовый сервер; законный пользователь, который хочет отправить электронную почту, заставит свой почтовый клиент подключиться к Postfix, сообщит ему сообщение, которое он хочет отправить, и Postfix затем отправит его на почтовый сервер получателя. Очевидно, что если вы хотите иметь возможность отправлять электронную почту, вы должны настроить свою систему, чтобы разрешить это.

Соединение такого типа обычно поступает на порт 587 (опять же, как для законных, так и для вредоносных соединений; это, вероятно, то, что указано как «Отправка Postfix» в вашей конфигурации ufw), и будет получено по postfix/submission/smtpd.

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

Строки в ваших логах типа … submit … NOQUEUE: reject: … Адрес получателя отклонен: Доступ запрещен Меня немного беспокоят, потому что я не вижу никаких случайных атак, заходящих так далеко в моей собственной конфигурации ( У меня есть только одна подобная строка в моих собственных журналах, и это было для электронного письма, которое я пытался отправить законно, но в ситуации, когда неправильная конфигурация означала, что мой пароль не мог быть проверен). Тем не мение,у вас, вероятно, все еще есть достаточно безопасная конфигурация в этом отношении: попытка отправить электронное письмо была отклонена, предположительно, потому, что спам-бот не прошел аутентификацию с действительной парой имени пользователя и пароля для вашей системы.

Я предполагаю, что разница в конфигурации между вашей системой и моей заключается в том, что моя имеет -o smtpd_tls_auth_only=yes в разделе submission файла master.cf. ; для этого требуется, чтобы программное обеспечение электронной почты, отправляющее электронное письмо, отправляло имя пользователя и пароль только через TLS (и будет скрывать тот факт, что имя пользователя и пароль требуются, пока это не произойдет). По моему опыту, это довольно эффективно снижает количество попыток спам-ботов взломать мой пароль электронной почты; большинство из них не хотят устанавливать соединение TLS для каждой попытки ввода пароля (а некоторые из спам-ботов, которые пытаются использовать устаревшие библиотеки TLS, не могут понять, как это сделать). Конечно, вы должны установить этот параметр только в том случае, если у вас есть собственный почтовый клиент, настроенный на использование TLS!

В любом случае, вы говорите, что это персональный почтовый сервер; вы собираетесь быть единственным человеком, который когда-либо отправляет электронную почту через сервер, и это всегда будет с одного и того же IP-адреса? Если это так, то правила вашего брандмауэра более разрешительны, чем должны быть. ufw в настоящее время настроен на разрешение доступа к порту «отправки» из любого места. Если вы единственный человек, который когда-либо должен отправлять электронную почту для отправки в другое место, то нет причин позволять кому-либо еще пытаться это сделать, и вы можете установить более строгие правила брандмауэра, разрешая подключения только с вашего IP-адреса.

Так как это тип атаки, в которой подбор пароля может быть полезен (поскольку только ваше имя пользователя/пароль защищает порт отправки в данный момент), fail2ban также может помочь. Настройка тюрьмы postfix для использования более агрессивной конфигурации, по-видимому, сильно изменила мой почтовый сервер, значительно уменьшив количество попыток случайного подбора пароля.

Дополнительная безопасность: защита от атак на ваш почтовый ящик.

Опубликованные вами журналы не показывают попыток атаки на Dovecot. По моему опыту, такие приступы случаются редко; спам-боты обычно больше заинтересованы в отправке почты, чем в чтении вашей почты. Тем не менее, вы видите случайные случайные атаки на Dovecot. (Одной из причин этого может быть то, что большинство людей используют один и тот же пароль для отправки электронной почты и чтения своей электронной почты, поэтому, если спам-бот может подобрать пароль к вашему почтовому ящику, он может попытаться использовать тот же пароль для отправки электронной почты. )

Если ваш почтовый сервер предназначен только для использования одним человеком, то так же, как только один человек должен когда-либо отправлять электронную почту, только один человек должен когда-либо читать электронную почту. Таким образом, с точки зрения безопасности имеет смысл заблокировать порт Dovecot (обычно IMAP) так же, как вы бы заблокировали порт отправки Postfix, ограничив доступ к IMAP только теми IP-адресами, с которых вы будете читать свою электронную почту. .

1
ответ дан 29 October 2020 в 14:53

Теги

Похожие вопросы