Я настроил postfix + covecot, и все работает нормально, пока я не пойму, что пользователи могут отправлять электронные письма, подписанные как любые другие электронные письма, например, у меня есть почта name@domain.com, и я могу отправлять электронную почту как bill.gates@microsoft.com, но postfix не должен позволять мне этого делать. Я не знаю, как предотвратить такое поведение.
мои файлы конфигурации:
постфикс
main.cf: http://paste.kde.org/464534/
master.cf: http://paste.kde.org/464540/
голубятня
dovecot.conf: paste.kde.org/464546/
большое спасибо за помощь;]
Короткий ответ: вы не можете. SMTP просто не предназначен для этого. В старые времена (tm) почтовые серверы были готовы пересылать почту для всех. Это оказалось неприемлемым в эпоху спама, и теперь почтовые серверы обычно ретранслируют почту только для своего законного сообщества пользователей, идентифицируемых по IP-адресу, аутентификации или обоим. Но они все равно будут ретранслировать любой mail для любого такого пользователя, даже письмо от кого-то другого.
Я уверен, что можно привязать ваш почтовый сервер так, чтобы вы разрешили только вашим аутентифицированным пользователям отправлять почту от пользователя, от имени которого они аутентифицировались. Вы также можете привязать свой сервер, чтобы он отказывался от электронной почты извне вашей организации, которая утверждала, что была получена изнутри. Но я бы посоветовал этого не делать, потому что это создает культуру ложных ожиданий: ваши пользователи, зная, что они могут доверять отправителю внутренней почты, полученной изнутри, могут начать доверять отправителю внешней почты, полученной изнутри (чего у вас нет. для аутентификации) или доверять отправителю внутренней почты, полученной извне (что вы не можете принудительно применить).
Лучше, ИМХО, объяснить пользователям, что они не могут доверять заявленному отправителю электронного письма. Если вы действительно хотите иметь возможность аутентифицировать отправителя электронного письма, изучите такие криптографические технологии, как OpenPGP, и пусть ваши пользователи создают, обмениваются и используют свои ключи.
редактировать: Я не являюсь пользователем Gmail, поэтому я не знаю, запрещает ли Gmail аутентифицированным пользователям отправлять электронную почту от другого отправителя. Но, как я сказал выше, даже если это так, это не мешает кому-либо отправлять электронную почту стороннему получателю, утверждающему, что он от такого пользователя Gmail (да, я знаю, что gmail.com публикует запись SPF; но это слабый рекорд, оканчивающийся на ?all
, и в любом случае вы не можете потребовать, чтобы почтовый сервер получателя проверял его). Вести себя так, будто электронная почта аутентифицирует отправителя - плохая идея, потому что даже если в некоторых случаях это возможно, это не во всех случаях (или даже в большинстве случаев).
Проверить отправителя по простому SMTP технически невозможно.
Однако зашифрованная и аутентифицированная передача через порт 587 стала обычным явлением вот уже десять лет; вы должны обучить своих пользователей тому, как это использовать.
Включить в postfix довольно просто; просто раскомментируйте пример отправки в master.cf и отклоните отправку через порт 25.