Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    PFSENSE: Squid + ADGroups + HTTPS

    Scheduled Pinned Locked Moved Russian
    114 Posts 7 Posters 16.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • viktor_gV
      viktor_g Netgate
      last edited by

      есть feature request на это дело: https://redmine.pfsense.org/issues/5646

      надо бы запилить реализацию

      1 Reply Last reply Reply Quote 0
      • werterW
        werter
        last edited by werter

        @viktor_g
        Не оно?
        https://habr.com/ru/post/492684/

        viktor_gV 1 Reply Last reply Reply Quote 0
        • viktor_gV
          viktor_g Netgate @werter
          last edited by

          @werter надо бы запилить чтоб из WebGUI всё конфигурилось, без ручной правки /etc/krb5.conf и Custom Options

          p.s. спасибо за ссылку

          1 Reply Last reply Reply Quote 0
          • werterW
            werter
            last edited by

            @viktor_g
            Это @flamel спасибо за его пост на хабре )

            1 Reply Last reply Reply Quote 0
            • A
              andrey1039 @flamel
              last edited by

              @flamel said in PFSENSE: Squid + ADGroups + HTTPS:

              Далее переходим в раздел Groups ACL и в поле Client (source) формируем лдап запрос по которому будет производится поиск принадлежности пользователя к группе, как пример

              • как я понимаю, поиск идет по полю CN учетки пользователя, а это не Имя входа пользователя, а Отображаемое имя. Т.е. есть юзер с логином ivanov, а Отображаемое имя у него- Иванов Иван Иванович, поэтому хелпер никогда не найдет его ни в какой группе.
              werterW 1 Reply Last reply Reply Quote 0
              • werterW
                werter @andrey1039
                last edited by werter

                @andrey1039
                Можно же любые доступные лдап-атрибуты пользовать для этого дела. Я предпочитаю userPrincipalName.

                A 1 Reply Last reply Reply Quote 0
                • A
                  andrey1039 @werter
                  last edited by

                  @werter said in PFSENSE: Squid + ADGroups + HTTPS:

                  userPrincipalName

                  Пробовал и так, и так, все-равно не находит- пишет в браузере:
                  Client address: 192.168.1.2
                  Client name: test.buh.local
                  Client user: admin
                  Client group: default
                  Target group: none
                  URL: http://ya.ru/

                  Настройка:
                  ldapusersearch ldap://192.168.1.2:3268/DC=buh,DC=local?userPrincipalName?sub?(&(sAMAccountName=%s)(memberOf=CN=zakupki%2cCN=Users%2cDC=buh%2cDC=local))

                  A 2 Replies Last reply Reply Quote 0
                  • A
                    andrey1039 @andrey1039
                    last edited by

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • A
                      andrey1039 @andrey1039
                      last edited by andrey1039

                      В логе пишет:
                      2021-11-03 23:01:35 [1292] (squidGuard): ldap_search_ext_s failed: Operations error (params: DC=buh,DC=local, 2, (&(sAMAccountName=admin)(memberOf=CN=zakupki,CN=Users,DC=buh,DC=local)), sAMAccountName)
                      Т.е. еррор= значит, что он не может найти юзера в этой группе?

                      werterW A 2 Replies Last reply Reply Quote 0
                      • werterW
                        werter @andrey1039
                        last edited by

                        @andrey1039
                        У вас домен BUH.LOCAL наз-ся? Не firma.local хотя бы?
                        Жесть (

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          andrey1039 @werter
                          last edited by

                          @werter это для примера. Называется он по-другому, есс-но. По самому вопросу есть какие-нибудь мысли?

                          1 Reply Last reply Reply Quote 0
                          • A
                            andrey1039 @andrey1039
                            last edited by

                            В общем.

                            1. Идем на контроллер домена, запускаем dsquery user -name linux1 , где linux1 - юзер для подключения к АД. Видим ответ: CN=linux1,CN=Users,DC=buh,DC=local
                              В ПФ идем в СквидГвард, в поле "LDAP Options" пишем cn=linux1,cn=Users,dc=buh,DC=local - т.е. ту строку, что выдал нам контроллер домена, в поле LDAP DN Password - пароль этого юзера.
                            2. Снова идем на контроллер, даем команду dsquery group -name internet_allow , где internet_allow - группа, которой разрешаем ходить в инет, нам выдает:
                              CN=internet_allow,OU=proxy,OU=Services,DC=nv,DC=local
                              В ПФ в СквидГварде идем в Group ACL, идем в редактирование(или добавление, если там нет ничего) и в поле Client (source) пишем:
                              ldapusersearch ldap://1.2.3.4:3268/DC=buh,DC=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=internet_allow%2cOU=proxy%2cOU=Services%2cDC=buh%2cDC=local))

                            1.2.3.4 - это адрес контроллера домена.

                            werterW 1 Reply Last reply Reply Quote 1
                            • werterW
                              werter @andrey1039
                              last edited by

                              Добрый.
                              @andrey1039
                              Спасибо )

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                andrey1039 @werter
                                last edited by

                                Нужно сделать, чтобы на определенные адреса/сайты доступ шел мимо прокси, т.е. чтобы сквид вообще "не принимал участия" в доступе на такие сайт. Интересно, можно ли это сделать через Pfsense ?

                                F viktor_gV 2 Replies Last reply Reply Quote 0
                                • F
                                  flamel @andrey1039
                                  last edited by

                                  @andrey1039 Можно, на хабре вроде описывал как

                                  acl nonauth dstdomain "/etc/squid/nonauth.txt" — сообщаем сквиду о списке доступа nonauth в котором содержатся домены назначения, к которым всегда будет разрешен доступ всем. Сам файл создаем, а внутрь него вписываем домены в формате
                                  
                                  .whatsapp.com
                                  .whatsapp.net
                                  
                                  
                                  Whatsapp не зря используется как пример — он очень привередлив к прокси с аутентификацией и не будет работать если его не разрешить до аутентификации.
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • viktor_gV
                                    viktor_g Netgate @andrey1039
                                    last edited by

                                    @andrey1039 said in PFSENSE: Squid + ADGroups + HTTPS:

                                    Нужно сделать, чтобы на определенные адреса/сайты доступ шел мимо прокси, т.е. чтобы сквид вообще "не принимал участия" в доступе на такие сайт. Интересно, можно ли это сделать через Pfsense ?

                                    Если работает в transparent режиме, то создаёте алиас с сайтами (главное чтобы IP адреса всегда возвращались одни и те же) и добавляете его в поле "Bypass Proxy for These Destination IPs"

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      andrey1039
                                      last edited by

                                      @flamel у меня заполнены поля в разделе "SSL Man In the Middle Filtering" - т.е. SSL-трафик тоже анализируется. Я пробовал добавлять строку acl nonauth dstdomain "/etc/squid/nonauth.txt" - ничего не изменилось, на некоторые сайты все-равно не пускает. Например, у меня в nonauth.txt есть строчка .eias.ru , но на сайт https://web.eias.ru/ не пускает, приходится добавлять его в исключения в IE и потом открывать туда доступ на шлюзе.
                                      На "обычном" сквиде на FreeBSD такая же проблема, кстати. Там тоже приходилось доступ на такие сайты делать в обход прокси.

                                      werterW 1 Reply Last reply Reply Quote 0
                                      • werterW
                                        werter @andrey1039
                                        last edited by werter

                                        Добрый.
                                        @andrey1039

                                        у меня заполнены поля в разделе "SSL Man In the Middle Filtering"

                                        Скрины того, как настроено покажите, пож-та.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          andrey1039 @werter
                                          last edited by

                                          @werter Интересно то, что сквид не то чтобы не пускает- он почему-то не может найти этот сайт.(см ниже). И почему он пишет "Невозможно определить IP-адрес по имени узла «http»", а не web.eias.ru ?
                                          Пишет:
                                          При получении URL https://http/* произошла следующая ошибка
                                          Невозможно определить IP-адрес по имени узла «http»
                                          Сервер DNS ответил:
                                          Server Failure: The name server was unable to process this query.
                                          Это означает, что кэш не смог распознать имя узла в URL. Проверьте адрес на корректность.

                                          Скрин настроек прицепил.
                                          ![alt text](vot.jpg image url)

                                          werterW 1 Reply Last reply Reply Quote 0
                                          • werterW
                                            werter @andrey1039
                                            last edited by werter

                                            @andrey1039

                                            SSL Intercept Interfaces - почему нет ЛАН? У вас пф с ОДНИМ интерфейсом?

                                            Попробуйте так

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.