Домен/Использование Kerberos: различия между версиями
Нет описания правки |
(→Apache) |
||
Строка 111: | Строка 111: | ||
== Apache == | == Apache == | ||
# epmi apache2-mod_auth_kerb | # epmi apache2-mod_auth_kerb | ||
# a2enmod auth_krb5 && serv httpd2 reload | # a2enmod auth_krb5 && serv httpd2 reload | ||
Строка 125: | Строка 125: | ||
Krb5Keytab /etc/krb5.time.office.keytab | Krb5Keytab /etc/krb5.time.office.keytab | ||
#KrbLocalUserMapping On | #KrbLocalUserMapping On | ||
другой вариант: | |||
# epmi apache2-mod_auth_gssapi | |||
# a2enmod auth_gssapi && serv httpd2 reload | |||
AuthType GSSAPI | |||
AuthName "WebDAV Login" | |||
GssapiBasicAuth On | |||
GssapiCredStore keytab:/etc/apache2/http.keytab | |||
require valid-user | |||
RequestHeader set REMOTE-USER %{REMOTE_USER}s | |||
https://github.com/haiwen/seafdav/issues/8 | |||
== sshd == | == sshd == |
Версия от 10:42, 8 августа 2017
Журнал ALT-review
Title::Использование Kerberos- Раздел: Section::практика Тег: Tag::kerberos,домен,приложения
|
На этой странице приводится пример использование билетов Kerberos в различных программах для подключения к сервисам. При правильной настройке пользователю выдаётся билет (TGT) при логине в систему.
kinit / klist / kdestroy
Отдельное управление билетами для отладки осуществляется следующими командами:
Получить билет:
$ kinit [USER][@DOMAIN]
В настроенной системе достаточно просто kinit, а указание полной формы типа kinit user@EXAMPLE.COM позволяет получить тикет в системе сразу после установки epmi /usr/bin/kinit.
Удалить полученные билеты из кэша:
$ kdestroy
Просмотреть полученные билеты:
$ klist
Для отладки получения билета удобно использовать
$ export KRB5_TRACE=/dev/stdout
https://web.mit.edu/kerberos/krb5-devel/doc/admin/env_variables.html
Браузеры
Chromium
$ chromium --auth-server-whitelist="*.example.com,*.etersoft.ru"
Для того, чтобы настройки применялись общесистемно:
/etc/chromium/default @@ -5,6 +5,8 @@ # Default: CHROMIUM_FLAGS="--enable-seccomp-sandbox" +CHROMIUM_FLAGS="$CHROMIUM_FLAGS --auth-server-whitelist=*.etersoft.ru,*.eterhost.ru" +
Должен быть ещё способ задания настроек по умолчанию на уровне пользователя.
curl
$ kinit $ curl --negotiate -u : "http://example.com"
Firefox
Добавить в about:config в firefox
network.negotiate-auth.delegation-uris .etersoft.ru network.negotiate-auth.trusted-uris .etersoft.ru
- https://insinuator.net/2016/02/how-to-test-kerberos-authenticated-web-applications/
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/sso-config-firefox.html
- https://forum.altlinux.org/index.php?topic=15876.msg165572#msg165572
IE
Добавить в доверенные сайты
Файловые системы
Монтирование CIFS-ресурса
# kinit # mount -o sec=krb5 //SERVER/share /mnt/share
Не ясным остаётся вопрос с
$ kinit $ sudo mount ...
(тикет перестаёт быть доступен после повышения привилегий)
Прочее
ssh
Просто подключаемся к ssh-серверу, настроив его (см. ниже настройку sshd)
Подключение к LDAP
Windows
Список полученных билетов:
> klist
Очистить:
> klist purge
Серверная сторона
nginx
Apache
- epmi apache2-mod_auth_kerb
- a2enmod auth_krb5 && serv httpd2 reload
положил тикет с SPN
добавил такие настройки:
AuthType Kerberos AuthName "Please enter your login and password for ETERSOFT.RU" KrbMethodNegotiate on KrbMethodK5Passwd on KrbServiceName HTTP/time.office.etersoft.ru@ETERSOFT.RU KrbAuthRealms ETERSOFT.RU Krb5Keytab /etc/krb5.time.office.keytab #KrbLocalUserMapping On
другой вариант:
- epmi apache2-mod_auth_gssapi
- a2enmod auth_gssapi && serv httpd2 reload
AuthType GSSAPI AuthName "WebDAV Login" GssapiBasicAuth On GssapiCredStore keytab:/etc/apache2/http.keytab
require valid-user RequestHeader set REMOTE-USER %{REMOTE_USER}s
https://github.com/haiwen/seafdav/issues/8
sshd
Для разрешения подключаться, используя билет Kerberos:
GSSAPIAuthentication yes
По неизвестной причине параметры Kerberos* трогать не нужно
nodejs
RunaWFE