The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Postfix - разрешить отправку только клиентам своей сети."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 11-Фев-10, 15:05 
Доброго времени суток !

Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли только клиенты моей сети с сохранением обязательной авторизации. Остальным разрешён доступ только через веб интерфейс.
Честно перечитал кучу мануалов, но так и не смог понять как это настроить.

Пожалуйста, ткните носом что и куда прописать!!!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от rr on 11-Фев-10, 15:14 
mynetworks =
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 11-Фев-10, 15:59 
>Доброго времени суток !
>
>Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>только клиенты моей сети с сохранением обязательной авторизации. Остальным разрешён доступ
>только через веб интерфейс.
>Честно перечитал кучу мануалов, но так и не смог понять как это
>настроить.
>
>Пожалуйста, ткните носом что и куда прописать!!!

повесь отдельный smtpd на другой порт, сделай ему отдельные опции, файрволлом заверни из своей сети на smtpd другого порта.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Square (ok) on 11-Фев-10, 17:43 
>Доброго времени суток !
>
>Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>только клиенты моей сети с сохранением обязательной авторизации. Остальным разрешён доступ
>только через веб интерфейс.
>Честно перечитал кучу мануалов, но так и не смог понять как это
>настроить.
>
>Пожалуйста, ткните носом что и куда прописать!!!

mynetworks=127.0.0.1/32
smtpd_sender_restrictions =     permit_mynetworks,
                                permit_sasl_authenticated,


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 11-Фев-10, 18:23 

>>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>>только клиенты моей сети с сохранением обязательной авторизации. Остальным разрешён доступ
>>только через веб интерфейс.

ты не читатель, ты писатель ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius (??) on 11-Фев-10, 20:09 
Всё прочёл, спасибо )
Изменить порт или повесить сервис на другой айпи не могу, т.к. на сервере куча клиентов и они уже давно работают с ним и менять какие-либо настройки у себя вряд ли станут, а объяснять нескольким тысячам клиентов что и где надо изменить - простите, мне такого не надо.
Я лишь хочу ограничить возможность подключения к серверу почтовыми клиентами из сетей, не принадлежащих нашей зоне. Кто хочет пользоваться из-за границы пусть юзают веб морду.При этом хотелось бы организовать проверку как по айпи, так и по логину и если одно из условий не выполнено, то запретить отправку.
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                                                                                                                                                      

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Square (ok) on 11-Фев-10, 20:28 
>Всё прочёл, спасибо )
>Изменить порт или повесить сервис на другой айпи не могу, т.к. на
>сервере куча клиентов и они уже давно работают с ним и
>менять какие-либо настройки у себя вряд ли станут, а объяснять нескольким
>тысячам клиентов что и где надо изменить - простите, мне такого
>не надо.
>Я лишь хочу ограничить возможность подключения к серверу почтовыми клиентами из сетей,
>не принадлежащих нашей зоне.

Но это же клиенты вашего сервера!!! Какая вам разница с какой сети они получают доступ??

>Кто хочет пользоваться из-за границы пусть юзают
>веб морду.При этом хотелось бы организовать проверку как по айпи, так
>и по логину и если одно из условий не выполнено, то
>запретить отправку.

В чем настоящая причина заставлять отсылать ваших же пользователей почту только через веб интерфейс? Потому что он у вас через https  а smtp без шифрации?
Авторизация на smtp достаточно однозначно (лучше проверки любых ip) аутентифицирует пользователя.

>Пример, данный выше, у меня работает, но при таких настройках почту может
>отправлять любой, авторизовавшийся пользователь, не важно с какого айпи он подключается.

Да, это так. Но можно включить для smtp tls, и тогда те кто хочет отправлять почту из любой сети- должен будет настроить у себя защищенное подключение. Или пользоватся веб-мордой.

>В случае, если в "mynetworks" добавить все разрешённые сети, то не станет
>ли при такой настройке сервер отправлять почту без авторизации?

Станет.
Поэтому там должен стоять только локалхост (для веб-морды,для сайта и т.д.).

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius (ok) on 11-Фев-10, 20:52 
>Но это же клиенты вашего сервера!!! Какая вам разница с какой сети
>они получают доступ??

Поясню, данный сервер - это общественный(бесплатный) почтовик со свободной регистрацией. Так что, что там за клиенты и как они относятся к вопросам спама - вопрос открытый. И кстати, именно благодаря введению авторизации удалось избавиться от очень немалого траффика и доли спама.

>В чем настоящая причина заставлять отсылать ваших же пользователей почту только через
>веб интерфейс? Потому что он у вас через https  а
>smtp без шифрации?
>Авторизация на smtp достаточно однозначно (лучше проверки любых ip) аутентифицирует пользователя.

Причина в требовании руководства и в условиях использования сервиса, которые недавно были изменены. И кстати, smtp с шифрацией

smtpd_use_tls = yes

>Да, это так. Но можно включить для smtp tls, и тогда те
>кто хочет отправлять почту из любой сети- должен будет настроить у
>себя защищенное подключение. Или пользоватся веб-мордой.

Вот я и хочу чтобы авторизацию могли проходить только люди из доверенной сети, а всем остальным веб-морда.

>Станет.
>Поэтому там должен стоять только локалхост (для веб-морды,для сайта и т.д.).

Полностью согласен, т.к. не хочу быть релеем ни для одного, даже самого надёжного айпи.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 12-Фев-10, 06:43 
>>Я лишь хочу ограничить возможность подключения к серверу почтовыми клиентами из сетей,
>>не принадлежащих нашей зоне.
>
>Но это же клиенты вашего сервера!!! Какая вам разница с какой сети
>они получают доступ??

Square млад и не опытен, и мыслит сильно шаблонно. Возможно, это пройдет, со временем.

>>Кто хочет пользоваться из-за границы пусть юзают
>>веб морду.При этом хотелось бы организовать проверку как по айпи, так
>>и по логину и если одно из условий не выполнено, то
>>запретить отправку.
>
>В чем настоящая причина заставлять отсылать ваших же пользователей почту только через
>веб интерфейс? Потому что он у вас через https  а
>smtp без шифрации?
>Авторизация на smtp достаточно однозначно (лучше проверки любых ip) аутентифицирует пользователя.

Если бы уважаемый  Square попробовал читать исходную постановку задачи не по "первому и последнему слову", он бы нашел там упоминание об обязательной парольной авторизации. Кстати, это замечание уже было написано в другом ответе на сообщение Square.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 12-Фев-10, 06:39 
>Всё прочёл, спасибо )
>Изменить порт или повесить сервис на другой айпи не могу, т.к. на
>сервере куча клиентов и они уже давно работают с ним и менять настройки не станут

Вы чё такие трудные все, а ?

Я же сказал - сервис вешается на другой порт, и _для своей сети_ _файрволлом_ делается DNAT. Своя сеть стучится на обычный порт, а файрволл заворачивает на "нестандарнтный" даймон.

Не своя сеть файрволлом не трогается, и попадает на обычный сервис.

----------

Для чего делается такое ограничение, в отличие от "прочих обуждающих тему", адекватно понимаю. Данный способ - самый простой и не требует действий "высокой сложности".

В более навороченных случаях - можно пропатчить постфикс и сформировать в нём передачу переменной, содержащей IP подключения в SQL-запросы к БД, и использовать её уже там - это будет более гибко, поскольку позволит разрешать авторизацию "из всего интернета"  для пользователей, "проплативших соответствующую услугу".

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 07:41 
>Я же сказал - сервис вешается на другой порт, и _для своей
>сети_ _файрволлом_ делается DNAT. Своя сеть стучится на обычный порт, а
>файрволл заворачивает на "нестандарнтный" даймон.
>
>Не своя сеть файрволлом не трогается, и попадает на обычный сервис.

Допустим я повесил сервис на другой порт, и занатил свою сеть, не меняя у клиентов никаких настроек. Но этого ведь мало. Нужно чтобы публичный сервис не поддерживал авторизацию, но принимал письма извне.
Можно привести хотя бы краткий пример настройки !?

>В более навороченных случаях - можно пропатчить постфикс и сформировать в нём
>передачу переменной, содержащей IP подключения в SQL-запросы к БД, и использовать
>её уже там - это будет более гибко, поскольку позволит разрешать
>авторизацию "из всего интернета"  для пользователей, "проплативших соответствующую услугу".

Можно поподробнее об этом варианте ?

PS. Честно говоря, я не совсем понимаю принципа срабатывания правил в постфиксе. Сейчас срабатывает первое совпавшее правило и остальные остаются как бы бесполезными. Т.е. если отработало permit_sasl_authenticated, то следующие правила уже не смотрятся и клиент может быть кем угодно и отправлять что угодно, хотя тот же Qmail можно настроить так, чтобы помимо авторизации у клиента проверялся его айпи, указанный либо конкретной сетью, либо проверялся через sbl.spamhaus.org. Как подобное реализовать в постфиксе для меня загадка.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от rr on 12-Фев-10, 09:04 
а если так

smtpd_sender_restrictions =permit_mynetworks
....                                                                                                      
                                                                  
smtpd_recipient_restrictions =permit_sasl_authenticated
....

Эти два условия должны быть разнесены в разных ограничениях.

Если пользователь из своей сети первое ограничение OK и оно дальше не выполняется
Если пользователь аутентифицировался то ограничние OK и оно дальше не выполняется.

Резюме. Если хотя бы одно условие не выполняется ему отказано в доступе, небходимо выполнение двух условий.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 09:15 
>[оверквотинг удален]
>....
>
>Эти два условия должны быть разнесены в разных ограничениях.
>
>Если пользователь из своей сети первое ограничение OK и оно дальше не
>выполняется
>Если пользователь аутентифицировался то ограничние OK и оно дальше не выполняется.
>
>Резюме. Если хотя бы одно условие не выполняется ему отказано в доступе,
>небходимо выполнение двух условий.

А как при этом будут обстоять дела с подключением вебки к локалхосту и локальной отправкой почты?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 09:23 
>а если так
>
>smtpd_sender_restrictions =permit_mynetworks
>....
>
>smtpd_recipient_restrictions =permit_sasl_authenticated
>....
>
>Эти два условия должны быть разнесены в разных ограничениях.

попробовал разнести, по любому,  если есть авторизация, то постфикс уже не смотрит из какой ты сети.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от rr on 12-Фев-10, 09:12 
>[оверквотинг удален]
>>передачу переменной, содержащей IP подключения в SQL-запросы к БД, и использовать
>>её уже там - это будет более гибко, поскольку позволит разрешать
>>авторизацию "из всего интернета"  для пользователей, "проплативших соответствующую услугу".
>
>Можно поподробнее об этом варианте ?
>
>PS. Честно говоря, я не совсем понимаю принципа срабатывания правил в постфиксе.
>Сейчас срабатывает первое совпавшее правило и остальные остаются как бы бесполезными.
>Т.е. если отработало permit_sasl_authenticated, то следующие правила уже не смотрятся и
>клиент может быть кем угодно и отправлять что угодно,

в чем логика? а если клиент прошел и аутентифицировался, и находится в нужной сети, что ему мешает отправлять, что угодно?)

>хотя тот
>же Qmail можно настроить так, чтобы помимо авторизации у клиента проверялся
>его айпи, указанный либо конкретной сетью, либо проверялся через sbl.spamhaus.org. Как
>подобное реализовать в постфиксе для меня загадка.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 09:18 
>в чем логика? а если клиент прошел и аутентифицировался, и находится в
>нужной сети, что ему мешает отправлять, что угодно?)

Думаю этим уже будет заниматься спам-фильтр, который включён для всех по-умолчанию.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 12-Фев-10, 09:51 
>>Я же сказал - сервис вешается на другой порт, и _для своей
>>сети_ _файрволлом_ делается DNAT. Своя сеть стучится на обычный порт, а
>>файрволл заворачивает на "нестандарнтный" даймон.
>>
>>Не своя сеть файрволлом не трогается, и попадает на обычный сервис.
>
>Допустим я повесил сервис на другой порт, и занатил свою сеть, не
>меняя у клиентов никаких настроек. Но этого ведь мало. Нужно чтобы
>публичный сервис не поддерживал авторизацию, но принимал письма извне.
>Можно привести хотя бы краткий пример настройки !?

Two SMTP server IP addresses for mail from inside users only, with header/body filtering turned off, and a local mail pickup service with header/body filtering turned off.
/etc/postfix.master.cf:
    # ==================================================================
    # service      type  private unpriv  chroot  wakeup  maxproc command
    #                    (yes)   (yes)   (yes)   (never) (100)
    # ==================================================================
    1.2.3.4:smtp   inet  n       -       n       -       -       smtpd
    1.2.3.4:25252 inet  n       -       n       -       -       smtpd
        -o smtpd_recipient_restrictions = reject_unauth_destination,permit  \
        -o прочие опции из конфига, которые надо перекрыть


-------------------------

>PS. Честно говоря, я не совсем понимаю принципа срабатывания правил в постфиксе.
>Сейчас срабатывает первое совпавшее правило и остальные остаются как бы бесполезными.

JFYI:

#вводим доп класс проверок:
smtpd_restriction_classes = greylisting
#конфигурируем его
greylisting = check_policy_service inet:127.0.0.1:10023

#добавляем условие перехода на этот доп класс
smtpd_client_restrictions =
...
check_client_access pcre:/usr/local/etc/postfix/no_ptr.pcre,
...


содержимое файла no_ptr.pcre: /^unknown$/ greylisting

Таким образом, те у кого нет обратки, пойдут проверяться _дополнительно_ по полиси-сервису грейлистинга.

-------------------------------

Возможно, Вы тоже сможете организовать аналогичную проверку с целью достижения требуемого вам результата, используя тип таблицы cidr (вместо моего pcre)

smtpd_client_restrictions =
...
check_client_access cidr:/usr/local/etc/postfix/my_favourite_nets.cidr,
...

smtpd_restriction_classes = allow_smtp_auth
#конфигурируем его
allow_smtp_auth = permit_sasl_authenticated

содержимое файла my_favourite_nets.cidr:

1.2.3.0/24 DUNNO
1.2.0.0/16 allow_smtp_auth
3.4.5.0/24 allow_smtp_auth


>Т.е. если отработало permit_sasl_authenticated, то следующие правила уже не смотрятся и
>клиент может быть кем угодно и отправлять что угодно, хотя тот
>же Qmail можно настроить так, чтобы помимо авторизации у клиента проверялся
>его айпи, указанный либо конкретной сетью, либо проверялся через sbl.spamhaus.org. Как
>подобное реализовать в постфиксе для меня загадка.

Надеюсь, теперь понятнее и эти возможности постфикса.

-------------------

>>В более навороченных случаях - можно пропатчить постфикс и сформировать в нём
>>передачу переменной, содержащей IP подключения в SQL-запросы к БД, и использовать
>>её уже там - это будет более гибко, поскольку позволит разрешать
>>авторизацию "из всего интернета"  для пользователей, "проплативших соответствующую услугу".
>
>Можно поподробнее об этом варианте ?

Идеи недостаточно ? Реализация - платно.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 10:13 
Не сочтите совсем уж тупым, но я всё же хочу уточнить.
Сейчас мой master.cf выглядит вот так:
smtp      inet  n       -       n       -       -       smtpd
    -o content_filter=amavisfeed:[127.0.0.1]:10024
    -o receive_override_options=no_address_mappings

smtps     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.
Всё верно ?


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 14:07 
Спасибо уважаемому PavelR !!!
Сделал по Вашему совету с использованием второго сервиса smtp и DNAT.
В основном конфиге(main.cf) пришлось оставить permit_sasl_authenticated во всех smtpd_*_restrictions, кроме smtpd_client_restrictions, иначе не работала авторизация ни на одном порту.

Спасибо!!!

PS. Есть только одна неувязка. Теперь придётся добавлять все почтовые сервера в сети, которые отсылают почту на наш сервер, а так же все клиентские почтовики, иначе их редиректит и поствикс требует авторизацию.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 12-Фев-10, 14:52 
>Спасибо уважаемому PavelR !!!
>Сделал по Вашему совету с использованием второго сервиса smtp и DNAT.
>В основном конфиге(main.cf) пришлось оставить permit_sasl_authenticated во всех smtpd_*_restrictions, кроме smtpd_client_restrictions, иначе
>не работала авторизация ни на одном порту.
>
>Спасибо!!!
>
>PS. Есть только одна неувязка. Теперь придётся добавлять все почтовые сервера в
>сети, которые отсылают почту на наш сервер, а так же все
>клиентские почтовики, иначе их редиректит и поствикс требует авторизацию.

я же писал чуть по-другому:

не "-o smtpd_client_restrictions=permit_sasl_authenticated,reject", а

"-o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,permit"

и произвольный неавторизованный отправитель сможет отправлять почту для ваших доменов, или авторизованный - для любых доменов.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 15:00 
>и произвольный неавторизованный отправитель сможет отправлять почту для ваших доменов, или авторизованный
>- для любых доменов.

А что делать с параметром permit_sasl_authenticated в конфиге main.cf и нужен ли он там вообще ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Malamut email(ok) on 12-Фев-10, 12:00 
>Доброго времени суток !
>
>Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>только клиенты моей сети с сохранением обязательной авторизации. Остальным разрешён доступ
>только через веб интерфейс.
>Честно перечитал кучу мануалов, но так и не смог понять как это
>настроить.
>
>Пожалуйста, ткните носом что и куда прописать!!!

Тыкаю: тебе нужен параметр 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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 14:56 
>Тыкаю: тебе нужен параметр 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 ?
И ещё, можно ли как-то настроить чтобы проверка осуществлялась только в том случае, если клиент инициирует отправку с сервера, а в случае когда письмо предназначено одному из получателей на сервере, проверка пропускалась?
И ещё, у Вас в примере нет запятых после правил - это правильно или просто опечатка ?

Спасибо !

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Malamut email(ok) on 12-Фев-10, 15:37 
>Данное правило должно быть только в цепочке smtpd_recipient_restriction и быть заменой существующему
>правилу permit_sasl_authenticated ?

Данное правило говорит следующее: если клиент присоединился с указанного IP, то применить к нему permit_sasl_authenticated, то есть проще говоря если клиент залогинился и коннектиться с правильного IP - то permit, иначе переходим к следующему правилу.

Кстати возможно вместо hash:/etc/postfix/mynetworks надо будет использовать cidr:/etc/postfix/mynetworks.

>И ещё, можно ли как-то настроить чтобы проверка осуществлялась только в том
>случае, если клиент инициирует отправку с сервера, а в случае когда
>письмо предназначено одному из получателей на сервере, проверка пропускалась?

Так так оно и будет. После check_client_access где-то будет reject_unauth_destination, соответственно если вы не залогинены на сервере, то письмо он ваше перешлёт только на один из известных ему адресов.

>И ещё, у Вас в примере нет запятых после правил - это
>правильно или просто опечатка ?

Запятые не нужны. Можно так:

param =
opt1
opt2

А можно так:

param =
opt1,
opt2

никакой разницы нет для постфикса.

>Спасибо !

Да пожалуйста))


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

28. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 12-Фев-10, 15:43 
Спасибо, добрый человек !!!
Это именно то, что мне было нужно )
Заменил все
permit_sasl_authenticated
на
check_client_access cidr:/etc/postfix/mynetworks
В /etc/postfix/mynetworks:
1.2.3.0/24 permit_sasl_authenticated
и всё заработало как мне надо безо всяких дополнительных манипуляций с сервисами, портами и натами. ))

Всем ещё раз спасибо!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

29. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от ALex_hha (ok) on 14-Фев-10, 01:17 
>Доброго времени суток !
>
>Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>только клиенты моей сети с сохранением обязательной авторизации.

УЖОС!!! КАКИЕ DNAT?!

master.cf
xxx.xxx.xxx.xxx:smtp   inet  n       -       n       -       -       smtpd
-o smtpd_recipient_restrictions = permit_sasl_authenticated, reject

main.cf
mynetworks=127.0.0.1

xxx.xxx.xxx.xxx - внутренний ip почтовика

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

30. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 14-Фев-10, 07:47 
>>Доброго времени суток !
>>
>>Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
>>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>>только клиенты моей сети с сохранением обязательной авторизации.
>
>УЖОС!!! КАКИЕ DNAT?!
>

Ты сам-то _хорошо_ прочитал условие задачи ? Твое решение под условия не подходит. Перечитай тему.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

31. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от ALex_hha (ok) on 14-Фев-10, 14:43 
>[оверквотинг удален]
>>>
>>>Есть почтовый сервер на Postfix+Mysql с настроенной авторизацией по SMTP.
>>>Нужно настроить сервер так, чтобы отправлять почту по SMTP через него могли
>>>только клиенты моей сети с сохранением обязательной авторизации.
>>
>>УЖОС!!! КАКИЕ DNAT?!
>>
>
>Ты сам-то _хорошо_ прочитал условие задачи ? Твое решение под условия не
>подходит. Перечитай тему

Отлично прочитал, а теперь расскажи, какое именно условие не решает мое решение?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

32. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 14-Фев-10, 15:54 
>[оверквотинг удален]
>>>>только клиенты моей сети с сохранением обязательной авторизации.
>>>
>>>УЖОС!!! КАКИЕ DNAT?!
>>>
>>
>>Ты сам-то _хорошо_ прочитал условие задачи ? Твое решение под условия не
>>подходит. Перечитай тему
>
>Отлично прочитал, а теперь расскажи, какое именно условие не решает мое решение?
>

авторизоваться могут все, а должны иметь возможность авторизации - только пользователи по списку сетей, остальные не должны использовать почтовик в качестве релея даже при наличии логина-пароля.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

33. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от ALex_hha (ok) on 15-Фев-10, 01:12 
>авторизоваться могут все, а должны иметь возможность авторизации - только пользователи по
>списку сетей, остальные не должны использовать почтовик в качестве релея даже
>при наличии логина-пароля.

кто это все, если эти настройки только для внутреннего интерфейса? В постановке не было условия - авторизоваться только определенным подсетям

Вот если у ТС 10 подсетей 192.168.0.0/24 - 192.168.10.0/24, а отправку надо разрешить только трем подсетям, тогда да, мое решение не подходит. Если у ТС одна подсеть, то не вижу смысла извращаться с cidr и т.п.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

34. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от PavelR (??) on 15-Фев-10, 06:51 
>>авторизоваться могут все, а должны иметь возможность авторизации - только пользователи по
>>списку сетей, остальные не должны использовать почтовик в качестве релея даже
>>при наличии логина-пароля.
>
>кто это все, если эти настройки только для внутреннего интерфейса? В постановке
>не было условия - авторизоваться только определенным подсетям

Если ты читать не умеешь или понимаешь по своему, то конечно, "В постановке
не было условия - авторизоваться только определенным подсетям".

Может всё-таки перечитаешь тему _полностью_, с приведенными решениями, которые _удовлетворили_ требования топикстартера ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

35. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от ALex_hha (ok) on 15-Фев-10, 09:56 
>Если ты читать не умеешь или понимаешь по своему, то конечно, "В
>постановке
>не было условия - авторизоваться только определенным подсетям".
>
>Может всё-таки перечитаешь тему _полностью_, с приведенными решениями, которые _удовлетворили_ требования топикстартера
>?

По ходу читать не умеешь ты, ну да ладно :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

36. "Postfix - разрешить отправку только клиентам своей сети."  +/
Сообщение от Egenius email(ok) on 19-Фев-10, 15:03 
Ребята, давайте жить дружно!!!
Хватит устраивать разборки!
Всё уже давно решено и вопрос закрыт.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру