- Postfix - разрешить отправку только клиентам своей сети., rr, 15:14 , 11-Фев-10 (1)
- Postfix - разрешить отправку только клиентам своей сети., PavelR, 15:59 , 11-Фев-10 (2)
- Postfix - разрешить отправку только клиентам своей сети., Square, 17:43 , 11-Фев-10 (4)
- Postfix - разрешить отправку только клиентам своей сети., PavelR, 18:23 , 11-Фев-10 (6)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 20:09 , 11-Фев-10 (9)
Всё прочёл, спасибо ) Изменить порт или повесить сервис на другой айпи не могу, т.к. на сервере куча клиентов и они уже давно работают с ним и менять какие-либо настройки у себя вряд ли станут, а объяснять нескольким тысячам клиентов что и где надо изменить - простите, мне такого не надо. Я лишь хочу ограничить возможность подключения к серверу почтовыми клиентами из сетей, не принадлежащих нашей зоне. Кто хочет пользоваться из-за границы пусть юзают веб морду.При этом хотелось бы организовать проверку как по айпи, так и по логину и если одно из условий не выполнено, то запретить отправку.
mynetworks=127.0.0.1/32 smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, Пример, данный выше, у меня работает, но при таких настройках почту может отправлять любой, авторизовавшийся пользователь, не важно с какого айпи он подключается. В случае, если в "mynetworks" добавить все разрешённые сети, то не станет ли при такой настройке сервер отправлять почту без авторизации? Добавляю свой конфиг, чтобы легче было найти решение.
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access hash:/etc/postfix/helo_access, check_helo_access regexp:/etc/postfix/helo_regexp, check_helo_access regexp:/etc/postfix/dul_checks, reject_invalid_hostname, reject_unknown_helo_hostname, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, permit smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, check_sender_access regexp:/etc/postfix/sender_access, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_hostname, reject_unverified_sender, permit smtpd_recipient_restrictions = reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unlisted_recipient, check_recipient_access regexp:/etc/postfix/recipient_access, reject_unauth_destination, check_policy_service unix:postgrey/socket, permit smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, check_client_access hash:/etc/postfix/client_access, check_client_access regexp:/etc/postfix/dul_checks, reject_unauth_destination, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_rbl_client bl.spamcop.net, reject_rbl_client list.dsbl.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client spamsources.fabel.dk, permit
- Postfix - разрешить отправку только клиентам своей сети., Square, 20:28 , 11-Фев-10 (10)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 20:52 , 11-Фев-10 (11)
>Но это же клиенты вашего сервера!!! Какая вам разница с какой сети >они получают доступ?? Поясню, данный сервер - это общественный(бесплатный) почтовик со свободной регистрацией. Так что, что там за клиенты и как они относятся к вопросам спама - вопрос открытый. И кстати, именно благодаря введению авторизации удалось избавиться от очень немалого траффика и доли спама. >В чем настоящая причина заставлять отсылать ваших же пользователей почту только через >веб интерфейс? Потому что он у вас через https а >smtp без шифрации? >Авторизация на smtp достаточно однозначно (лучше проверки любых ip) аутентифицирует пользователя. Причина в требовании руководства и в условиях использования сервиса, которые недавно были изменены. И кстати, smtp с шифрацией smtpd_use_tls = yes >Да, это так. Но можно включить для smtp tls, и тогда те >кто хочет отправлять почту из любой сети- должен будет настроить у >себя защищенное подключение. Или пользоватся веб-мордой. Вот я и хочу чтобы авторизацию могли проходить только люди из доверенной сети, а всем остальным веб-морда. >Станет. >Поэтому там должен стоять только локалхост (для веб-морды,для сайта и т.д.). Полностью согласен, т.к. не хочу быть релеем ни для одного, даже самого надёжного айпи.
- Postfix - разрешить отправку только клиентам своей сети., PavelR, 06:43 , 12-Фев-10 (13)
- Postfix - разрешить отправку только клиентам своей сети., PavelR, 06:39 , 12-Фев-10 (12)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 07:41 , 12-Фев-10 (14)
>Я же сказал - сервис вешается на другой порт, и _для своей >сети_ _файрволлом_ делается DNAT. Своя сеть стучится на обычный порт, а >файрволл заворачивает на "нестандарнтный" даймон. > >Не своя сеть файрволлом не трогается, и попадает на обычный сервис. Допустим я повесил сервис на другой порт, и занатил свою сеть, не меняя у клиентов никаких настроек. Но этого ведь мало. Нужно чтобы публичный сервис не поддерживал авторизацию, но принимал письма извне. Можно привести хотя бы краткий пример настройки !? >В более навороченных случаях - можно пропатчить постфикс и сформировать в нём >передачу переменной, содержащей IP подключения в SQL-запросы к БД, и использовать >её уже там - это будет более гибко, поскольку позволит разрешать >авторизацию "из всего интернета" для пользователей, "проплативших соответствующую услугу". Можно поподробнее об этом варианте ? PS. Честно говоря, я не совсем понимаю принципа срабатывания правил в постфиксе. Сейчас срабатывает первое совпавшее правило и остальные остаются как бы бесполезными. Т.е. если отработало permit_sasl_authenticated, то следующие правила уже не смотрятся и клиент может быть кем угодно и отправлять что угодно, хотя тот же Qmail можно настроить так, чтобы помимо авторизации у клиента проверялся его айпи, указанный либо конкретной сетью, либо проверялся через sbl.spamhaus.org. Как подобное реализовать в постфиксе для меня загадка.
- Postfix - разрешить отправку только клиентам своей сети., rr, 09:04 , 12-Фев-10 (15)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 09:15 , 12-Фев-10 (17)
>[оверквотинг удален] >.... > >Эти два условия должны быть разнесены в разных ограничениях. > >Если пользователь из своей сети первое ограничение OK и оно дальше не >выполняется >Если пользователь аутентифицировался то ограничние OK и оно дальше не выполняется. > >Резюме. Если хотя бы одно условие не выполняется ему отказано в доступе, >небходимо выполнение двух условий. А как при этом будут обстоять дела с подключением вебки к локалхосту и локальной отправкой почты?
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 09:23 , 12-Фев-10 (19)
>а если так > >smtpd_sender_restrictions =permit_mynetworks >.... > >smtpd_recipient_restrictions =permit_sasl_authenticated >.... > >Эти два условия должны быть разнесены в разных ограничениях. попробовал разнести, по любому, если есть авторизация, то постфикс уже не смотрит из какой ты сети.
- Postfix - разрешить отправку только клиентам своей сети., rr, 09:12 , 12-Фев-10 (16)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 09:18 , 12-Фев-10 (18)
>в чем логика? а если клиент прошел и аутентифицировался, и находится в >нужной сети, что ему мешает отправлять, что угодно?) Думаю этим уже будет заниматься спам-фильтр, который включён для всех по-умолчанию.
- Postfix - разрешить отправку только клиентам своей сети., PavelR, 09:51 , 12-Фев-10 (20)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 10:13 , 12-Фев-10 (21)
Не сочтите совсем уж тупым, но я всё же хочу уточнить. Сейчас мой master.cf выглядит вот так:
smtp inet n - n - - smtpd -o content_filter=amavisfeed:[127.0.0.1]:10024 -o receive_override_options=no_address_mappingssmtps inet n - n - - smtpd -o content_filter=amavisfeed:[127.0.0.1]:10024 -o receive_override_options=no_address_mappings -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject SMTPS я просто закрываю фаерволом, а для своих клиентов добавляю:
1.2.3.4:25252 inet n - n - - smtpd -o content_filter=amavisfeed:[127.0.0.1]:10024 -o receive_override_options=no_address_mappings -o smtpd_client_restrictions=permit_sasl_authenticated,reject При этом в main.cf везде убираются упоминания о permit_sasl_authenticated, и добиваю всё DNAT-ом своих сетей на порт 25252. Всё верно ?
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 14:07 , 12-Фев-10 (23)
Спасибо уважаемому PavelR !!! Сделал по Вашему совету с использованием второго сервиса smtp и DNAT. В основном конфиге(main.cf) пришлось оставить permit_sasl_authenticated во всех smtpd_*_restrictions, кроме smtpd_client_restrictions, иначе не работала авторизация ни на одном порту.Спасибо!!! PS. Есть только одна неувязка. Теперь придётся добавлять все почтовые сервера в сети, которые отсылают почту на наш сервер, а так же все клиентские почтовики, иначе их редиректит и поствикс требует авторизацию.
- Postfix - разрешить отправку только клиентам своей сети., Malamut, 12:00 , 12-Фев-10 (22)
- Postfix - разрешить отправку только клиентам своей сети., Egenius, 14:56 , 12-Фев-10 (25)
>Тыкаю: тебе нужен параметр check_client_access в таком вот примерно виде: > >smtpd_recipient_restriction = > ... > check_client_access hash:/etc/postfix/mynetworks > ... > reject_unauth_destination > >in /etc/postfix/mynetworks you have: >10.0.0.1 permit_sasl_authenticated Данное правило должно быть только в цепочке smtpd_recipient_restriction и быть заменой существующему правилу permit_sasl_authenticated ? И ещё, можно ли как-то настроить чтобы проверка осуществлялась только в том случае, если клиент инициирует отправку с сервера, а в случае когда письмо предназначено одному из получателей на сервере, проверка пропускалась? И ещё, у Вас в примере нет запятых после правил - это правильно или просто опечатка ? Спасибо !
- Postfix - разрешить отправку только клиентам своей сети., ALex_hha, 01:17 , 14-Фев-10 (29)
|