Navigation

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

    pfSense + Squid + AD

    Russian
    7
    23
    2176
    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.
    • 2
      20ivs last edited by

      Приветствую уважаемых знатоков.
      Имеется pfSense 2.4.4-RELEASE-p2. Возникла необходимость развернуть Squid и подружить его с AD. Squid 3.5.27_3.

      Вопросы такие:
      В конфиге squid.conf сказано -
      This file is automatically generated by pfSense
      Do not edit manually !
      Как его конфигурить, если в веб-интерфейсе параметров раз-два и обчелся?

      По-умолчанию в squid.conf строка аутентификации начинается с auth_param basic program /usr/local/libexec/squid/basic_ldap_auth, но как поменять basic_ldap_auth на ext_ldap_group_acl, например, если он сам генерит конфиг и негде указать другой хелпер?

      Во время попытки ввести пароль в браузере в cache.log всего-навсего 2019/03/12 16:30:35 kid1| Starting new basicauthenticator helpers..., никаких ошибок, при этом пароль как бы принимается, но страница не открывается. В логах контроллера домена при этом пусто. Нет логов что он кому-то отказал и аутентифицировал. Нормальная ли это ситуация в логах?
      з.ы. При включенном дебаг-моде нет никаких сообщений типа DENIED или подобного, но есть вот такое
      Acl.cc(70) AuthenticateAcl: returning 2 sending credentials to helper.
      Acl.cc(158) matches: checked: password = -1 async
      Acl.cc(158) matches: checked: http_access#12 = -1 async
      Acl.cc(158) matches: checked: http_access = -1 async
      client_side.cc(3280) clientParseRequests: Not parsing new requests, as this request may need the connection

      При попытке в командной строке pfSense выполнить /usr/local/libexec/squid/ext_ldap_group_acl -R -d -b "dc=domain,dc=com" -f "(&(objectclass=user)(sAMAccountName=%v)(memberOf=cn=%a,CN=Users,DC=domain,DC=com))" -D squid@domain.com -K -w megapassword 172.17.0.1
      (логин, группа, вывод OK). Если вбить заведомо неверный логин или группу, выдает ERR. Т.е. с помощью ext_ldap_group_acl squid может общаться с AD и читать необходимую инфу.

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

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

        Привет.

        Вроде ваш случай не такой уж и особенный. Главное правильно LDAP search filter построить.

        memberOf=cn=%a

        memberOf=CN=%a не пробовали? Это же *nix.

        https://topnetworkguide.com/category/pfsense/

        1 Reply Last reply Reply Quote 1
        • R
          Rusel_pixel last edited by

          Проблема та же, работает как с маленькими так и с большими буквами

          1 Reply Last reply Reply Quote 0
          • 2
            20ivs last edited by

            пробовали и так и так. работает в любом случае нормально при запуске команды из консоли, а в конфиге ни так ни эдак. за ссылку спасибо!

            K 1 Reply Last reply Reply Quote 0
            • K
              Konstanti @20ivs last edited by Konstanti

              @20ivs
              Доброе утро
              Попробую помочь
              Если принять за шаблон строку из конфига (см ниже) , которую формирует SQUID , какие изменения надо в нее внести , чтобы Ваш вариант работал ?

              /libexec/squid/basic_ldap_auth -v XXX -b XXX -D XXX -w XXXX -f "XXXXX" -u XXXX -P XXXX:PPP

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

              2 1 Reply Last reply Reply Quote 0
              • 2
                20ivs @Konstanti last edited by

                @konstanti
                Squd формирует такую строку
                auth_param basic program /usr/local/libexec/squid/basic_ldap_auth -v 3 -b DC=domain,DC=com -D CN=squid,CN=Users,DC=domain,DC=com -w megapassword -f "(&(objectClass=person)(sAMAccountName=%s) (memberof=CN=SquidGroup,DC=domain,DC=com))" -u sAMAccountName -P 172.17.0.1:389

                L K 2 Replies Last reply Reply Quote 0
                • L
                  lucas1 @20ivs last edited by

                  Добрый день.
                  Вчера настраивал pfSense + Squid + AD по этому:
                  https://topnetworkguide.com/pfsense-squid-active-directory-authentication/.
                  В параметре LDAP Server User DN лучше написать user@anywhere.com , а не DN.
                  Работает.
                  Но спрашивает один раз имя пользователя и пароль. Соответственно вопросы:

                  1. как сделать, чтобы не было Authentication Prompt?
                  2. что это за параметры -w megapassword -f и -u sAMAccountName?
                  2 1 Reply Last reply Reply Quote 0
                  • K
                    Konstanti @20ivs last edited by Konstanti

                    @20ivs все хорошо. Но на главный вопрос Вы не ответили. То что показали, соответствует моему шаблону. А мне от Вас нужно увидеть другое. Какие изменения надо внести в шаблон, чтобы строка в конфиге выглядела так, как Вам надо. Просьба отличия показать на примере шаблона.

                    2 1 Reply Last reply Reply Quote 0
                    • 2
                      20ivs @Konstanti last edited by

                      @konstanti
                      Я хотел бы использовать хелпер /usr/local/libexec/squid/ext_ldap_group_acl вместо /usr/local/libexec/squid/basic_ldap_auth потому как аутентификация у нас по группам и к тому же этот хелпер работает при проверке из командной строки.
                      /usr/local/libexec/squid/ext_ldap_group_acl -R -d -b "dc=domain,dc=com" -f "(&(objectclass=user)(sAMAccountName=%v)(memberOf=cn=%g,CN=SquidGroup,DC=domain,DC=com))" -D squid@domain.com -K -w megapassword 172.17.0.1
                      вывод: user SquidGroup OK
                      Надеюсь, что правильно Вас понял.

                      K 1 Reply Last reply Reply Quote 0
                      • 2
                        20ivs @lucas1 last edited by

                        @lucas1
                        -w megapassword это указан пароль пользователя squid в домене.

                        1 Reply Last reply Reply Quote 0
                        • K
                          Konstanti @20ivs last edited by Konstanti

                          @20ivs
                          т е отличие только в том , что вместо
                          /usr/local/libexec/squid/basic_ldap_auth

                          надо использовать
                          /usr/local/libexec/squid/ext_ldap_group_acl

                          все остальное остается таким же как в шаблоне ????
                          должно выглядеть так ??
                          /usr/local/libexec/squid/ext_ldap_group_acl -v XXX -b XXX -D XXX -w XXXX -f "XXXXX" -u XXXX -P XXXX:PPP
                          Просьба , ориентируйтесь на шаблон , а не то как заполнено в конфиге
                          Так проще

                          1 Reply Last reply Reply Quote 0
                          • L
                            lucas1 last edited by

                            Да, я посмотрел squid.conf. basic_ldap_auth работает для групп. Только - u uid в моем .conf/.
                            Но:
                            как сделать, чтобы не было Authentication Prompt?

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

                              как сделать, чтобы не было Authentication Prompt?

                              Может это ?
                              https://pf2ad.mundounix.com.br/

                              L millenium 2 Replies Last reply Reply Quote 0
                              • L
                                lucas1 @werter last edited by

                                А вообще появление Authentication Prompt это нормально?
                                У вас такого приглашения ввода пароля нет?

                                1 Reply Last reply Reply Quote 0
                                • 2
                                  20ivs last edited by

                                  В общем, проблема решена. Развернут нормальный полноценный Squid и никто теперь не затирает конфиг и не мешает выбирать в конфиге нужный хелпер 😀
                                  Всем спасибо за участие! Хороших выходных! 🍹

                                  1 Reply Last reply Reply Quote 1
                                  • millenium
                                    millenium @werter last edited by

                                    @werter теперь стал платный ..☹

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

                                      @millenium
                                      Попробуйте скачать скрипт https://github.com/pf2ad/pf2ad, убрать проверку версии пф в нем:

                                      Закомментировать\удалить строчки:

                                      ...
                                      # Verifica versao pfSense
                                      # if [ "$(cat /etc/version)" != "2.4.3-RELEASE" ]; then
                                      #	echo "ERROR: You need the pfSense version 2.4.3 to apply this script"
                                      #	exit 2
                                      # fi
                                      ...
                                      

                                      И уже после запустить скрипт :

                                      sh pf2ad.sh
                                      

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

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        kingar last edited by

                                        Добрый день.
                                        PfSense 2.4.5-RELEASE-p1 настроена авторизация Squid через AD.
                                        Проблема с авторизацией доменной УЗ в браузере.
                                        В организации есть два типа УЗ: рабочие и сервисные. Рабочие - меняется пароль каждый месяц и нет ограничений "вход на". Сервисные - пароль меняется реже, но прописаны сервера в "вход на" (убрать нельзя).
                                        Если указать в настройках Squid сервисную УЗ, то авторизация в браузере не проходит, если указать рабочую УЗ - все работает.
                                        Использовать рабочую УЗ не удобно (менять пароль каждый месяц, отпуска, увольнения).
                                        У сервисной УЗ прописаны все сервера("вход на"), и где стоит браузер, и где pfsense, и AD. Раньше ограничений("вход на") не было, УЗ сервисные работали.
                                        Есть подозрения, что pfsense (squid) обращается к AD под другим именем. Прописывал в hosts имя сервера и блокировал файл, чтоб pfsense не переписывал, не помогло. Что еще можно посмотреть?

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

                                          @kingar

                                          Не оч. понятное объяснение (

                                          У вас есть учетка, к-ую пользует пф для входа в АД.
                                          В GPO в настройках данной учетки поставьте ЗАПРЕТ на примение политики, к-ая заставляет менять пароли каждый месяц. Т.е. добавьте ее в исключения этой политики. ЗАПРЕТ имеет более высокий приоритет.

                                          Зы. Кстати, сама MS НЕ РЕКОМЕНДУЕТ использовать ежемесячную политику смены пароля. И в вин серв 2016, 2019 по-умолчанию этот идиотизм выкл.
                                          Если человек увольняется, то просто откл. его учетку в АД. А через 3 мес. пройдитесь скриптом на Powershell, к-ый удалит учетки, логон к-ых старше 3-х месяцев.
                                          Хороший ресурс с примерами таких скриптов http://woshub.com/

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            kingar @werter last edited by

                                            @werter
                                            Доступа к AD у меня нет. Админы AD не будут мои хотелки делать, ответ прост "не работает - не используйте".
                                            Буду пробовать отлавливать, как pfsense обращается к AD учеткой, у которой ограничен доступ входа на сервера.

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

                                              @kingar

                                              Есть подозрения, что pfsense (squid) обращается к AD под другим именем.

                                              Есть подозрение , что пф общается с АД под той учеткой, к-ая указана для этого в настройках. Не выдумывайте.

                                              Прописывал в hosts имя сервера и блокировал файл

                                              Объясните смысл сего.

                                              Или лдап-фильтр крутите для АД-учетки на пф. Но не думаю, что дело в нем.
                                              Или просите админов на той стороне сделать так, как было предложено выше. Иначе пароль учетки, к-ую пф пользует для общения с АД будет каждый месяц уходить в бан по причине идиотской политики, от к-ый отказались даже разработчики АД.

                                              Ссылка https://www.securitylab.ru/news/498917.php

                                              K 1 Reply Last reply Reply Quote 0
                                              • K
                                                kingar @werter last edited by

                                                @werter said in pfSense + Squid + AD:

                                                Объясните смысл сего.

                                                На контроллере домена фиксировался запрос авторизации от сервера "localhost.domain.local", такое имя прописано в hosts, поэтому решил зафиксировать в hosts имя сервера "server045.domain.local". Данное решение не помогло.

                                                Проблему решил так: сделал бэкап, переустановил pfsense(сброс на дефолт не помог) и накатил бэкап. После этого контроллер стал принимать имя сервера "server045.domain.local".

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

                                                  @kingar

                                                  После этого контроллер стал принимать имя сервера "server045.domain.local".

                                                  Причем тут имя пф в сети? Важна учетка в АД ,к-ая прописана в настройках ЛДАП-аутентификации на пф. И какие ПРАВА у этой учетки в самой АД.

                                                  1 Reply Last reply Reply Quote 0
                                                  • First post
                                                    Last post