Вопрос или проблема
Окружение:
Squid ОС: Ubuntu 22.04LTS
Версия Squid: 5.9
Windows DC ОС: Windows Server 2022 Standard
FFL и DFL Windows AD: 2008
Я работал несколько дней и не могу аутентифицироваться с помощью входа в Windows AD, когда пользователи используют интернет. Появилось окно запроса, но я не могу использовать ни одну учетную запись для успешного входа Имя пользователя и пароль, подтверждаю, без ошибок.
Я прикрепил файл конфигурации здесь для /etc/squid/squid.conf:
auth_param basic program /usr/lib/squid/basic_ldap_auth -v 3 -b “ou=test,dc=victor,dc=local” -D cn=squid,ou=Users,dc=victor,dc=local -w P@ssw0rd -f sAMAccountName=%s -h ad.victor.local
auth_param basic children 5
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 1 минута
acl ldap-auth proxy_auth REQUIRED
http_access allow ldap-auth
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all
/var/log/squid/access.log
1728443274.790 0 172.16.100.100 TCP_DENIED/407 4100 CONNECT beacons5.gvt2.com:443 – HIER_NONE/- text/html
1728443274.791 0 172.16.100.100 TCP_DENIED/407 4100 CONNECT beacons5.gvt3.com:443 – HIER_NONE/- text/html
1728443274.792 0 172.16.100.100 TCP_DENIED/407 4108 CONNECT clients2.google.com:443 – HIER_NONE/- text/html
1728443274.792 0 172.16.100.100 TCP_DENIED/407 4100 CONNECT beacons5.gvt3.com:443 – HIER_NONE/- text/html
1728443274.793 0 172.16.100.100 TCP_DENIED/407 4100 CONNECT beacons5.gvt3.com:443 – HIER_NONE/- text/html
1728443274.794 0 172.16.100.100 TCP_DENIED/407 4108 CONNECT clients2.google.com:443 – HIER_NONE/- text/html
1728443274.795 0 172.16.100.100 TCP_DENIED/407 4108 CONNECT clients2.google.com:443 – HIER_NONE/- text/html
1728443274.795 0 172.16.100.100 TCP_DENIED/407 4108 CONNECT clients2.google.com:443 – HIER_NONE/- text/html
1728443299.708 0 172.16.100.100 TCP_DENIED/407 4106 CONNECT www.google.com:443 – HIER_NONE/- text/html
1728443303.801 0 172.16.100.100 TCP_DENIED/407 4088 CONNECT www.google.com:443 – HIER_NONE/- text/html
Есть идеи по этому поводу? Существует ли какая-либо несовместимая ситуация? Если да, есть ли заменяющее решение?
Ответ или решение
Проблема, с которой вы столкнулись при аутентификации пользователей в Squid через Windows Active Directory (AD), может иметь несколько причин. Давайте рассмотрим основные шаги и настройки, которые помогут решить эту проблему.
1. Проверка конфигурации squid.conf
Ваш файл конфигурации выглядит почти правильно, но давайте проверим несколько важных моментов:
-
Убедитесь, что
basic_ldap_auth
установлен и работает корректно. Для этого выполните команду:/usr/lib/squid/basic_ldap_auth -v 3 -b "ou=test,dc=victor,dc=local" -D cn=squid,ou=Users,dc=victor,dc=local -w P@ssw0rd -h ad.victor.local -f sAMAccountName=username
Замените
username
на фактическое имя пользователя, чтобы проверить, работает ли аутентификация. -
Проверьте, правильно ли указаны хост и базовый DN. Если у вас есть доступ к AD, убедитесь, что
ou=test,dc=victor,dc=local
существует иcn=squid,ou=Users,dc=victor,dc=local
также правильно настроен.
2. Права доступа
Убедитесь, что учетная запись, которая используется для аутентификации (cn=squid
), имеет права на чтение атрибутов пользователей в указанной организационной единице (OU). Если нет, предоставьте необходимые права.
3. Настройка Squid
Добавьте или отредактируйте следующие разделы в squid.conf
для улучшения работы с аутентификацией:
auth_param basic credentialsttl 2 hours
auth_param basic stale_return on
4. Журналирование и отладка
Проверьте настройки журналирования Squid с более высоким уровнем детализации, чтобы получить больше информации о причине ошибок аутентификации. Вы можете установить уровень журналирования на debug
:
debug_options ALL,1
После изменения параметров, не забудьте перезапустить Squid:
sudo systemctl restart squid
5. Проверка сетевых соединений
Убедитесь, что сервер Squid может связаться с контроллером домена:
- Проверьте доступность DNS-сервера AD.
- Убедитесь, что фаервол на сервере Ubuntu разрешает трафик для LDAP и других связанных портов (обычно 389 для LDAP и 636 для LDAPS).
6. Использование LDAPS
Если ваше окружение требует безопасного соединения, возможно, стоит рассмотреть настройку LDAPS:
auth_param basic program /usr/lib/squid/basic_ldap_auth -v 3 -b "ou=test,dc=victor,dc=local" -D cn=squid,ou=Users,dc=victor,dc=local -w P@ssw0rd -h ad.victor.local -f sAMAccountName=%s -U -ZZ
7. Проверка учётных записей
Дважды проверьте, что учетные записи, которые вы используете для тестирования аутентификации, активны и не заблокированы в AD.
Заключение
Если после выполнения всех этих шагов проблема все равно сохраняется, вам, возможно, придется просмотреть логи сервера Windows Server 2022 для получения дополнительной информации о каких-либо сбоях в аутентификации. Обратите внимание, что возможные конфликты в настройках AD также могут вызвать проблемы с доступом пользователей.
Если у вас остались вопросы или будет нужна дополнительная помощь, пожалуйста, обращайтесь.