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

    SQUID + LDAP + AD

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

                                      C NTLM авторизацией тоже не все гладко. По уму надо бы делать через керберос и винбинд. Но это гемор такой, что проще сразу целый сервер FREEBSD или LINUX поставить.

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

                                        В процессе работы возникла новая проблема: Как в lightsquid-e имена пользователей из AD заменить на фамилии имена и желательно в кириллице для отчета статистика. Прочел настройку lightsquid. Там есть файлик настройки realname.cfg, но он работает с IP-адресами, а у меня имена пользователей. Как быть?

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

                                          @swch:

                                          В процессе работы возникла новая проблема: Как в lightsquid-e имена пользователей из AD заменить на фамилии имена и желательно в кириллице для отчета статистика. Прочел настройку lightsquid. Там есть файлик настройки realname.cfg, но он работает с IP-адресами, а у меня имена пользователей. Как быть?

                                          А если в этом файле прописать сопоставление фамилия-имя - имя пользователя. По аналогии с IP ?

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

                                            А вы знаете действительно помогло.
                                            Только почему-то в документации об этом ничего не сказано.

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