Позвольте мне немного объяснить вам ситуацию ..
На одном сервере размещены два веб-сайта: example1.com и example2.com. Предположим, что Example2 взломан, и злоумышленник пишет функцию PHP для отправки электронной почты с помощью функции PHP mail или sendmail, и он отправляет электронную почту с адресами домена @ example1.com. Записи SPF и DKIM будут определять исходящие письма из сценария example2.com как легитимные, потому что запись SPF указывает на правильный адрес сервера, верно?
Тогда .. Можно ли запретить веб-сайту, размещенному на вашем собственном частном сервере, отправлять электронные письма (через почту PHP или sendmail) с именем другого размещенного домена?
Существуют различные варианты, которые можно использовать в зависимости от MTA. Я больше всего знаком с Exim4, который позволяет использовать несколько опций:
Вышеупомянутое не касается того факта, что сценарий может просто искать MX для пункта назначения и обходить ваш почтовый сервер. Здесь не будет подписи DKIM, но DKIM часто / обычно неправильно настроен. В результате я далек от использования DKIM для проверки электронной почты. DMARC помогает тем доменам, которые публикуют политику, но не получили широкого распространения.
В Linux вы можете запретить обход почтового сервера с помощью правила брандмауэра. Можно фильтровать трафик на основе пользователя, так что только ID пользователя почтового сервера может отправлять трафик на порт 25. Вы можете разрешить трафик на порт 587, поскольку для этого потребуется аутентификация.