Понадобилось ограничить некоторых пользователей в postfix'е, чтобы они не могли почту принимать снаружи и отправлять наружу. Нашел на opennet'е решение для этого (http://www.opennet.me/base/net/postfix_per_user_acl.txt.html). Попробовал - работает, начал тестировать с учетом слишком "умных" пользователей, которые будут обходить эту систему..... выявил одну нехорошую вещь.....
если пользователь в своем почтовом клиенте берет и прописывает свой обратный адрес другой (не тот, который запрещен на отправку почты наружу) - то он без проблем может отправлять почту наружу :-( ну и соответственно если отправитель письма снаружи тоже меняет свой обратный адрес на адрес пользователя которому адресовано письмо (это к примеру), то это письмо без проблем приходит к пользователю.
я вижу тут 2 проблемы:
1. Как можно запретить пользователю отправлять письма изнутри наружу? как вариант решения данной проблемы можно пользователей для отправки писем авторизовывать (у меня для отправки писем наружу и требуется авторизация через cyrus_sasl) и данные от авторизации брать за основу для проверки сведений можно или нельзя письма отправлять наружу. Но как это сделать?
2. Как можно запретить прием писем от кого-либо с поддельными адресами? я не говорю что надо проверять все адреса на правильно, но сопоставить IP адрес откуда письмо и адрес отправителя тоже наверное как-то можно.
К примеру если мы имеем наш домен test.ru и письмо приходит откуда-то (не с наших IP-адресов), а адрес отправителя стоит something@test.ru - то сразу же понятно, что адрес поддельный и такое письмо надо послать куда подальше. можно ли что-то сделать в этом случае?
Заранее спасибо.
|