Перенаправить ИЛИ предупредить (во время первоначального согласования) отправителей SMTP об использовании TLS на порту 587 — оставьте 25 явно заблокированным брандмауэром для большей безопасности

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

Я расширяю свой сервер домашней лаборатории и решил использовать небольшой общедоступный сервер в качестве простого прокси. Моя домашняя лаборатория будет работать с Mailcow, и я хочу использовать только порт 587 для безопасного SMTP, но я хочу убедиться, что моя настройка не выглядит сломанной, выключенной или какой-то аномальной, скажем, сканированием доставляемости, сканером черного/серого списка или почтовым клиентом. /и т. д.

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

Есть ли способ указать запрашивающему клиенту/сканеру/серверу MTS, что SMTP требует TLS на порту 587, следует ли это обрабатывать с помощью перенаправления, как веб-сервер, с 80-> 443? Я не хочу, скажем, доставлять ответ через свой веб-сервер или что-то в этом роде, я надеюсь, что есть какая-то конфигурация iptables или что-то, что естественным образом интегрируется на уровне 2 или 3 для этого, чтобы я мог оставить этот порт закрытым в IPtables. , но не отображается просто на SMTP.

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

Я сошел с ума или есть способ сделать это/это разумное беспокойство? Заранее спасибо.

РЕДАКТИРОВАТЬ: я забыл упомянуть, что я использую HAproxy в качестве границы моего хоста, поэтому я могу просто перенаправить 25->587 и закончить, если это имеет смысл, я просто надеялся полностью заблокировать 25 как ботнеты и DDOS/ и т. д. потом тоже переведут...

1 ответ

Есть ли способ указать запрашивающему клиенту/сканеру/серверу MTS, что SMTP требует TLS на порту 587?

ПредполагаяMTSэто опечатка, и вы имели в видуMTA.

587 — небезопасный SMTP, 587 — отправка. Отправка предназначена для пользовательских агентов, а не для агентов передачи. Единственный способ защитить передачу почты — это STARTTLS на порту 25. Порт 465 — это SubmissionS (отправка с неявным tls), но опять же не может использоваться для передачи.

Вы можете потребоватьstarttlsиспользуя DANE или MTA-STS (вероятно, вам следует развернуть оба). DANE потребуется DNSSEC у вашего DNS-провайдера, а MTA-STS — на HTTPS-сервере.

Итак, нет, вы не можете закрыть порт 25 и по-прежнему выступать в качестве MX для домена.

Что касается пользовательских агентов, они обычно проверяют ряд популярных портов (465,587,25 и т. д.), пока во время установки не увидят что-то, что им нравится, поэтому закрытие 25 не причинит им существенного вреда.

Если вы получаете много мусорного трафика на порту 25, рассмотрите возможность использования чего-то вроде Fail2ban.

Я использую HAProxy в качестве периферии моего хоста.

Это усложнит написание правил брандмауэра, но я думаю, что есть какой-то плагин netfilter, который делает haproxy прозрачным - так что, возможно, это могло бы работать с Fail2ban.

Другие вопросы по тегам