- SSSD/AD
- Содержание
- Подключение к домену [ править ]
- Настройки сети [ править ]
- Настройки kerberos [ править ]
- Настройки samba [ править ]
- Подключение к домену [ править ]
- Настройка SSSD [ править ]
- Установка sssd-модуля [ править ]
- Настройка авторизации [ править ]
- Настройка аутентификации [ править ]
- Запуск и проверка сервиса sssd [ править ]
- Подключение файловых ресурсов [ править ]
- Через pam_mount [ править ]
- Домен/Использование Kerberos
- Содержание
- kinit / klist / kdestroy [ править ]
- Браузеры [ править ]
- Chromium [ править ]
- curl [ править ]
- wget [ править ]
- Firefox [ править ]
- IE [ править ]
- Файловые системы [ править ]
- Монтирование CIFS-ресурса [ править ]
- Прочее [ править ]
- ssh [ править ]
- Подключение к LDAP [ править ]
- Windows [ править ]
- Серверная сторона [ править ]
- nginx [ править ]
- Apache [ править ]
- mod_auth_kerb [ править ]
- mod_auth_gssapi [ править ]
- sshd [ править ]
- Домен/Kerberos
- Материал из ALT Linux Wiki
- Содержание
- Проверка работы сервера
- Принципалы (пользователи)
- kadmin.local
- Проверка получения билета
- Запросить билет у Kerberos
- Показ полученных билетов
- Очистить локальный кэш билетов
- Синхронизация времени
- Нюансы работы
- Увеличиваем срок выдаваемого билета
- Использование старых версий Kerberos с новыми
- Ошибка запуска службы krb5kdc
- Домен/Kerberos
- Содержание
- Проверка работы сервера [ править ]
- Принципалы (пользователи) [ править ]
- kadmin.local [ править ]
- Проверка получения билета [ править ]
- Запросить билет у Kerberos [ править ]
- Показ полученных билетов [ править ]
- Очистить локальный кэш билетов [ править ]
- Синхронизация времени [ править ]
- Нюансы работы [ править ]
- Увеличиваем срок выдаваемого билета [ править ]
- Использование старых версий Kerberos с новыми [ править ]
- Ошибка запуска службы krb5kdc [ править ]
SSSD/AD
Подготовка клиентской станции (подключение к домену AD), настройка и установка аутентификации и авторизации c помощью сервиса SSSD.
Содержание
Подключение к домену [ править ]
Нижеописанная процедура настройки автоматизирована с помощью пакета task-auth-ad-sssd и введения в домен через ЦУС (acc) — alterator-auth версии >=0.31
Настройки сети [ править ]
Для подключением к домену проводим проверку настроек сети:
- в качестве первичного DNS (первая запись nameserver в /etc/resolv.conf) должен быть указан DNS-сервер домена
обычно, в таком качестве выступает один или несколько, контроллеров домена:
- имя подключаемого, клиентского узла должно быть определено, как FQDN. Например, для рабочей станции client2 в домене dom.loc:
Настройки kerberos [ править ]
Далее проверяем клиентские настройки kerberos через DNS. В данном случае, для домена dom.loc.:
И задаем их в файле /etc/krb5.conf
- kerberos-имя домена («рилма», realm):
- отключаем поиск kerberos-имени домена через DNS:
- оставляем (или включаем) поиск kerberos-настроек домена через DNS:
Если настройки сети и kerberos выполнены правильно, то мы может получить kerberos TGT от контроллера домена:
Настройки samba [ править ]
Для подключения рабочей станции в домену требуется утилита net из пакета samba-common-tools, кроме того стоит сразу установить пакет samba-client с набором клиентских утилит:
В файле /etc/samba/smb.conf, минимально, необходимо задать следующие параметры в секции [global]:
- kerberos-имя домена:
- краткое имя домена, соответствующее имени рабочей группы:
- имя рабочей станции в сетевом окружении:
- уровень безопасности Active Directory:
- Метод хранения kerberos-ключей рабочей станции:
- алгоритм преобразования SID’ов:
Набор полученных настроек можно проверить с помощью утилиты testparm:
Ошибка rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) до перезагрузки исправляется командой:
Что бы лимиты действовали и после перезагрузки необходимо отредактировать файл /etc/security/limits.conf :
Подключение к домену [ править ]
Проверка наличия kerberos-ключей для рабочей станции
Настройка SSSD [ править ]
Установка sssd-модуля [ править ]
Для работы с Active Directory в SSSD имеется специальный AD-провайдер:
Минимальный конфигурационный файл (/etc/sssd/sssd.conf) для sssd-ad выглядит следующим образом:
Опция ldap_id_mapping = False позволяет включить использование POSIX атрибутов, определённых в Active Directory, вместо встроенной, однозначной трансляции SID’ов. Основная проблема применения POSIX-атрибутов состоит в том, что они могут быть не заданы. В этом случае сервис sssd не загрузится.
Опция use_fully_qualified_names = True включает режим полных имён (включая домен) для пользователей и групп.
Опция fallback_homedir = /home/%d/%u задает домашнюю папку для доменных пользователей. При такой записи %d означает FQDN. Здесь вручную можно указать имя рабочей группы, например /home/DOM/%u
Опция cache_credentials включает режим кэширования аутентификационных данных (полезно при недоступности домена)
Опция user позволяет задать имя пользователя, под которым будет исполняться непривилегированная часть службы SSSD
Настройка авторизации [ править ]
Авторизационные NSS-базы GLibc настраиваются в файле /etc/nsswitch.conf При использовании sssd, требуется внести исправления в следующие строчки:
Настройка аутентификации [ править ]
Для изменения настроек аутентификации (параметров PAM) в ALT Linux используется утилита control:
Запуск и проверка сервиса sssd [ править ]
Если все настройки выполнены правильно, то после запуска сервиса sssd:
будут доступны авторизационные данные для пользователя administrator:
Или для administrator@dom.loc, если установлена опция use_fully_qualified_names = True:
Подключение файловых ресурсов [ править ]
Рассматриваемые способы позволяют подключать файловые ресурсы (file shares) для доменного пользователя без повторного ввода пароля (SSO, Single Sign-On).
Через pam_mount [ править ]
В этом случае заданный ресурс подключается с заданного сервера автоматически при каждом входе доменным пользователем.
1. Устанавливаем pam_mount :
2. Прописываем pam_mount в схему /etc/pam.d/system-auth-sss :
(перед auth required pam_sss.so )
и в секцию session:
3. Устанавливаем правило монтирования ресурса в файле /etc/security/pam_mount.conf.xml (перед тегом ):
- uid=»10000-2000200000″ — диапазон присваиваемых для доменных пользователей UID (подходит и для Winbind и для SSSD)
- server=»c228″ — имя сервера с ресурсом
- path=»sysvol» — имя файлового ресурса
- mountpoint=»
/share» — путь монтирования в домашней папке пользователя
Опционально можно добавить
- sgrp=»group_name» — имя группы, при членстве пользователя в которой, папка будет примонтирована
Для проверки можно попробовать смонтировать ресурс в сессии:
Также можно проверить доступность ресурса с помощью smbclient, например:
Источник
Домен/Использование Kerberos
На этой странице приводится пример использование билетов Kerberos в различных программах для подключения к сервисам. При правильной настройке пользователю выдаётся билет (TGT) при логине в систему.
Содержание
kinit / klist / kdestroy [ править ]
Отдельное управление билетами для отладки осуществляется следующими командами:
В настроенной системе достаточно просто kinit, а указание полной формы типа kinit user@EXAMPLE.COM позволяет получить тикет в системе сразу после установки epmi /usr/bin/kinit.
Удалить полученные билеты из кэша:
Просмотреть полученные билеты:
Для отладки получения билета удобно использовать
Если машина находится в другой сети, то потребуется ручное указание REALM и соответствия его домену в /etc/krb5.conf:
Браузеры [ править ]
Chromium [ править ]
Для того, чтобы установить настройки для всех пользователей машины, создайте /etc/chromium/policies/recommended/kerberos.json со следующим содержимым (например):
Должен быть ещё способ задания настроек по умолчанию на уровне пользователя.
curl [ править ]
(если не работает, проверяйте $ epmqf curl — он может оказаться от CryptoPro, где он старый и не поддерживает GSSAPI)
wget [ править ]
Судя по всему, поддержка GSSAPI так и не включена апстримом.
Firefox [ править ]
Открыть about:config в firefox и добавить через запятую нужные узлы:
Либо добавить в prefs.js при закрытом браузере:
Способ общесистемных настроек пока не найден.
IE [ править ]
Добавить в доверенные сайты
- Свойства браузера -> Безопасность -> Надёжные сайты
- Нажать на кнопку «Сайты» и добавить адрес нужного сайта
- Нажать на кнопку «Другое» и найти раздел » Проверка подлинности пользователя» в окошке «Параметры»
- Выбрать пункт «Автоматический вход в сеть с текущим именем пользователя и паролем»
Файловые системы [ править ]
Монтирование CIFS-ресурса [ править ]
Не ясным остаётся вопрос с
(тикет перестаёт быть доступен после повышения привилегий)
Прочее [ править ]
ssh [ править ]
Просто подключаемся к ssh-серверу, настроив его (см. ниже настройку sshd)
Чтобы подключаться к пользователю с другим логином (ssh otheruser@host) нужно на удалённой машине создать файл
/.k5login и в него вписать разрешённые адреса, например:
Так как содержимое файла .k5login перекрывает правила по умолчанию, нужно явно вписывать туда всех пользователей, которым разрешено подключение.
Подключение к LDAP [ править ]
Windows [ править ]
Список полученных билетов:
Серверная сторона [ править ]
nginx [ править ]
Apache [ править ]
mod_auth_kerb [ править ]
Не используйте mod_auth_kerb, он давно устарел и удалён, см. 39063. Перейдите к mod_auth_gssapi.
- epmi apache2-mod_auth_kerb
- a2enmod auth_krb5 && serv httpd2 reload
положил тикет с SPN в /etc/krb5.time.office.keytab
добавил такие настройки:
mod_auth_gssapi [ править ]
- epmi apache2-mod_auth_gssapi
- a2enmod auth_gssapi && serv httpd2 reload
См. также полную статью Apache2/AD-auth.
sshd [ править ]
Для разрешения подключаться, используя билет Kerberos, нужно раскомментировать в /etc/openssh/sshd_config:
Источник
Домен/Kerberos
Материал из ALT Linux Wiki
Kerberos — сетевой протокол аутентификации, позволяющий передавать данные через незащищённые сети для безопасной идентификации. Более подробно узнать об этом протоколе можете в статье про Kerberos на Wikipedia. В домене ALT Linux этот протокол занимает важное место, так как обеспечивает инфраструктуру для аутентификации пользователей (для входа в систему, для использования сетевых ресурсов по протоколу SMB и доступа в Интернет через прокси-сервер).
Сервер аутентификации выполняет одну функцию: получает запрос, содержащий имя клиента, запрашивающего аутентификацию, и возвращает ему зашифрованный TGT (Ticket Granting Ticket, билет для получения билета). Затем пользователь может использовать этот TGT для запроса дальнейших билетов на другие службы. Часто специалисты билет называют «тикетом».
С практической точки зрения нас интересуют нюансы использования и отладки Kerberos.
Содержание
Проверка работы сервера
Итак, при создании ALT-домена настраивается также и служба Kerberos на сервере krb5kdc . Основной её чертой является крайняя немногословность (по соображениям безопасности), что затрудняет отладку.
В модуле «Домен» веб-интерфейса показывается текущее состояние в том числе и службы Kerberos. Если всё в порядке, то показывается
Альтернативный способ получить статус домена:
В ALT Linux Kerberos хранит все свои данные в LDAP. Поэтому для успешной работы Kerberos требуется как запуск сервера LDAP slapd , так и заполнение структуры базы для Kerberos (при проверке в LDAP ищутся записи класса krbRealmContainer ).
Если служба krb5kdc не запущена, то попробуйте запустить её вручную:
Настройка сервера Kerberos (KDC) осуществляется в файле /var/lib/kerberos/krb5kdc/kdc.conf
Там же видно, что журналы kdc и admin_server прописываются в секции [logging] и через syslogd попадают в файл /var/log/messages .
Принципалы (пользователи)
В Kerberos билеты (тикеты) выдаются только членам профсоюза зарегистрированным принципалам. Это могут быть как пользователи, так и службы. При создании домена создаются и принципалы поддерживаемых служб. В базу Kerberos пользователи добавляются через веб-интерфейс (раздел «Пользователи») или из командной строки в программе ldap-useradd.
Для заведения пользователей и в базе Kerberos в файле /etc/sysconfig/system должна быть указана роль сервера master:
Проверить, заведён ли пользователь можно программой kadmin.local .
kadmin.local
Проверка заведённых принципалов:
Обратите внимание, выводятся как обычные пользователи, так и службы. Последние идут с FQDN (полным доменным именем) сервера, указанным через / от названия службы.
- kadmin.local работает и при выключенной службе krb5kdc .
- вы можете запустить kadmin.local без параметров и указывать команды прямо в появившейся командной строке
- перечень команд можно посмотреть в man kadmin.local
- команда listprinc может указываться с шаблоном. Например
- завести принципала в Kerberos можно командой
Вообще рекомендуется использовать функции alterator-kdc-princ-functions.
Далее проверяем заведённого пользователя (пусть у нас есть принципал cas):
И смена пароля у принципала Kerberos:
Проверка получения билета
Для использования утилит работы с билетами Kerberos на стороне клиента необходимо установить пакет krb5-kinit .
Запросить билет у Kerberos
Укажите пароль и нажмите Enter.
Показ полученных билетов
Обратите внимание, что билет для службы krbtgt выдан на сутки. Как управлять сроком выдаваемого билета и его обновлением, будет рассказано ниже.
Очистить локальный кэш билетов
Синхронизация времени
Одним из основных требований успешного использования Kerberos является обеспечение одинакового времени на сервере и клиенте. В рамках ALT-домена эта задача решена использованием синхронизации по RFC 867. Для этого на сервере включается через xinetd daytime-tcp:
А на клиенте — служба settime-rfc867 :
Нюансы работы
Увеличиваем срок выдаваемого билета
Тикет Kerberos по умолчанию выдаётся не более чем на 1 сутки. Если хотите выдавать тикет больше, чем на сутки, пропишите:
Использование старых версий Kerberos с новыми
Ошибка запуска службы krb5kdc
Если в журнале при запуске службы krb5kdc появляется ошибка:
то это означает, что сервер LDAP ( slapd ) ещё не успел проинициализироваться для доступа krb5kdc. Увеличьте уровень загрузки службы krb5kdc с 40 до 41 (между запуском этих служб появится служба anacron ):
Источник
Домен/Kerberos
Работа с Kerberos в ALT-домене
Kerberos — сетевой протокол аутентификации, позволяющий передавать данные через незащищённые сети для безопасной идентификации. Более подробно узнать об этом протоколе можете в статье про Kerberos на Wikipedia. В домене ALT Linux этот протокол занимает важное место, так как обеспечивает инфраструктуру для аутентификации пользователей (для входа в систему, для использования сетевых ресурсов по протоколу SMB и доступа в Интернет через прокси-сервер).
Сервер аутентификации выполняет одну функцию: получает запрос, содержащий имя клиента, запрашивающего аутентификацию, и возвращает ему зашифрованный TGT (Ticket Granting Ticket, билет для получения билета). Затем пользователь может использовать этот TGT для запроса дальнейших билетов на другие службы. Часто специалисты билет называют «тикетом».
С практической точки зрения нас интересуют нюансы использования и отладки Kerberos.
Содержание
Проверка работы сервера [ править ]
Итак, при создании ALT-домена настраивается также и служба Kerberos на сервере krb5kdc . Основной её чертой является крайняя немногословность (по соображениям безопасности), что затрудняет отладку.
В модуле «Домен» веб-интерфейса показывается текущее состояние в том числе и службы Kerberos. Если всё в порядке, то показывается
Альтернативный способ получить статус домена:
В ALT Linux Kerberos хранит все свои данные в LDAP. Поэтому для успешной работы Kerberos требуется как запуск сервера LDAP slapd , так и заполнение структуры базы для Kerberos (при проверке в LDAP ищутся записи класса krbRealmContainer ).
Если служба krb5kdc не запущена, то попробуйте запустить её вручную:
Настройка сервера Kerberos (KDC) осуществляется в файле /var/lib/kerberos/krb5kdc/kdc.conf
Там же видно, что журналы kdc и admin_server прописываются в секции [logging] и через syslogd попадают в файл /var/log/messages .
Принципалы (пользователи) [ править ]
В Kerberos билеты (тикеты) выдаются
только членам профсоюзазарегистрированным принципалам. Это могут быть как пользователи, так и службы. При создании домена создаются и принципалы поддерживаемых служб. В базу Kerberos пользователи добавляются через веб-интерфейс (раздел «Пользователи») или из командной строки в программе ldap-useradd.Для заведения пользователей и в базе Kerberos в файле /etc/sysconfig/system должна быть указана роль сервера master:
Проверить, заведён ли пользователь можно программой kadmin.local .
kadmin.local [ править ]
Проверка заведённых принципалов:
Обратите внимание, выводятся как обычные пользователи, так и службы. Последние идут с FQDN (полным доменным именем) сервера, указанным через / от названия службы.
- kadmin.local работает и при выключенной службе krb5kdc .
- вы можете запустить kadmin.local без параметров и указывать команды прямо в появившейся командной строке
- перечень команд можно посмотреть в man kadmin.local
- команда listprinc может указываться с шаблоном. Например
Authenticating as principal root/admin@TEST.ALTLINUX with password. cas@TEST.ALTLINUX
- завести принципала в Kerberos можно командой
Вообще рекомендуется использовать функции alterator-kdc-princ-functions.
Далее проверяем заведённого пользователя (пусть у нас есть принципал cas):
И смена пароля у принципала Kerberos:
Проверка получения билета [ править ]
Для использования утилит работы с билетами Kerberos на стороне клиента необходимо установить пакет krb5-kinit .
Запросить билет у Kerberos [ править ]
Укажите пароль и нажмите Enter
Показ полученных билетов [ править ]
Обратите внимание, что билет для службы krbtgt выдан на сутки. Как управлять сроком выдаваемого билета и его обновлением, будет рассказано ниже.
Очистить локальный кэш билетов [ править ]
Синхронизация времени [ править ]
Одним из основных требований успешного использования Kerberos является обеспечение одинакового времени на сервере и клиенте. В рамках ALT-домена эта задача решена использованием синхронизации по RFC 867. Для этого на сервере включается через xinetd daytime-tcp:
А на клиенте — служба settime-rfc867 :
Нюансы работы [ править ]
Увеличиваем срок выдаваемого билета [ править ]
Тикет Kerberos по умолчанию выдаётся не более чем на 1 сутки. Если хотите выдавать тикет больше, чем на сутки, пропишите:
Использование старых версий Kerberos с новыми [ править ]
В новых версиях Kerberos слабые алгоритмы (например, des-cbc-crc:afs3 ) по умолчанию запрещены к использованию. А на старых системах (клиентах или серверах на Пятой или Шестой платформе) они используются. Чтобы включить их поддержку, на новой системе пропишите в раздел [libdefaults] файла /etc/krb5.conf строку
Без этого с билетами Kerberos (и, как следствие с монтированием каталогов и доступом к прокси-серверу) будут проблемы.
Ошибка запуска службы krb5kdc [ править ]
Если в журнале при запуске службы krb5kdc появляется ошибка:
то это означает, что сервер LDAP ( slapd ) ещё не успел проинициализироваться для доступа krb5kdc. Увеличьте уровень загрузки службы krb5kdc с 40 до 41 (между запуском этих служб появится служба anacron ):
Источник