Как ограничить совместное использование адреса электронной почты отправителя и IP-адреса клиента в постфиксе?
У меня есть MTA (постфикс) с реализованным sasl. Я хочу, чтобы для подмножества пользователей я мог сопоставить их адрес электронной почты с определенным диапазоном IP-адресов (отдельно для каждого пользователя электронной почты). Если пользователь пытается отправить электронное письмо из-за пределов своего индивидуального диапазона, попытки регистрируются, и электронное письмо удаляется. Я думаю, что это можно сделать с помощью header_checks или milters, но я не могу реализовать это в любом случае.
1 ответ
Используйте службу политики. Вы можете реализовать свой собственный или использовать готовый вариант. У меня был некоторый опыт работы с postfwd , и, насколько я помню, его возможности набора правил позволяют выразить такое требование в нескольких строках.
Лучше не просто использовать аутентификацию SASL, но и ограничить, какие адреса электронной почты «конверта от» могут использоваться какими именами пользователей SASL, с помощью параметра smtpd_sender_login_maps Postfix . Служба отправки с проверкой подлинности никогда не должна поддерживаться на порту по умолчанию 25; для этого есть выделенные порты: 587 «отправка» (с STARTTLS) и/или 465 «smtps» (с обычным статическим TLS).
Если все ваши пользователи могут быть ограничены несколькими подсетями, вы можете просто ограничить доступ к этим портам с помощью брандмауэра. А еще лучше, вместо того, чтобы сразу отбрасывать почту «из сети» или ограничивать доступ к службам отправки на сетевом уровне, ограничьте скорость электронной почты. Затем вы сможете отслеживать чрезмерное использование сервиса, предупреждать пользователей или даже требовать объяснений, что произошло и почему они превысили лимит.
Именно это помогло мне сдержать ущерб репутации сервера, которым я управлял, когда у какого-то пользователя был украден пароль и кто-то начал рассылать спам, используя украденные учетные данные. Они достигают лимита в течение нескольких минут (что-то вроде не более 120 писем в час), и скомпрометированная учетная запись становится неспособной отправлять почту. Затем мы расследовали произошедшее и объяснили это законному пользователю этой учетной записи, изменили его пароль и приняли другие необходимые меры для защиты своей системы и предотвращения повторения этого сценария.
Если у пользователей хорошие пароли и безопасные системы, вы защищены достаточно хорошо, чтобы доверять аутентификации, поэтому нет необходимости ограничивать службу несколькими подсетями. Честно говоря, если вы не слишком доверяете своим пользователям, я считаю, что настоящая проблема находится где-то за пределами досягаемости технологических мер и заключается в административных решениях.