Squid 5.9 на Ubuntu 22.04 LTS не может аутентифицироваться с использованием сервера Active Directory Windows 2022.

Вопрос или проблема

Окружение:
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 также могут вызвать проблемы с доступом пользователей.

Если у вас остались вопросы или будет нужна дополнительная помощь, пожалуйста, обращайтесь.

Оцените материал
Добавить комментарий

Капча загружается...