Добрый день, товарищи. Может, у кого была такая проблема: аутентификация в squid работает только для латиницы и цифр. Не хочу нагружать лишней информацией, я вроде бы вычленил проблему, но пока не пришло в голову, как это реализовать)
Реализовано всё на Centos 8.3, плюс-минус по такой инструкции: https://www.dmosk.ru/miniinstruktions.php?mini=squid-ad#groups
На контроллере сгенерирован keytab, на сервере настроен Керберос 5, Самба 4.12.3, Виндинд и Сквид 4.4. Wbinfo всё отображает корректно.
Но в access.log Сквида можно увидеть примерно такие строчки:
1618289967.445 7 192.168.21.115 TCP_DENIED/403 6873 CONNECT http://www.google.com:443 %d0%af%d1%85%d0%b8%d0%bd%d0%b0 %d0%9d %d0%90@DOMEN.LOCAL HIER_NONE/- text/html
То есть, хелпер выдаёт имя пользователя не в той кодировке. Насколько я понял, это как-то связано с параметром %LOGIN в auth_param.
Конфиг squid:
auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -d -s HTTP/proxy.domen.local@DOMEN.LOCAL
auth_param negotiate children 20
auth_param negotiate keep_alive on
auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5 -ntlmssp --domain=DOMEN
auth_param ntlm children 10
auth_param ntlm keep_alive off
external_acl_type inet_sisadmin ttl=300 negative_ttl=60 %LOGIN
/usr/lib64/squid/ext_kerberos_ldap_group_acl -g inet_sisadmin@DOMEN.LOCAL
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 «this» network (LAN)
acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl localnet src 192.168.20.0/22
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl inet_sisadmin external inet_sisadmin
http_access allow inet_sisadmin
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128
http_port 3129 intercept
coredump_dir /var/spool/squid
cache_dir ufs /var/spool/squid 4096 32 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
access_log /var/log/squid/access.log squid
Я уже понял, как можно преобразовать в нужный мне формат эту ерунду, что-то типа:
echo -ne $(echo -n "$1" | sed -E "s/%/\\\\x/g")
Но пока никак не могу применить это к параметру %LOGIN, который, похоже, жёстко забит...
Может, кто решал подобную проблему... Переименование пользователей даже не рассматривается, их очень много, и нас не поймут))
На данный момент всё прекрасно работает на Debian 7.4... Но хотелось бы обновиться.
Заранее спасибо, извините, если что не так с форматированием текста, это моя первая тема на этом форуме