The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Postfix - разрешить отправку только клиентам своей сети., !*! Egenius, 11-Фев-10, 15:05  [смотреть все]
Доброго времени суток !

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

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

  • 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 - разрешить отправку только клиентам своей сети., !*! 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)



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

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