PFSENSE: Squid + ADGroups + HTTPS
-
@viktor_g
Не оно?
https://habr.com/ru/post/492684/ -
@werter надо бы запилить чтоб из WebGUI всё конфигурилось, без ручной правки /etc/krb5.conf и Custom Options
p.s. спасибо за ссылку
-
-
@flamel said in PFSENSE: Squid + ADGroups + HTTPS:
Далее переходим в раздел Groups ACL и в поле Client (source) формируем лдап запрос по которому будет производится поиск принадлежности пользователя к группе, как пример
- как я понимаю, поиск идет по полю CN учетки пользователя, а это не Имя входа пользователя, а Отображаемое имя. Т.е. есть юзер с логином ivanov, а Отображаемое имя у него- Иванов Иван Иванович, поэтому хелпер никогда не найдет его ни в какой группе.
-
@andrey1039
Можно же любые доступные лдап-атрибуты пользовать для этого дела. Я предпочитаю userPrincipalName. -
@werter said in PFSENSE: Squid + ADGroups + HTTPS:
userPrincipalName
Пробовал и так, и так, все-равно не находит- пишет в браузере:
Client address: 192.168.1.2
Client name: test.buh.local
Client user: admin
Client group: default
Target group: none
URL: http://ya.ru/Настройка:
ldapusersearch ldap://192.168.1.2:3268/DC=buh,DC=local?userPrincipalName?sub?(&(sAMAccountName=%s)(memberOf=CN=zakupki%2cCN=Users%2cDC=buh%2cDC=local)) -
This post is deleted! -
В логе пишет:
2021-11-03 23:01:35 [1292] (squidGuard): ldap_search_ext_s failed: Operations error (params: DC=buh,DC=local, 2, (&(sAMAccountName=admin)(memberOf=CN=zakupki,CN=Users,DC=buh,DC=local)), sAMAccountName)
Т.е. еррор= значит, что он не может найти юзера в этой группе? -
@andrey1039
У вас домен BUH.LOCAL наз-ся? Не firma.local хотя бы?
Жесть ( -
@werter это для примера. Называется он по-другому, есс-но. По самому вопросу есть какие-нибудь мысли?
-
В общем.
- Идем на контроллер домена, запускаем dsquery user -name linux1 , где linux1 - юзер для подключения к АД. Видим ответ: CN=linux1,CN=Users,DC=buh,DC=local
В ПФ идем в СквидГвард, в поле "LDAP Options" пишем cn=linux1,cn=Users,dc=buh,DC=local - т.е. ту строку, что выдал нам контроллер домена, в поле LDAP DN Password - пароль этого юзера. - Снова идем на контроллер, даем команду dsquery group -name internet_allow , где internet_allow - группа, которой разрешаем ходить в инет, нам выдает:
CN=internet_allow,OU=proxy,OU=Services,DC=nv,DC=local
В ПФ в СквидГварде идем в Group ACL, идем в редактирование(или добавление, если там нет ничего) и в поле Client (source) пишем:
ldapusersearch ldap://1.2.3.4:3268/DC=buh,DC=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=internet_allow%2cOU=proxy%2cOU=Services%2cDC=buh%2cDC=local))
1.2.3.4 - это адрес контроллера домена.
- Идем на контроллер домена, запускаем dsquery user -name linux1 , где linux1 - юзер для подключения к АД. Видим ответ: CN=linux1,CN=Users,DC=buh,DC=local
-
Добрый.
@andrey1039
Спасибо ) -
Нужно сделать, чтобы на определенные адреса/сайты доступ шел мимо прокси, т.е. чтобы сквид вообще "не принимал участия" в доступе на такие сайт. Интересно, можно ли это сделать через Pfsense ?
-
@andrey1039 Можно, на хабре вроде описывал как
acl nonauth dstdomain "/etc/squid/nonauth.txt" — сообщаем сквиду о списке доступа nonauth в котором содержатся домены назначения, к которым всегда будет разрешен доступ всем. Сам файл создаем, а внутрь него вписываем домены в формате .whatsapp.com .whatsapp.net Whatsapp не зря используется как пример — он очень привередлив к прокси с аутентификацией и не будет работать если его не разрешить до аутентификации.
-
@andrey1039 said in PFSENSE: Squid + ADGroups + HTTPS:
Нужно сделать, чтобы на определенные адреса/сайты доступ шел мимо прокси, т.е. чтобы сквид вообще "не принимал участия" в доступе на такие сайт. Интересно, можно ли это сделать через Pfsense ?
Если работает в transparent режиме, то создаёте алиас с сайтами (главное чтобы IP адреса всегда возвращались одни и те же) и добавляете его в поле "Bypass Proxy for These Destination IPs"
-
@flamel у меня заполнены поля в разделе "SSL Man In the Middle Filtering" - т.е. SSL-трафик тоже анализируется. Я пробовал добавлять строку acl nonauth dstdomain "/etc/squid/nonauth.txt" - ничего не изменилось, на некоторые сайты все-равно не пускает. Например, у меня в nonauth.txt есть строчка .eias.ru , но на сайт https://web.eias.ru/ не пускает, приходится добавлять его в исключения в IE и потом открывать туда доступ на шлюзе.
На "обычном" сквиде на FreeBSD такая же проблема, кстати. Там тоже приходилось доступ на такие сайты делать в обход прокси. -
Добрый.
@andrey1039у меня заполнены поля в разделе "SSL Man In the Middle Filtering"
Скрины того, как настроено покажите, пож-та.
-
@werter Интересно то, что сквид не то чтобы не пускает- он почему-то не может найти этот сайт.(см ниже). И почему он пишет "Невозможно определить IP-адрес по имени узла «http»", а не web.eias.ru ?
Пишет:
При получении URL https://http/* произошла следующая ошибка
Невозможно определить IP-адрес по имени узла «http»
Сервер DNS ответил:
Server Failure: The name server was unable to process this query.
Это означает, что кэш не смог распознать имя узла в URL. Проверьте адрес на корректность.Скрин настроек прицепил.
![alt text]( image url) -
-
@werter да, с одним. По вашей ссылке- попробую. Но у меня есть подозрение, что я что-то неправильно настроил.
Пересмотрел еще раз настройки и кое-что поменял в соответствии с инструкцией и логикой.
У СквидГвард есть вкладка Target categories. Если я там ничего не заполняю- то браузер пишет: "Невозможно определить IP-адрес по имени узла «http»"
Если в поле Regular Expression ставлю точку(т.е. подразумевается, что это будет любой сайт) - то пускает любого- независимо от того- есть он в группе или нет.
Вопрос: что нужно заполнять на вкладке Target categories, чтобы он пускал на ВСЕ сайты всех, кто есть в нужной группе?