Есть сервер samba4.1 (dc0) (debian8) dc0.example.com Есть второй сервак с squid 3 (debian8) gw0.example.com Задача настроить авторизацию в squid3 через keytab 1.) на dc0 создаю пользователя proxy_auth 2.) Создаем service principal для этого пользователя (создадим пару для fqdn и имени хоста)
samba-tool spn add HTTP/gw0 proxy_auth
samba-tool spn add HTTP/gw0.example.com proxy_auth
3.)Экспортируем полученные значения в файл (также для полного и короткого имени хоста)
samba-tool domain exportkeytab gw0.keytab \
--principal=HTTP/gw0.example.com@EXAMPLE.COM
samba-tool domain exportkeytab gw0.keytab --principal=HTTP/gw0@EXAMPLE.COM
4.)Проверяем работоспособность:
klist -ke ./gw0.keytab
Keytab name: FILE:./gw0.keytab
KVNO Principal
---- --------------------------------------------------------------------------
1 HTTP/gw0.example.com@EXAMPLE.COM (des-cbc-crc)
1 HTTP/gw0.example.com@EXAMPLE.COM (des-cbc-md5)
1 HTTP/gw0.example.com@EXAMPLE.COM (arcfour-hmac)
1 HTTP/gw0@EXAMPLE.COM (des-cbc-crc)
1 HTTP/gw0@EXAMPLE.COM (des-cbc-md5)
1 HTTP/gw0@EXAMPLE.COM (arcfour-hmac)
Далее переносим keytab-файл на шлюз и кладем в директорию squid-а с соответствующими правами:
ls -l /etc/squid3/gw0.keytab
-rw------- 1 proxy proxy 372 июн 8 09:45 /etc/squid3/gw0.keytab
Корректируем конфигурацию клиента kerberos на шлюзе
cat /etc/krb5.conf
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_kdc = no
dns_lookup_realm = no
ticket_lifetime = 24h
default_keytab_name = /etc/squid3/gw0.keytab
; for Windows 2008 with AES
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
EXAMPLE.COM = {
kdc = dc0.example.com
; kdc = dc2.example.com
admin_server = dc0.example.com
default_domain = dc0.example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Авторизуемся на контроллере домена через kerberos:
kinit administrator
Password for administrator@EXAMPLE.COM:
Warning: Your password will expire in 39 days on
Проверяем аутентификацию в домене с помощью keytab-файла по имени principal:
kinit -V -k -t /etc/squid3/gw0.keytab HTTP/gw0.example.com@EXAMPLE.COM
Ошибка
Using default cache: /tmp/krb5cc_0
Using principal: host/gw0.example.com@EXAMPLE.COM
Using keytab: /etc/squid3/gw0.keytab
kinit: Keytab contains no suitable keys for host/gw0.example.com@EXAMPLE.COM while getting initial credentials
вручную поправлял соответствующее поле userPrincipalName на HTTP/gw0.example.com@EXAMPLE.COM через rsat не помогло