pfSense + Squid + AD
- 
 Приветствую уважаемых знатоков. 
 Имеется 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 и читать необходимую инфу.Прошу знатоков направить в нужном направлении мысли для решения данной проблемы. 
- 
 Привет. Вроде ваш случай не такой уж и особенный. Главное правильно LDAP search filter построить. memberOf=cn=%a memberOf=CN=%a не пробовали? Это же *nix. https://topnetworkguide.com/category/pfsense/ 
- 
 Проблема та же, работает как с маленькими так и с большими буквами 
- 
 пробовали и так и так. работает в любом случае нормально при запуске команды из консоли, а в конфиге ни так ни эдак. за ссылку спасибо! 
- 
 @20ivs 
 Доброе утро
 Попробую помочь
 Если принять за шаблон строку из конфига (см ниже) , которую формирует SQUID , какие изменения надо в нее внести , чтобы Ваш вариант работал ?/libexec/squid/basic_ldap_auth -v XXX -b XXX -D XXX -w XXXX -f "XXXXX" -u XXXX -P XXXX:PPP при условии , что все данные squid берет из настроек . 
 Если шаблон отличается , покажите тут , как выглядит аналогичная строка в Вашем случае
- 
 @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
- 
 Добрый день. 
 Вчера настраивал pfSense + Squid + AD по этому:
 https://topnetworkguide.com/pfsense-squid-active-directory-authentication/.
 В параметре LDAP Server User DN лучше написать user@anywhere.com , а не DN.
 Работает.
 Но спрашивает один раз имя пользователя и пароль. Соответственно вопросы:- как сделать, чтобы не было Authentication Prompt?
- что это за параметры -w megapassword -f и -u sAMAccountName?
 
- 
 @20ivs все хорошо. Но на главный вопрос Вы не ответили. То что показали, соответствует моему шаблону. А мне от Вас нужно увидеть другое. Какие изменения надо внести в шаблон, чтобы строка в конфиге выглядела так, как Вам надо. Просьба отличия показать на примере шаблона. 
- 
 @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
 Надеюсь, что правильно Вас понял.
- 
 @lucas1 
 -w megapassword это указан пароль пользователя squid в домене.
- 
 @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
 Просьба , ориентируйтесь на шаблон , а не то как заполнено в конфиге
 Так проще
- 
 Да, я посмотрел squid.conf. basic_ldap_auth работает для групп. Только - u uid в моем .conf/. 
 Но:
 как сделать, чтобы не было Authentication Prompt?
- 
 как сделать, чтобы не было Authentication Prompt? Может это ? 
 https://pf2ad.mundounix.com.br/
- 
 А вообще появление Authentication Prompt это нормально? 
 У вас такого приглашения ввода пароля нет?
- 
 В общем, проблема решена. Развернут нормальный полноценный Squid и никто теперь не затирает конфиг и не мешает выбирать в конфиге нужный хелпер  
 Всем спасибо за участие! Хороших выходных! 
- 
 @werter теперь стал платный ..  
- 
 @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Может и сработать, если разработчик не грохнул зависимости, к-ые он подтягивает. 
- 
 Добрый день. 
 PfSense 2.4.5-RELEASE-p1 настроена авторизация Squid через AD.
 Проблема с авторизацией доменной УЗ в браузере.
 В организации есть два типа УЗ: рабочие и сервисные. Рабочие - меняется пароль каждый месяц и нет ограничений "вход на". Сервисные - пароль меняется реже, но прописаны сервера в "вход на" (убрать нельзя).
 Если указать в настройках Squid сервисную УЗ, то авторизация в браузере не проходит, если указать рабочую УЗ - все работает.
 Использовать рабочую УЗ не удобно (менять пароль каждый месяц, отпуска, увольнения).
 У сервисной УЗ прописаны все сервера("вход на"), и где стоит браузер, и где pfsense, и AD. Раньше ограничений("вход на") не было, УЗ сервисные работали.
 Есть подозрения, что pfsense (squid) обращается к AD под другим именем. Прописывал в hosts имя сервера и блокировал файл, чтоб pfsense не переписывал, не помогло. Что еще можно посмотреть?
- 
 Не оч. понятное объяснение ( У вас есть учетка, к-ую пользует пф для входа в АД. 
 В GPO в настройках данной учетки поставьте ЗАПРЕТ на примение политики, к-ая заставляет менять пароли каждый месяц. Т.е. добавьте ее в исключения этой политики. ЗАПРЕТ имеет более высокий приоритет.Зы. Кстати, сама MS НЕ РЕКОМЕНДУЕТ использовать ежемесячную политику смены пароля. И в вин серв 2016, 2019 по-умолчанию этот идиотизм выкл. 
 Если человек увольняется, то просто откл. его учетку в АД. А через 3 мес. пройдитесь скриптом на Powershell, к-ый удалит учетки, логон к-ых старше 3-х месяцев.
 Хороший ресурс с примерами таких скриптов http://woshub.com/
- 
 @werter 
 Доступа к AD у меня нет. Админы AD не будут мои хотелки делать, ответ прост "не работает - не используйте".
 Буду пробовать отлавливать, как pfsense обращается к AD учеткой, у которой ограничен доступ входа на сервера.

