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

    SQUID + LDAP + AD

    Scheduled Pinned Locked Moved Russian
    57 Posts 17 Posters 50.0k 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.
    • S
      SysR
      last edited by

      @faint:

      возможно восстановить картинки из первого поста?

      К сожалению нет. Так как пришлось пока что отказаться от ЛДАП авторизации. Все необходимые опции продублированы в текстовом описании кроме строки поиска в squid.inc: /usr/local/libexec/squid/squid_ldap_auth -R [….]

      1 Reply Last reply Reply Quote 0
      • N
        nomeron
        last edited by

        Всем рекомендую пробовать по следующему блоку в доп параметрах:
        external_acl_type ldap_users %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=domen,dc=edu" -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=CN=%a,DC=domen,DC=edu))" -D user@domen.edu -w pass 192.168.0.1:389;acl ad_inet external ldap_users inetusers;http_access allow ad_inet;
        Здесь: user@domen.edu - пользователь с правами в контейнере Users
        domen.edu -имя домен
        pass - пароль

        1 Reply Last reply Reply Quote 0
        • S
          stafford
          last edited by

          Нажимаю сохранить и выскакивает ошибка

          The host 'external_acl_type ldap_users %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=test,dc=local" -f "(&(sAMAccountName=%v)(memberOf=cn=%a,ou=users_test,dc=test,dc=local))" -D smvСОБАКАtest.local -w super_password 192.168.1.1;' is not a valid CIDR range
          The host 'acl ad_inet external ldap_users users_test;' is not a valid CIDR range
          The host 'http_access allow ad_inet;' is not a valid CIDR range

          домен - test.local
          группа - users_test
          админ - test.local\smv

          1 Reply Last reply Reply Quote 0
          • P
            PhoenixFV
            last edited by

            Всех приветствую, а не могли бы вы обновить картинки к описанию, а то не могу ниодну росмотреть… Спасибо!

            1 Reply Last reply Reply Quote 0
            • N
              nomeron
              last edited by

              Вот здесь есть картинки http://www.thin.kiev.ua/router-os/50-pfsense/537-pfsense-20squid-ldap-ad-.html
              Squid только нужен 2.7 (если требуется авторизация по группам)

              1 Reply Last reply Reply Quote 0
              • P
                PhoenixFV
                last edited by

                Спасибо! А на 3 работать не будет? Мне просто нужно всем пользюкам из АД дать доступ в инет, только с авторизацией на машие…??

                1 Reply Last reply Reply Quote 0
                • P
                  PhoenixFV
                  last edited by

                  @PhoenixFV:

                  Спасибо. Сделал все по аналогии, но когда ввожу дополнительные параметры… Squid даже не запускается...

                  Вот мой код, помогите править...
                  external_acl_type ldap_Astana %LOGIN
                  /usr/local/libexec/squid/squid_ldap_group -R -b "dc=nat,dc=kz" -f "(&(sAMAccountName=%v)(memberOf=cn=%a,ou=Astana,dc=nat,dc=kz))" -D
                  pfsense123@nat.kz -w pfsense123 192.168.1.200
                  acl ad_inet external ldap_users Astana
                  http_access allow ad_inet

                  Буду ждать помощи, спасибо!

                  1 Reply Last reply Reply Quote 0
                  • N
                    nomeron
                    last edited by

                    Дополнительные параметры нужны для авторизации по группам.
                    Третий Squid на этом месте пишет разные ошибки. (Но запускаться должен).
                    Ошибки ищите Status: System logs: System
                    Проблемы у него с файлом /usr/local/libexec/squid/squid_ldap_group

                    Попробуйте без дополнительных параметров.
                    Уберите галку Allow users on interface
                    А в Proxy server: Access control пропишите подсеть, кому разрешена аутентификация
                    Если ключ -R как по инструкции добавили, то будет пускать всех пользователей из AD

                    Дополнительные параметры пример для второго сквида
                    Все одной строчкой вставляется:
                    external_acl_type ldap_users %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=test,dc=edu" -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=cn=%a,ou=users,dc=test,dc=edu))" -D admin@test.edu -w pass 192.168.0.1;acl ad_ff external ldap_users InetUsers;http_access allow ad_ff;http_access deny all;

                    1 Reply Last reply Reply Quote 0
                    • P
                      PhoenixFV
                      last edited by

                      Сделал все как вы посоветовали, но в браузере выходит окошко авторизации до бесконечности и не принимает учетку из АД, какую информацию мне предоставить вам, чтобы вы помогли мне найти проблему и возможно даже решить ее? Заранее благодарен…

                      1 Reply Last reply Reply Quote 0
                      • N
                        nomeron
                        last edited by

                        Тему сначала почитайте.
                        Первый этап в любом случае:

                        Попробуй в консоли посмотреть что возвращают:
                        Code:
                        /usr/local/libexec/squid/squid_ldap_group -R -b "dc=domain,dc=com" -f "(&(sAMAccountName=%v)(memberOf=cn=%a,ou=hq,dc=domain,dc=com))" -D srv@domain.com -w pwd 192.168.1.1

                        /usr/local/libexec/squid/squid_ldap_auth -R -v 3 -b dc=domain,dc=com -D srv@domain.com -w pwd -f "sAMAccountName=%s" -u cn -P 192.168.1.1:389
                        Первой команде в консоли указываешь user[пробел]group[энтэр]Должно вернуть ОК или ERR
                        Второй user[пробел]passwd[энтэр] так же должен увидеть ОК или ERR

                        Вот это должно работать. По крайней мере вторая команда для пользователя.
                        Если не работает - искать причину (маршрутизация правила фаервола с двух сторон, политики безопасности сети, DNS  и тп)

                        1 Reply Last reply Reply Quote 0
                        • P
                          PhoenixFV
                          last edited by

                          Я извиняюсь может за глупый вопрос, но про какую консоль идет речь, т е мне нужно подрубиться к машине с pfsense через shell и от имени root ввести туда эти команды??? Просто я раньше был мышевозом вот и туплю при работе с Unix системами, а компания хотит переходить на OpenSorce… Разъясните плиз!!! Заранее благодарен!

                          И еще оговорюсь, что домен поднят на Win Server 2008 R2, это как-то может влиять на ход вещей? Еще хотел бы уточнить а вот этот фильтр для чего userPrincipalNAme=%s  ?

                          1 Reply Last reply Reply Quote 0
                          • D
                            dvserg
                            last edited by

                            @PhoenixFV:

                            Я извиняюсь может за глупый вопрос, но про какую консоль идет речь, т е мне нужно подрубиться к машине с pfsense через shell и от имени root ввести туда эти команды??? Просто я раньше был мышевозом вот и туплю при работе с Unix системами, а компания хотит переходить на OpenSorce… Разъясните плиз!!! Заранее благодарен!

                            И еще оговорюсь, что домен поднят на Win Server 2008 R2, это как-то может влиять на ход вещей? Еще хотел бы уточнить а вот этот фильтр для чего userPrincipalNAme=%s   ?

                            http://forum.pfsense.org/index.php/topic,22839.msg126296.html#msg126296

                            SquidGuardDoc EN  RU Tutorial
                            Localization ru_PFSense

                            1 Reply Last reply Reply Quote 0
                            • N
                              nomeron
                              last edited by

                              И еще оговорюсь, что домен поднят на Win Server 2008 R2, это как-то может влиять на ход вещей? Еще хотел бы уточнить а вот этот фильтр для чего userPrincipalNAme=%s  ?

                              В Win Server 2008 R2 у объектов есть закладка "Редактор атрибутор". Там и смотрите значения.
                              userPrincipalNAme полное имя пользователя. Фактически это sAMAccountName@имя домена.
                              Сама операционная система не влияет на атрибуты. Влиять будет режим работы домена, но тут в примерах только стандартные атрибуты, которые всюду одинаковые.
                              Лучше эксперименты проводить в начале без русских букв в значениях.
                              Т.е использовать (memberOf=cn=%a,ou=hq,dc=domain,dc=com) а не (memberOf=cn=%a,ou="Бухгалтерия",dc=domain,dc=com)
                              Еще, может кто, на счет регистра символов подскажет, зачем писать memberOf ?

                              1 Reply Last reply Reply Quote 0
                              • P
                                PhoenixFV
                                last edited by

                                Спасибо всем за помощь, все заработало… Теперь есть другой вопрос, окно авторизации нельзя ли убрать??? Т.е. чтобы пользователь входил в инет но не требовалось вбивать постоянно логин и пароль, или как разрешить SSL трафик для всех пользователей домена...? Просто в конторе MACов много, и с ними есть проблемы иногда припроверки сертификатов начинают снова просить авторизацию... Помогите с SSL трафиком, спасибо!

                                1 Reply Last reply Reply Quote 0
                                • I
                                  intronet
                                  last edited by

                                  Если нужен подсчет трафика по каждому пользователю, то только через окно авторизации, иначе советую купить керио.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    swch
                                    last edited by

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

                                    Все настроил как описано выше. Не работает.
                                    Ввожу в консоле проверочные команды:
                                    На первую команду отвечает ERR.
                                    На вторую команду отвечает OK.
                                    В результате в броузере выскакивает окно для ввода логина и пароля. Если вбить правильный логин и пароль работает, если нет, то просить пароль до бесконечности.
                                    Подскажите, что я делаю не так?

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      PhoenixFV
                                      last edited by

                                      Дык, а что не так? Если по правильному заходит а по неправильному не заходит? Какую цель желаете достичь и что сейчас есть? Опишите поподробней…

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        swch
                                        last edited by

                                        @PhoenixFV:

                                        Дык, а что не так? Если по правильному заходит а по неправильному не заходит? Какую цель желаете достичь и что сейчас есть? Опишите поподробней…

                                        По идее аутентификация LDAP подразумевает, что при входе в браузер и наборе адреса сайта логин и пароль пользователя берутся автоматом и ни каких окон с запросом логина и пароля быть не должно.
                                        Выше по тексту были опубликованы проверочные команды типа:
                                        **/usr/local/libexec/squid/squid_ldap_group -R -b "dc=domain,dc=com" -f "(&(sAMAccountName=%v)(memberOf=cn=%a,ou=hq,dc=domain,dc=com))" -D srv@domain.com -w pwd 192.168.1.1

                                        /usr/local/libexec/squid/squid_ldap_auth -R -v 3 -b dc=domain,dc=com -D srv@domain.com -w pwd -f "sAMAccountName=%s" -u cn -P 192.168.1.1:389
                                        Первой команде в консоли указываешь user[пробел]group[энтэр]Должно вернуть ОК или ERR
                                        Второй user[пробел]passwd[энтэр] так же должен увидеть ОК или ERR**
                                        Так вот при наборе подобных команд в консоле у меня на первую выдает ошибку, а на вторую ОК.
                                        Почему не пойму.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          swch
                                          last edited by

                                          2 дня мучений и косяк найден.
                                          Оказалось что контейнер Users это CN, а не OU.
                                          Теперь команды хелперов выполняются нормально, правила squid все равно не работают так как хотелось.
                                          Вот кусок squid.conf:

                                          Custom options

                                          external_acl_type ldap_users %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "DC=domen,DC=local" -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=CN=%a,CN=Users,DC=domen,DC=local))" -D Proxys@domen.local -w 123456 192.168.1.1
                                          acl ad_inet external ldap_users InetUsers
                                          http_access allow ad_inet

                                          auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -R -v 3 -b DC=domen,DC=local -D Proxys@domen.local -w 123456 -f "sAMAccountName=%s" -u CN -P 192.168.1.1:389
                                          auth_param basic children 6
                                          auth_param basic realm Please enter login and password
                                          auth_param basic credentialsttl 60 minutes
                                          acl password proxy_auth REQUIRED
                                          http_access allow password localnet

                                          При открытии броузера и ввода адреса вылетает окно с запросом логина и пароля. Т.е. получается действует вот этот кусок: auth_param basic program ….
                                          Подскажите, так и должно быть или все таки кусок external_acl_type ldap_users... не работает?

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            SysR
                                            last edited by

                                            При открытии броузера и ввода адреса вылетает окно с запросом логина и пароля. Т.е. получается действует вот этот кусок: auth_param basic program ….
                                            Подскажите, так и должно быть или все таки кусок external_acl_type ldap_users... не работает?

                                            Так и должно быть.
                                            Прозрачно работает только NTLM авторизация, это уже совсем другая тема.

                                            По поводу Users… да это у МС почему-то CN, поэтому рекомендуется в АД создавать отдельные OU для своих пользователей.

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