Авторизация на SQUID через Active Directory на Debian. Реализация Kerberos аутентификации и LDAP авторизации.
Разберем как настроить связь Squid 4.9 c Active Directory через Kerberos аутентификацию и Basic LDAP авторизацию, для предоставления доступа в интернет по доменным учетным записям и разграничение прав согласно заданным группам безопасности Active Directory.
JUQwJTk4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTNB
- Контроллер домена
DC1
на Windows Server 2012 R2, доменJAKONDA.LOCAL
- Прокси-сервер
squid
на Debian 9 Stretch
Подготовка системы (Debian)
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI0JTIwJUQwJUJEJUQwJUIwJUQxJTg3JUQwJUIwJUQwJUJCJUQwJUJFJUQwJUJDJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUI0JUQwJUI1JUQwJUI5JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI4JUQwJUI5JTIwJUQwJUJFJUQwJUIxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQxJTgzJTIwJUQwJUI0JUQwJUJFJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTgxJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUJFJUQxJThGJUQwJUJEJUQwJUI4JUQxJThGJTNB
YXB0LWdldCUyMHVwZGF0ZSUyMCUyNiUyNiUyMGFwdC1nZXQlMjB1cGdyYWRlJTIwLXk=
JUQwJUEzJUQwJUJBJUQwJUIwJUQwJUI3JUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwRlFETiVDMiVBMChGdWxseSUyMFF1YWxpZmllZCUyMERvbWFpbiUyME5hbWUpJUMyJUEwJUQwJUI4JUQwJUJDJUQxJThGJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQxJThCJTJDJTIwJUQwJUIyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JTIwJTJGZXRjJTJGaG9zdG5hbWUlM0E=
squid.jakonda.local
JUQwJUEyJUQwJUIwJUQwJUJBJTIwJUQwJUI2JUQwJUI1JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJTJGZXRjJTJGaG9zdHMlMjAlRDAlQkYlRDElODAlRDAlQjglRDAlQjIlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlMjAlRDAlQkElMjAlRDAlQjIlRDAlQjglRDAlQjQlRDElODMlMjAlRDElODIlRDAlQjAlRDAlQkElRDAlQjglRDAlQkMlMjAlRDAlQkUlRDAlQjElRDElODAlRDAlQjAlRDAlQjclRDAlQkUlRDAlQkMlMkMlMjAlRDElODclRDElODIlRDAlQkUlRDAlQjElRDElOEIlMjAlRDAlQjIlMjAlRDAlQkQlRDElOTElRDAlQkMlMjAlRDAlQjElRDElOEIlRDAlQkIlRDAlQjAlMjAlRDAlQjclRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDElOEMlMjAlRDElODElMjAlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQjQlRDAlQkUlRDAlQkMlRDAlQjUlRDAlQkQlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQjglRDAlQkMlRDAlQjUlRDAlQkQlRDAlQjUlRDAlQkMlMjAlRDAlQkElRDAlQkUlRDAlQkMlRDAlQkYlRDElOEMlRDElOEUlRDElODIlRDAlQjUlRDElODAlRDAlQjAlMjAlRDAlQjglMjAlRDElODElMjAlRDAlQkElRDAlQkUlRDElODAlRDAlQkUlRDElODIlRDAlQkElRDAlQjglRDAlQkMlMjAlRDAlQjglRDAlQkMlRDAlQjUlRDAlQkQlRDAlQjUlRDAlQkMlMkMlMjAlRDElODElRDElODElRDElOEIlRDAlQkIlRDAlQjAlRDElOEUlRDElODklRDAlQjAlRDElOEYlRDElODElRDElOEYlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkQlMjAlRDAlQjglRDAlQjclMjAlRDAlQjIlRDAlQkQlRDElODMlRDElODIlRDElODAlRDAlQjUlRDAlQkQlRDAlQkQlRDAlQjglRDElODUlMjBJUCUzQQ==
MTI3LjAuMC4xJTA5bG9jYWxob3N0
127.0.1.1 squid.jakonda.local squid
Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:
YXB0LWdldCUyMGluc3RhbGwlMjBudHAlMjBudHBkYXRl
ntpdate dc1.jakonda.local
Настройка Active Directory (Windows Server 2012 R2)
JUQwJTkyJTIwRE5TJTIwJUQwJUI3JUQwJUJFJUQwJUJEJUQxJTgzJTIwSkFLT05EQS5MT0NBTCUyQyUyMCVEMCVCNCVEMCVCRSVEMCVCMSVEMCVCMCVEMCVCMiVEMCVCQiVEMSU4RiVEMCVCNSVEMCVCQyUyMEEtJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQxJThDJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUJBJUQxJTgxJUQwJUI4LSVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCMCUzQQ==
JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUI1JUQwJUIxJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThGJTIwKCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCQy4lMjBzcXVpZCklMkMlMjAlRDElODElQzIlQTAlRDAlQjElRDAlQjUlRDElODElRDAlQkElRDAlQkUlRDAlQkQlRDAlQjUlRDElODclRDAlQkQlRDElOEIlRDAlQkMlMjAlRDElODElRDElODAlRDAlQkUlRDAlQkElMjAlRDAlQjQlRDAlQjUlRDAlQjklRDElODElRDElODIlRDAlQjIlRDAlQjglRDElOEYlMjAlRDAlQkYlRDAlQjAlRDElODAlRDAlQkUlRDAlQkIlRDElOEYu
Создаем KEYTAB-файл
(необходим для аутентификации пользователей в Active Directory). В командной строке с правами администраторы выполняем команду (соблюдая регистр):
ktpass -princ HTTP/squid.jakonda.local@JAKONDA.LOCAL -mapuser squid@JAKONDA.LOCAL -pass Aa1234567 -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out C:\squid.keytab
Полученный KEYTAB-файл, передаем любым удобным способом на файловый сервер (расположение KEYTAB-файла указываем — /etc/squid/squid.keytab
). Как передать файл посредством утилиты PuTTY можно прочитать тут
JUQwJTlEJUQwJUIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTIwJUQwJUJEJUQwJUIwJUMyJUEwS0VZVEFCLSVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCNSVEMCVCMyVEMCVCRSUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCQSVEMSU4MSVEMCVCOC0lRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlRDAlQkUlRDAlQkMlM0E=
Y2hvd24lMjBwcm94eSUzQXByb3h5JTIwJTJGZXRjJTJGc3F1aWQlMkZzcXVpZC5rZXl0YWIlMjA=
Y2htb2QlMjA2NDAlMjAlMkZldGMlMkZzcXVpZCUyRnNxdWlkLmtleXRhYg==
Настройка Kerberos
JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJBJUQwJUIwJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQwJUJFJUQwJUIyJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUJBJUQwJUI4JTIwJUQwJUIwJUQxJTgzJUQxJTgyJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwS2VyYmVyb3MlM0E=
YXB0LWdldCUyMGluc3RhbGwlMjBrcmI1LXVzZXIlMjBsaWJzYXNsMi1tb2R1bGVzLWdzc2FwaS1taXQ=
JUQwJUE0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwS2VyYmVyb3MlMjAlMkZldGMlMkZrcmI1LmNvbmYlMkMlMjAlRDAlQkYlRDElODAlRDAlQjglRDAlQjIlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlMjAlRDAlQkElMjAlRDAlQjIlRDAlQjglRDAlQjQlRDElODMlM0E=
JTVCbG9nZ2luZyU1RA==
default = FILE:/var/log/krb5libs.log
JTIwJTIwJTIwJTIwa2RjJTIwJTNEJTIwRklMRSUzQSUyRnZhciUyRmxvZyUyRmtyYjVrZGMubG9n
JTIwJTIwJTIwJTIwYWRtaW5fc2VydmVyJTIwJTNEJTIwRklMRSUzQSUyRnZhciUyRmxvZyUyRmthZG1pbmQubG9n
JTVCbGliZGVmYXVsdHMlNUQ=
JTIwJTIwJTIwJTIwZGVmYXVsdF9yZWFsbSUyMCUzRCUyMEpBS09OREEuTE9DQUw=
JTIwJTIwJTIwJTIwZGVmYXVsdF9rZXl0YWJfbmFtZSUyMCUzRCUyMCUyRmV0YyUyRnNxdWlkJTJGc3F1aWQua2V5dGFi
dns_lookup_kdc = false
dns_lookup_realm = false
forwardable = true
ticket_lifetime = 24h
[realms]
JAKONDA.LOCAL = {
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwa2RjJTIwJTNEJTIwZGMxLmpha29uZGEubG9jYWwlMjA=
default_domain = JAKONDA.LOCAL
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYWRtaW5fc2VydmVyJTIwJTNEJTIwZGMxLmpha29uZGEubG9jYWwlMjA=
JTIwJTIwJTIwJTIwJTdE
JTVCZG9tYWluX3JlYWxtJTVE
.jakonda.local = JAKONDA.LOCAL
JTIwJTIwJTIwJTIwamFrb25kYS5sb2NhbCUyMCUzRCUyMEpBS09OREEuTE9DQUw=
jakonda.local/JAKONDA.LOCAL
Проверка работы Kerberos, выполним авторизацию в Active Directory:
kinit -kV -p HTTP/squid.jakonda.local
Using default cache: /tmp/krb5cc_0
VXNpbmclMjBwcmluY2lwYWwlM0ElMjBIVFRQJTJGc3F1aWQuamFrb25kYS5sb2NhbCU0MEpBS09OREEuTE9DQUw=
QXV0aGVudGljYXRlZCUyMHRvJTIwS2VyYmVyb3MlMjB2NQ==
JUQwJUEzJUQwJUI0JUQwJUIwJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUIxJUQwJUI4JUQwJUJCJUQwJUI1JUQxJTgyJTNB
kdestroy
Настройка Squid
Сперва установим необходимые пакеты для корректной работы механизмов Kerberos и LDAP:
apt-get install libsasl2-modules-gssapi-mit ldap-utils
В стартовом скрипте /etc/init.d/squid
добавим путь к keytab-файлу. В скрипте находим строку DESC="Squid HTTP Proxy"
и ниже дописываем:
KRB5_KTNAME=/etc/squid/squid.keytab
export KRB5_KTNAME
Применяем изменения в демоне и перезапускаем squid:
c3lzdGVtY3RsJTIwZGFlbW9uLXJlbG9hZA==
JTJGZXRjJTJGaW5pdC5kJTJGc3F1aWQlMjByZXN0YXJ0
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTIwS2VyYmVyb3MlMjAlRDAlQjAlRDElODMlRDElODIlRDAlQjUlRDAlQkQlRDElODIlRDAlQjglRDElODQlRDAlQjglRDAlQkElRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQjglMjBMREFQJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQwJUJFJTIwJUQwJUIyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJTJGZXRjJTJGc3F1aWQlMkZzcXVpZC5jb25mJTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI3JUQwJUIwJUQxJTgyJUQxJThDJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTNB
# ACTIVE DIRECTORY AUTH (KERBEROS)
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -s HTTP/squid.jakonda.local
YXV0aF9wYXJhbSUyMG5lZ290aWF0ZSUyMGNoaWxkcmVuJTIwMzA=
YXV0aF9wYXJhbSUyMG5lZ290aWF0ZSUyMGtlZXBfYWxpdmUlMjBvbg==
# ACTIVE DIRECTORY AUTH (LDAP)
YXV0aF9wYXJhbSUyMGJhc2ljJTIwcHJvZ3JhbSUyMCUyRnVzciUyRmxpYiUyRnNxdWlkJTJGYmFzaWNfbGRhcF9hdXRoJTIwLWIlMjAlMjJkYyUzRGpha29uZGElMkNkYyUzRGxvY2FsJTIyJTIwLVAlMjAtUiUyMC1EJTIwJTIyc3F1aWQlNDBqYWtvbmRhLmxvY2FsJTIyJTIwLXclMjAlMjJBYTEyMzQ1NjclMjIlMjAtZiUyMCUyMnNBTUFjY291bnROYW1lJTNEJTI1cyUyMiUyMGRjMS5qYWtvbmRhLmxvY2Fs
YXV0aF9wYXJhbSUyMGJhc2ljJTIwcmVhbG0lMjBTcXVpZCUyMEJhc2ljJTIwQXV0aA==
auth_param basic children 30
YXV0aF9wYXJhbSUyMGJhc2ljJTIwY3JlZGVudGlhbHN0dGwlMjA4JTIwaG91cnM=
YWNsJTIwYXV0aCUyMHByb3h5X2F1dGglMjBSRVFVSVJFRA==
Li4u
# http_access allow localnet
JTIzJTIwQUNUSVZFJTIwRElSRUNUT1JZJTIwQVVUSCUyMFVTRVJT
http_access allow auth
http_access allow localnet
необходимо закоментировать либо вовсе удалить из конфигурации.Указанные параметры позволят выход в интернет только авторизованным в Active Directory пользователям. В случае если выход в интернет осуществляется из доменной системы и авторизованным доменным пользователем, то аутентификация будет проходить по методу SSO (Single Sign On), в противном случае будет запрошен ЛОГИН\ПАРОЛЬ (доменной учетной записи) для доступа в интернет.
Для более гибкого управления доступом в интернет конечно же необходимо задействовать Группы безопасности Active Directory. Рассмотрим пример использования групп безопасности в Squid.
JUQwJUExJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUIwJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUIyJTIwQWN0aXZlJTIwRGlyZWN0b3J5JTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDLiUyMCVEMSU4MSVEMCVCQiVEMCVCNSVEMCVCNCVEMSU4MyVEMSU4RSVEMSU4OSVEMCVCOCVEMCVCNSUyMCVEMCVCMyVEMSU4MCVEMSU4MyVEMCVCRiVEMCVCRiVEMSU4QiUyMCVEMCVCMSVEMCVCNSVEMCVCNyVEMCVCRSVEMCVCRiVEMCVCMCVEMSU4MSVEMCVCRCVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCOCUzQQ==
- SQUID_FullAccess — Полный доступ
- SQUID_RestrictedAccess — Ограниченный доступ
- SQUID_BlockedAccess — Заблокированный доступ
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQwJUI4JTJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTg1JUQwJUI1JUQwJUJCJUQwJUJGJUQwJUI1JUQxJTgwJUQxJThCJTIwKEtlcmJlcm9zJTIwJUQwJUI4JTIwQmFzaWMlMjBMREFQKSUyMCVEMCVCRSVEMSU4MiVEMSU4MCVEMCVCMCVEMCVCMSVEMCVCMCVEMSU4MiVEMSU4QiVEMCVCMiVEMCVCMCVEMSU4RSVEMSU4MiUyMCVEMCVCQSVEMCVCRSVEMSU4MCVEMSU4MCVEMCVCNSVEMCVCQSVEMSU4MiVEMCVCRCVEMCVCRSUyQyUyMCVEMCVCMiVEMSU4QiVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCOCVEMCVCQyUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMCVCQSVEMCVCMCVEMCVCNiVEMCVCNCVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCOCVEMCVCNyUyMCVEMCVCRCVEMCVCOCVEMSU4NSUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMSU4MCVEMCVCRSVEMSU4MSUyQyUyMCVEMCVCMiUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCRSVEMCVCQyUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCOCVEMCVCQyUyMCVEMSU4NyVEMCVCQiVEMCVCNSVEMCVCRCVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCRSUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4RiUyMHNxdWlkJTIwJUQwJUIyJTIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUJGJUQwJUJGJUQwJUI1JTIwJUQwJUIxJUQwJUI1JUQwJUI3JUQwJUJFJUQwJUJGJUQwJUIwJUQxJTgxJUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JUMyJUEwU1FVSURfRnVsbEFjY2Vzcy4=
JUQwJTk0JUQwJUJCJUQxJThGJTIwS2VyYmVyb3MlMkMlMjAlRDAlQjIlRDElOEIlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDAlQjglRDAlQkMlMjAlRDAlQjclRDAlQjAlRDAlQkYlRDElODAlRDAlQkUlRDElODElM0E=
JTJGdXNyJTJGbGliJTJGc3F1aWQlMkZleHRfa2VyYmVyb3NfbGRhcF9ncm91cF9hY2wlMjAtYSUyMC1pJTIwLWclMjBTUVVJRF9GdWxsQWNjZXNzJTIwLUQlMjBKQUtPTkRBLkxPQ0FM
squid
a2VyYmVyb3NfbGRhcF9ncm91cC5jYyg0MzIpJTNBJTIwcGlkJTNEMTI3ODclMjAlM0EyMDIwJTJGMDElMkYyOSUyMDE2JTNBMzAlM0E1OSU3QyUyMGtlcmJlcm9zX2xkYXBfZ3JvdXAlM0ElMjBJTkZPJTNBJTIwR290JTIwVXNlciUzQSUyMHNxdWlkJTIwc2V0JTIwZGVmYXVsdCUyMGRvbWFpbiUzQSUyMEpBS09OREEuTE9DQUw=
kerberos_ldap_group.cc(437): pid=12787 :2020/01/29 16:30:59| kerberos_ldap_group: INFO: Got User: squid Domain: JAKONDA.LOCAL
support_member.cc(127): pid=12787 :2020/01/29 16:30:59| kerberos_ldap_group: INFO: User squid is member of group@domain SQUID_FullAccess@NULL
OK
JUQwJTk0JUQwJUJCJUQxJThGJTIwQmFzaWMlMjBMREFQJTJDJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTgxJTNB
JTJGdXNyJTJGbGliJTJGc3F1aWQlMkZleHRfbGRhcF9ncm91cF9hY2wlMjAtYiUyMCUyMmRjJTNEamFrb25kYSUyQ2RjJTNEbG9jYWwlMjIlMjAtUCUyMC1SJTIwLUslMjAtRCUyMCUyMnNxdWlkJTQwamFrb25kYS5sb2NhbCUyMiUyMC13JTIwJTIyQWExMjM0NTY3JTIyJTIwLWYlMjAlMjIoJTI2KG9iamVjdGNsYXNzJTNEcGVyc29uKShzQU1BY2NvdW50TmFtZSUzRCUyNXYpKG1lbWJlck9mJTNEY24lM0QlMjVnJTJDT1UlM0RTZWN1cml0eSUyMEdyb3VwcyUyQ0RDJTNEamFrb25kYSUyQ0RDJTNEbG9jYWwpKSUyMiUyMC1oJTIwZGMxLmpha29uZGEubG9jYWwlMjAtZA==
c3F1aWQlMjBTUVVJRF9GdWxsQWNjZXNz
ZXh0X2xkYXBfZ3JvdXBfYWNsLmNjKDU4OSklM0ElMjBwaWQlM0QxMTc2MCUyMCUzQUNvbm5lY3RlZCUyME9L
ext_ldap_group_acl.cc(736): pid=11760 :group filter '(&(objectclass=person)(sAMAccountName=squid)(memberOf=cn=SQUID_FullAccess,OU=Security Groups,DC=jakonda,DC=local))', searchbase 'dc=jakonda,dc=local'
OK
OK
или же ERR
. В моем случае пользователь squid имеет членство в группе SQUID_FullAccess
JUQwJUEyJUQwJUI1JUQwJUJGJUQwJUI1JUQxJTgwJUQxJThDJTIwJUQwJUIyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJTJGZXRjJTJGc3F1aWQlMkZzcXVpZC5jb25mJTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI2JUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTNB
# EXTENTION KERBEROS GROUP AUTH
external_acl_type kerberos_full_access ttl=900 negative_ttl=900 %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g SQUID_FullAccess -D JAKONDA.LOCAL
external_acl_type kerberos_restricted_access ttl=900 negative_ttl=900 %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g SQUID_RestrictedAccess -D JAKONDA.LOCAL
ZXh0ZXJuYWxfYWNsX3R5cGUlMjBrZXJiZXJvc19ibG9ja2VkX2FjY2VzcyUyMHR0bCUzRDkwMCUyMG5lZ2F0aXZlX3R0bCUzRDkwMCUyMCUyNUxPR0lOJTIwJTJGdXNyJTJGbGliJTJGc3F1aWQlMkZleHRfa2VyYmVyb3NfbGRhcF9ncm91cF9hY2wlMjAtYSUyMC1nJTIwU1FVSURfQmxvY2tlZEFjY2VzcyUyMC1EJTIwSkFLT05EQS5MT0NBTA==
JTIzJTIwRVhURU5USU9OJTIwTERBUCUyMEdST1VQJTIwQVVUSA==
ZXh0ZXJuYWxfYWNsX3R5cGUlMjBsZGFwX2dyb3VwJTIwdHRsJTNEOTAwJTIwJTI1TE9HSU4lMjAlMkZ1c3IlMkZsaWIlMkZzcXVpZCUyRmV4dF9sZGFwX2dyb3VwX2FjbCUyMC1iJTIwJTIyZGMlM0RqYWtvbmRhJTJDZGMlM0Rsb2NhbCUyMiUyMC1QJTIwLVIlMjAtSyUyMC1EJTIwJTIyc3F1aWQlNDBqYWtvbmRhLmxvY2FsJTIyJTIwLXclMjAlMjJBYTEyMzQ1NjclMjIlMjAtZiUyMCUyMiglMjYob2JqZWN0Y2xhc3MlM0RwZXJzb24pKHNBTUFjY291bnROYW1lJTNEJTI1dikobWVtYmVyT2YlM0RjbiUzRCUyNWclMkNPVSUzRFNlY3VyaXR5JTIwR3JvdXBzJTJDREMlM0RqYWtvbmRhJTJDREMlM0Rsb2NhbCkpJTIyJTIwLWglMjBkYzEuamFrb25kYS5sb2NhbA==
JTIzJTIwQUNMJTIwS0VSQkVST1MlMjBHUk9VUA==
acl kerberos_full_access external kerberos_full_access
acl kerberos_restricted_access external kerberos_restricted_access
acl kerberos_blocked_access external kerberos_blocked_access
JTIzJTIwQUNMJTIwTERBUCUyMEdST1VQ
acl ldap_full_access external ldap_group SQUID_FullAccess
acl ldap_restricted_access external ldap_group SQUID_RestrictedAccess
YWNsJTIwbGRhcF9ibG9ja2VkX2FjY2VzcyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGV4dGVybmFsJTIwbGRhcF9ncm91cCUyMFNRVUlEX0Jsb2NrZWRBY2Nlc3M=
Для общего понимания указанных выше параметров, небольшое пояснение. Сперва описывается механизм работы хелпера Kerberos, в котором мы указываем в какой группе необходимо проверять членство пользователя. Для каждой группы указывается отдельный хелпер Kerberos.
Далее описывается механизм работы хелпера Basic LDAP, в котором указывается учетная запись (я использую ту для которой делался keytab-файл) с помощью которой будет просматриваться каталог LDAP, а так же задается область в которой находятся группы безопасности. Далее задаются ACL (Access Lists), которые сопоставляются с указанными хелперами.
JUQwJTk3JUQwJUIwJUQwJUI0JUQwJUIwJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQxJTgwJUQxJThGJUQwJUI0JUQwJUJFJUQwJUJBJTIwJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUJBJUQwJUI4JTIwJUQwJUJFJUQwJUJGJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJCJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUIyJUQxJThCJUQxJTg4JUQwJUI1JTIwQUNMJTNB
http_access allow kerberos_full_access
http_access allow ldap_full_access
aHR0cF9hY2Nlc3MlMjBkZW55JTIwa2VyYmVyb3NfYmxvY2tlZF9hY2Nlc3M=
http_access deny ldap_blocked_access
http_access deny kerberos_restricted_access !allowedsites
http_access deny ldap_restricted_access !allowedsites
aHR0cF9hY2Nlc3MlMjBkZW55JTIwYmxvY2tlZHNpdGVz
http_access deny blockedsites
aHR0cF9hY2Nlc3MlMjBhbGxvdyUyMGF1dGg=
aHR0cF9hY2Nlc3MlMjBkZW55JTIwYWxs
JUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUIyJUQwJUJEJUQwJUI1JUQxJTgxJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI4JUQwJUI3JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUIyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTNB
JTJGZXRjJTJGaW5pdC5kJTJGc3F1aWQlMjByZWxvYWQ=
На этом настройка squid завершена, можно приступать к проверке работы. Для этого на пользовательских ПК необходимо задать использование Прокси-сервера (Свойствах обозревателя - Подключения - Настройка сети
). В поле «Адрес
« указываем FQDN имя системы Squid, в моем случае это squid.jakonda.local
и заданный порт.
transparent
) режиме, аутентификация пользователей Active Directory невозможна! Подробнее: http://wiki.squid-cache.org/Features/Authentication#Authentication_in_interception_and_transparent_modesПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Важно использовать имя хоста (FQDN) в настройках прокси, а не ip. У меня такая же проблема была.
Добрый день.
Столкнулся с проблемой.
При блокировке ресурса выходит окно авторизации (407). В фаили cache.log.
kid1| ERROR: Negotiate Authentication validating user. Result: {result=BH, notes={message: received type 1 NTLM token; }}
current master transaction: master19830
При этом авторизация настроена kerberos.
Как то можно выключить проверку NTLM. Что бы этого запроса не было, а был ответ 403?
В остальном все работает.
Squid 5.5+Kerberos+ssl
ось Ubuntu 20.04
Все ясно расписано. Поклон автору
С точки зрения «debian way» гораздо править не /etc/init.d/squid и потом делать systemctl daemon-reload, а всякую такую кустарщину вносить в /etc/default/squid.
В init.d-скриптах (как правило) проверяется наличие такого файла и выполняется его содержимое.
ktpass -princ HTTP/datastore1.jakonda.local@JAKONDA.LOCAL -mapuser datastore1@JAKONDA.LOCAL -pass Aa1234567 -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out C:\datastore1.keytab
здесь «datastore1» — это что?!!!
поправил, там должно быть в моем случае вместо datastore1 — squid. У вас название машины может отличаться, там нужно указывать какое имя машины вы указываете.
Добрый день!
Понятный, грамотный мануал. При AD авторизации сайты очень долго открываются, в /var/log/squid/access.log появляются ошибки TCP Denided 407
1610023854.673 1 192.168.131.2 TCP_DENIED/407 4189 CONNECT pixel.rubiconproject.com:443 — HIER_NONE/- text/html
1610023855.474 1 192.168.131.2 TCP_DENIED/407 4173 CONNECT dsum.casalemedia.com:443 — HIER_NONE/- text/html
1610023855.645 1 192.168.131.2 TCP_DENIED/407 4133 CONNECT rtb.com.ru:443 — HIER_NONE/- text/html
1610023858.774 1 192.168.131.2 TCP_DENIED/407 4169 CONNECT cdn.static.zdbb.net:443 — HIER_NONE/- text/html
1610023858.918 6246 192.168.131.2 TCP_TUNNEL/200 5889 CONNECT sync.ipredictive.com:443 пользователь@ДОМЕН HIER_DIRECT/52.200.246.203 —
1610023858.923 3385 192.168.131.2 TCP_TUNNEL/200 6015 CONNECT dsum.casalemedia.com:443 пользователь@ДОМЕН HIER_DIRECT/23.40.124.248 —
1610023858.952 1 192.168.131.2 TCP_DENIED/407 4161 CONNECT stags.bluekai.com:443 — HIER_NONE/- text/html
1610023858.954 1 192.168.131.2 TCP_DENIED/407 4193 CONNECT tpc.googlesyndication.com:443 — HIER_NONE/- text/html
1610023859.109 6378 192.168.131.2 TCP_TUNNEL/200 8019 CONNECT pixel.rubiconproject.com:443 пользователь@ДОМЕН HIER_DIRECT/69.173.144.165 —
1610023859.133 1 192.168.131.2 TCP_DENIED/407 4141 CONNECT cdn.krxd.net:443 — HIER_NONE/- text/html
1610023859.525 6617 192.168.131.2 TCP_TUNNEL/200 4059 CONNECT pixel-a.sitescout.com:443 пользователь@ДОМЕН HIER_DIRECT/66.155.71.25 —
1610023859.868 4151 192.168.131.2 TCP_TUNNEL/200 460 CONNECT rtb.com.ru:443 пользователь@ДОМЕН HIER_DIRECT/83.222.114.190 —
1610023859.882 1 192.168.131.2 TCP_DENIED/407 4153 CONNECT beacon.krxd.net:443 — HIER_NONE/- text/html
1610023859.885 0 192.168.131.2 TCP_DENIED/407 4157 CONNECT idsync.rlcdn.com:443 — HIER_NONE/- text/html
1610023861.024 8366 192.168.131.2 TCP_TUNNEL/200 3877 CONNECT ad.turn.com:443 пользователь@ДОМЕН HIER_DIRECT/46.228.164.11 —
Система Ubuntu Server 16.04.6 LTS squid 4.13
Подскажите пожалуйста как ускорить загрузку сайтов
впринципе внятный мануал, правда я собирал кальмара из исходников на 9.13, сам кальмар 4.13, единственное это был бы внятный мануал по sams2 на сборку из исходников, увы все разрабы забили на ротаторы логов под кальмара, что увы печально(
Здравствуйте! не сталкивались с такой ошибкой cache.log:
negotiate_kerberos_auth.cc(612): pid=1493 :2020/06/11 13:30:33| negotiate_kerberos_auth: DEBUG: Got ‘YR YII…HcA==’ from squid (length: 5659).
negotiate_kerberos_auth.cc(679): pid=1493 :2020/06/11 13:30:33| negotiate_kerberos_auth: DEBUG: Decode ‘YII…HcA==’ (decoded length estimate: 4242).
negotiate_kerberos_auth.cc(182): pid=1493 :2020/06/11 13:30:33| negotiate_kerberos_auth: ERROR: gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information. Encryption type not permitted
2020/06/11 13:30:33| negotiate_kerberos_auth: INFO: User not authenticated
2020/06/11 13:30:33 kid1| ERROR: Negotiate Authentication validating user. Result: {result=BH, notes={message: gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information. Encryption type not permitted; }}
система CenOS 8, squid 4.4
Отличный мануал! Лучший во всем инете! Спасибо!!!
Спасибо! Рад что он помог вам!