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

    Squid+AD+Kerberos+https without password

    Scheduled Pinned Locked Moved Russian
    49 Posts 4 Posters 9.4k 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.
    • F
      flamel
      last edited by flamel

      Копаю дальше, проверяю работу хелпера ext_kerberos_ldap_group_acl

      ext
      kerberos_ldap_group.cc(278): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: INFO: Starting version 1.3.1sq
      support_group.cc(382): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: INFO: Group list group_0@primvoda.local
      support_group.cc(447): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: INFO: Group group_0  Domain primvoda.local
      support_netbios.cc(83): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: DEBUG: Netbios list NULL
      support_netbios.cc(87): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: DEBUG: No netbios names defined.
      support_lserver.cc(82): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: DEBUG: ldap server list NULL
      support_lserver.cc(86): pid=82148 :2019/11/13 13:50:21| kerberos_ldap_group: DEBUG: No ldap servers defined.
      
      
      
      support_resolv.cc(407): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Adding PRIMVODA.LOCAL to list
      support_resolv.cc(443): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Sorted ldap server names for domain PRIMVODA.LOCAL:
      support_resolv.cc(445): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Host: uran.primvoda.local Port: 389 Priority: 0 Weight: 100
      support_resolv.cc(445): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Host: dc.primvoda.local Port: 389 Priority: 0 Weight: 100
      support_resolv.cc(445): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Host: BDC.primvoda.local Port: 389 Priority: 0 Weight: 100
      support_resolv.cc(445): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Host: PRIMVODA.LOCAL Port: -1 Priority: -2 Weight: -2
      support_ldap.cc(942): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Setting up connection to ldap server uran.primvoda.local:389
      support_ldap.cc(953): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Bind to ldap server with SASL/GSSAPI
      support_sasl.cc(259): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Could not set LDAP_OPT_X_SASL_SECPROPS: maxssf=56: Can't contact LDAP server
      support_ldap.cc(957): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Error while binding to ldap server with SASL/GSSAPI: Can't contact LDAP server
      support_ldap.cc(942): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Setting up connection to ldap server dc.primvoda.local:389
      support_ldap.cc(953): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Bind to ldap server with SASL/GSSAPI
      support_sasl.cc(259): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Could not set LDAP_OPT_X_SASL_SECPROPS: maxssf=56: Can't contact LDAP server
      support_ldap.cc(957): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Error while binding to ldap server with SASL/GSSAPI: Can't contact LDAP server
      support_ldap.cc(942): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Setting up connection to ldap server BDC.primvoda.local:389
      support_ldap.cc(953): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Bind to ldap server with SASL/GSSAPI
      support_sasl.cc(259): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Could not set LDAP_OPT_X_SASL_SECPROPS: maxssf=56: Can't contact LDAP server
      support_ldap.cc(957): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Error while binding to ldap server with SASL/GSSAPI: Can't contact LDAP server
      support_ldap.cc(942): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Setting up connection to ldap server PRIMVODA.LOCAL:389
      support_ldap.cc(953): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Bind to ldap server with SASL/GSSAPI
      support_sasl.cc(259): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Could not set LDAP_OPT_X_SASL_SECPROPS: maxssf=56: Can't contact LDAP server
      support_ldap.cc(957): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: ERROR: Error while binding to ldap server with SASL/GSSAPI: Can't contact LDAP server
      support_ldap.cc(979): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Error during initialisation of ldap connection: No error: 0
      support_ldap.cc(1048): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Error during initialisation of ldap connection: No error: 0
      support_member.cc(76): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: INFO: User netscan is not member of group@domain group_0@primvoda.local
      support_member.cc(91): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Default domain loop: group@domain group_0@primvoda.local
      support_member.cc(119): pid=46565 :2019/11/13 14:05:09| kerberos_ldap_group: DEBUG: Default group loop: group@domain group_0@primvoda.local
      
      

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

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

        @flamel

        Вот тут аж 3 части interface31.ru/tech_it/2015/07/nastraivaem-squid-dlya-raboty-s-active-directory-chast-3-avtorizaciya-na-osnove-grupp-ad.html
        Может что-то найдется.

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

          @werter да я уже читал это, но с пфсенс какая то другая оказия

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

            Остается собраться с духом (и гуглопереводчиком) и обратиться в англо-ветку.

            1 Reply Last reply Reply Quote 0
            • G
              Gonzales
              last edited by

              Приветствую!

              Я настраивал по https://journeyofthegeek.com/2017/12/30/pfsense-squid-kerberos/.

              Все получилось. (Только не надо включать ssl фильтрацию в настройках Squid-а. Он и так теперь работает как надо)

              Использую непрозрачный Squid + SquidGuard.
              Авторизация в Squid - Kerberos.
              Доступ ограничиваю SquidGuard + фильтры LDAP.

              F 1 Reply Last reply Reply Quote 0
              • F
                flamel @Gonzales
                last edited by

                @Gonzales Приветствую!
                Всё получилось! Пользователь получает тикет и успешно заходит в интернет без всяких логинов\паролей.
                Расскажите подробней, а при отключении фильтрации ssl как ограничивать пользователям доступ к сайтам по https?
                И про фильтры ldap вы имеете ввиду хелпер ext_ldap_group_acl ???

                1 Reply Last reply Reply Quote 0
                • G
                  Gonzales
                  last edited by

                  При отключенной опции
                  Services
                  -> Squid Proxy Server
                  ->HTTPS/SSL Interception

                  Enable SSL filtering.

                  https благополучно фильтруются. ( https://forum.netgate.com/topic/127178/%D0%BE%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D0%BD%D0%BE%D0%B9-%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81-%D0%BF%D0%BE-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8-https-%D0%B2-squid )

                  В SquidGuard в настройках Target categories указываем для фильтрации Domain List (Например mail.ru youtube.com) и URL List (mail.ru/ youtube.com/)

                  Фильтры LDAP:

                  в SquidGuard -> General settings:

                  Strip NT domain name [ V ]
                  Strip Kerberos Realm [ V ]

                  без этих опций не работает, т.к. имя объекта будет иметь вид user@domain.local, а нам надо просто user.

                  в SquidGuard -> Groups ACL -> Client (source):

                  ldapusersearch ldap://serverDC.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=IT_Group%2cOU=IT%2cOU=Users%2cDC=DOMAIN%2cDC=LOCAL))

                  И говорим этой группе, как поступать с каждым таргетом в Target Rules List.

                  Еще ссылки:
                  http://sophie.aero.jussieu.fr/distrib/Mandriva/2011.0/x86_64/by-pkgid/11346c3ea8d66e97756aab0a36574da7/files/34
                  тут про фильтр ldap. Мне помогла, т.к. я не указывал порт (пол дня потратил из за тупости и/или лени).

                  https://open-networks.ru/d/47-pfsense-squid-clamav
                  тут на коротке общие настройки

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    flamel @Gonzales
                    last edited by

                    @Gonzales

                    Enable LDAP FilterEnable options for setup ldap connection to create filters with ldap search
                    LDAP DN
                    CN=**учетка та же что и керберос?**,OU=service-accounts,DC=primvoda,DC=local
                    Configure your LDAP DN (ex: cn=Administrator,cn=Users,dc=domain)
                    LDAP DN Password
                    **какойтопароль**
                    Password must be initialize with letters (Ex: Change123), valid format: [a-zA-Z\/][a-zA-Z0-9/_\-\.\/\:\%\+\?=&]
                    [V] Strip NT domain nameStrip NT domain name component from user names (/ or \ separated).
                    [V] Strip Kerberos RealmStrip Kerberos Realm component from user names (@ separated).
                    

                    Я правильно все понял?

                    ldapusersearch ldap://bdc.primvoda.local:3268 почему именно этот порт?/DC=PRIMVODA,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0%2cOU=squid%2cOU=service-groups%2cDC=PRIMVODA%2cDC=LOCAL))

                    так выглядит группа, но суть в том что фильтрация не работает, лог пустой, сквидгуард говорит что все ок - включен. Пытался фильтровать через common ACL, там стоит запрет на все вообще, а все равно пускает в сеть, может я где то на сквиде не так что-то ввел?

                    Аутентификация керберос выглядит так:

                    auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -k /usr/local/etc/squid/krb5.keytab
                    auth_param negotiate children 1000
                    auth_param negotiate keep_alive on
                    
                    # включаем авторизацию по паролю
                    acl auth proxy_auth REQUIRED
                    http_access allow auth
                    http_access deny !auth
                    

                    Интеграция squidguard создана автоматически

                    url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf;url_rewrite_bypass off;url_rewrite_children 16 startup=8 idle=4 concurrency=0
                    
                    1 Reply Last reply Reply Quote 0
                    • G
                      Gonzales
                      last edited by

                      Порт можно узнать nmap-ом.

                      3268/tcp  open  globalcatLDAP
                      

                      После того как делаете изменения в настройках SquidGuard, нажимаете в Global settings кнопку [V]Apply ?

                      Что в логах cat /var/squidGuard/log/squidGuard.log?

                      Попробовать в Squid поставить http_access deny !auth перед http_access allow auth.

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        flamel @Gonzales
                        last edited by flamel

                        @Gonzales
                        На счет порта уже разобрался, даже проверил открыт ли он на контроллере.

                        18.11.2019 13:20:36	squidGuard stopped (1574047236.554)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.552)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.527)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.527)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.526)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.525)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.523)
                        18.11.2019 13:20:36	squidGuard stopped (1574047236.520)
                        18.11.2019 13:20:29	Added LDAP source: krivoshein-ay@primvoda.local
                        18.11.2019 13:20:29	(squidGuard): ldap_search_ext_s failed: Operations error (params: dc=primvoda,dc=local, 2, (&(sAMAccountName=krivoshein-ay@primvoda.local)(memberOf=CN=group_0,OU=squid,OU=service-groups,DC=primvoda,DC=local)), sAMAccountName)
                        18.11.2019 13:17:43	squidGuard ready for requests (1574047063.673)
                        18.11.2019 13:17:43	Info: recalculating alarm in 38477 seconds
                        18.11.2019 13:17:43	squidGuard 1.4 started (1574047063.464)
                        

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

                        1 Reply Last reply Reply Quote 0
                        • G
                          Gonzales
                          last edited by

                          krivoshein-ay@primvoda.local - должно быть krivoshein-ay

                          Галки в SquidGuard в General стоят?
                          Strip NT domain name [ V ]
                          Strip Kerberos Realm [ V ]

                          F 3 Replies Last reply Reply Quote 0
                          • F
                            flamel @Gonzales
                            last edited by

                            @Gonzales стоят

                            1 Reply Last reply Reply Quote 0
                            • F
                              flamel @Gonzales
                              last edited by

                              @Gonzales не совсем понимаю как логи пишутся, последняя запись "остановлено", а в general settings "STARTED"

                              1 Reply Last reply Reply Quote 0
                              • F
                                flamel @Gonzales
                                last edited by flamel

                                @Gonzales ошибка с логином

                                18.11.2019 13:57:46	Added LDAP source: krivoshein-ay@primvoda.local
                                18.11.2019 13:57:46	(squidGuard): ldap_search_ext_s failed: Operations error (params: dc=primvoda,dc=local, 2, (&(sAMAccountName=krivoshein-ay@primvoda.local)(memberOf=CN=group_0,OU=squid,OU=service-groups,DC=primvoda,DC=local)), sAMAccountName)
                                

                                Возникает когда я отключаю лдап в general settings, когда включаю начинается событие

                                18.11.2019 13:57:49	squidGuard stopped (1574049469.524)
                                
                                1 Reply Last reply Reply Quote 0
                                • G
                                  Gonzales
                                  last edited by

                                  Попробуй убрать enable ldap filter в General settings, нажать apply и посмотреть логи на предмет отсутствия
                                  squidGuard stopped.

                                  В учетной записи (на контроллере домена) посмотреть :

                                  Не стоит галка на "Без предварительной проверки подлинности Kerberos" (вот с этим в свое время тоже намучался, когда отдельно squid настраивал на centos-е)
                                  Стоит галка на "Данная учетная запись поддерживает 128-разрядное" (если делал по мануалу)

                                  d3b56fad-d308-4ee8-af39-c9e8191f31c6-image.png

                                  Можно скрин с General settings или строку с LDAP DN?

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

                                    @Gonzales 1123.JPG
                                    учетка создавалась по более простому шифрованию, не AES, попробовать пересоздать?
                                    Если убрать галочку enable LDAP filter SG чудесным образом оживает

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      flamel @Gonzales
                                      last edited by

                                      @Gonzales аутентификация при этом на самом сквиде должна быть "none"? помимо того что в дополнительных свойствах прописали

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        Gonzales
                                        last edited by

                                        На сквиде все норм. (должно быть).

                                        У меня так:
                                        В настройках Squid:
                                        [General]
                                        Enable Squid Proxy - [ V ]
                                        Keep Settings/Data - [ V ]
                                        Proxy Interface(s) - [ LAN, loopback ]
                                        Proxy Port - [ 3128 ]
                                        ICP Port - <empty>
                                        Allow Users on Interface - [ V ]
                                        Resolve DNS IPv4 First - [V]
                                        Disable ICMP - [ ]
                                        Use Alternate DNS Servers for the Proxy Server - <empty>
                                        Transparent HTTP Proxy - [ ]
                                        HTTPS/SSL Interception - [ ]

                                        в адвансед:
                                        auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -d -k /usr/local/etc/squid/proxy-pf.keytab
                                        auth_param negotiate children 60
                                        auth_param negotiate keep_alive off

                                        acl auth proxy_auth REQUIRED
                                        http_access deny !auth
                                        http_access allow auth

                                        На вкладке Real time можно посмотреть.

                                        С SG непонять.. Надо попробовать убрать enable LDAP filter, добавить пару сайтов в блэклист и попробовать на них зайти. Если не заходится, значит SG отрабатывает и значит проблема только в подключении к LDAP, т.е. в строке LDAP DN и/или LDAP DN Password в General settings.

                                        Не стоит галка на "Без предварительной проверки подлинности Kerberos" - это проверял?

                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          flamel @Gonzales
                                          last edited by

                                          @Gonzales галка не стоит, только я так и не понял, она должна стоять или нет?
                                          Поидее для работы с Ldap SG нужна любая учетка способная читать каталоги LDAP, т.е я могу попробовать любую другую учетку поставить сюда?

                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            Gonzales
                                            last edited by

                                            Да, можно попробовать другую. Вот еще господа с форума писали

                                            "Разобрался с авторизацией squid через LDAP. Нужно указать порт 3268 вместо стандартного 389. Теперь pf2ad не нужен.

                                            Squidguard заработал, когда поставил пароль на учётку из 8 букв без цифр, символов. Со сложным паролем не работает(

                                            Подключение к AD прошло успешно! :)"

                                            https://forum.netgate.com/topic/122291/pf2ad-squidguard-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-squidguard/7

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