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

pfSense + Squid + AD

Scheduled Pinned Locked Moved Russian
23 Posts 7 Posters 3.7k 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.
  • 2
    20ivs
    last edited by Mar 12, 2019, 11:52 AM

    Приветствую уважаемых знатоков.
    Имеется 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
    • W
      werter
      last edited by werter Mar 12, 2019, 6:28 PM Mar 12, 2019, 6:21 PM

      Привет.

      Вроде ваш случай не такой уж и особенный. Главное правильно 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 Mar 13, 2019, 3:32 AM

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

        1 Reply Last reply Reply Quote 0
        • 2
          20ivs
          last edited by Mar 13, 2019, 5:09 AM

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

          K 1 Reply Last reply Mar 13, 2019, 8:41 AM Reply Quote 0
          • K
            Konstanti @20ivs
            last edited by Konstanti Mar 13, 2019, 8:49 AM Mar 13, 2019, 8:41 AM

            @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 Mar 13, 2019, 10:02 AM Reply Quote 0
            • 2
              20ivs @Konstanti
              last edited by Mar 13, 2019, 10:02 AM

              @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 Mar 13, 2019, 10:20 AM Reply Quote 0
              • L
                lucas1 @20ivs
                last edited by Mar 13, 2019, 10:20 AM

                Добрый день.
                Вчера настраивал 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 Mar 13, 2019, 11:08 AM Reply Quote 0
                • K
                  Konstanti @20ivs
                  last edited by Konstanti Mar 13, 2019, 10:32 AM Mar 13, 2019, 10:29 AM

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

                  2 1 Reply Last reply Mar 13, 2019, 11:05 AM Reply Quote 0
                  • 2
                    20ivs @Konstanti
                    last edited by Mar 13, 2019, 11:05 AM

                    @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 Mar 13, 2019, 11:16 AM Reply Quote 0
                    • 2
                      20ivs @lucas1
                      last edited by Mar 13, 2019, 11:08 AM

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

                      1 Reply Last reply Reply Quote 0
                      • K
                        Konstanti @20ivs
                        last edited by Konstanti Mar 13, 2019, 11:23 AM Mar 13, 2019, 11:16 AM

                        @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 Mar 13, 2019, 11:18 AM

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

                          1 Reply Last reply Reply Quote 0
                          • W
                            werter
                            last edited by Mar 14, 2019, 12:45 PM

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

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

                            L milleniumM 2 Replies Last reply Mar 15, 2019, 7:37 AM Reply Quote 0
                            • L
                              lucas1 @werter
                              last edited by Mar 15, 2019, 7:37 AM

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

                              1 Reply Last reply Reply Quote 0
                              • 2
                                20ivs
                                last edited by Mar 15, 2019, 7:46 AM

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

                                1 Reply Last reply Reply Quote 1
                                • milleniumM
                                  millenium @werter
                                  last edited by Apr 30, 2019, 4:48 AM

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

                                  W 1 Reply Last reply Apr 30, 2019, 9:18 AM Reply Quote 0
                                  • W
                                    werter @millenium
                                    last edited by werter Apr 30, 2019, 9:29 AM Apr 30, 2019, 9:18 AM

                                    @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 Jan 20, 2021, 9:34 AM

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

                                      W 1 Reply Last reply Jan 20, 2021, 11:26 AM Reply Quote 0
                                      • W
                                        werter @kingar
                                        last edited by werter Jan 20, 2021, 11:30 AM Jan 20, 2021, 11:26 AM

                                        @kingar

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

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

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

                                        K 1 Reply Last reply Jan 20, 2021, 11:38 AM Reply Quote 0
                                        • K
                                          kingar @werter
                                          last edited by Jan 20, 2021, 11:38 AM

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

                                          W 1 Reply Last reply Jan 20, 2021, 1:48 PM Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received