Альт линукс керберос авторизация

Содержание
  1. SSSD/AD
  2. Содержание
  3. Подключение к домену [ править ]
  4. Настройки сети [ править ]
  5. Настройки kerberos [ править ]
  6. Настройки samba [ править ]
  7. Подключение к домену [ править ]
  8. Настройка SSSD [ править ]
  9. Установка sssd-модуля [ править ]
  10. Настройка авторизации [ править ]
  11. Настройка аутентификации [ править ]
  12. Запуск и проверка сервиса sssd [ править ]
  13. Подключение файловых ресурсов [ править ]
  14. Через pam_mount [ править ]
  15. Домен/Использование Kerberos
  16. Содержание
  17. kinit / klist / kdestroy [ править ]
  18. Браузеры [ править ]
  19. Chromium [ править ]
  20. curl [ править ]
  21. wget [ править ]
  22. Firefox [ править ]
  23. IE [ править ]
  24. Файловые системы [ править ]
  25. Монтирование CIFS-ресурса [ править ]
  26. Прочее [ править ]
  27. ssh [ править ]
  28. Подключение к LDAP [ править ]
  29. Windows [ править ]
  30. Серверная сторона [ править ]
  31. nginx [ править ]
  32. Apache [ править ]
  33. mod_auth_kerb [ править ]
  34. mod_auth_gssapi [ править ]
  35. sshd [ править ]
  36. Домен/Kerberos
  37. Материал из ALT Linux Wiki
  38. Содержание
  39. Проверка работы сервера
  40. Принципалы (пользователи)
  41. kadmin.local
  42. Проверка получения билета
  43. Запросить билет у Kerberos
  44. Показ полученных билетов
  45. Очистить локальный кэш билетов
  46. Синхронизация времени
  47. Нюансы работы
  48. Увеличиваем срок выдаваемого билета
  49. Использование старых версий Kerberos с новыми
  50. Ошибка запуска службы krb5kdc
  51. Домен/Kerberos
  52. Содержание
  53. Проверка работы сервера [ править ]
  54. Принципалы (пользователи) [ править ]
  55. kadmin.local [ править ]
  56. Проверка получения билета [ править ]
  57. Запросить билет у Kerberos [ править ]
  58. Показ полученных билетов [ править ]
  59. Очистить локальный кэш билетов [ править ]
  60. Синхронизация времени [ править ]
  61. Нюансы работы [ править ]
  62. Увеличиваем срок выдаваемого билета [ править ]
  63. Использование старых версий Kerberos с новыми [ править ]
  64. Ошибка запуска службы 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:

Читайте также:  Как обойти windows smartscreen

Запуск и проверка сервиса 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 [ править ]

Добавить в доверенные сайты

  1. Свойства браузера -> Безопасность -> Надёжные сайты
  2. Нажать на кнопку «Сайты» и добавить адрес нужного сайта
  3. Нажать на кнопку «Другое» и найти раздел » Проверка подлинности пользователя» в окошке «Параметры»
  4. Выбрать пункт «Автоматический вход в сеть с текущим именем пользователя и паролем»

Файловые системы [ править ]

Монтирование CIFS-ресурса [ править ]

Не ясным остаётся вопрос с

(тикет перестаёт быть доступен после повышения привилегий)

Прочее [ править ]

ssh [ править ]

Просто подключаемся к ssh-серверу, настроив его (см. ниже настройку sshd)

Чтобы подключаться к пользователю с другим логином (ssh otheruser@host) нужно на удалённой машине создать файл

/.k5login и в него вписать разрешённые адреса, например:

Так как содержимое файла .k5login перекрывает правила по умолчанию, нужно явно вписывать туда всех пользователей, которым разрешено подключение.

Подключение к LDAP [ править ]

Windows [ править ]

Список полученных билетов:

Серверная сторона [ править ]

nginx [ править ]

Apache [ править ]

mod_auth_kerb [ править ]

Не используйте mod_auth_kerb, он давно устарел и удалён, см. 39063. Перейдите к mod_auth_gssapi.

  1. epmi apache2-mod_auth_kerb
  2. a2enmod auth_krb5 && serv httpd2 reload

положил тикет с SPN в /etc/krb5.time.office.keytab

добавил такие настройки:

mod_auth_gssapi [ править ]

  1. epmi apache2-mod_auth_gssapi
  2. 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 ):

    Источник

    Читайте также:  Wireless network kali linux
Оцените статью