Участник:Toga/Join: различия между версиями
Toga (обсуждение | вклад) |
Toga (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 51: | Строка 51: | ||
# Запрос к контроллеру домена на создание учетной записи компьютера | # Запрос к контроллеру домена на создание учетной записи компьютера | ||
# Получение ключей по протоколу kerberos | # Получение ключей по протоколу kerberos | ||
# Аутентификация | |||
# Авторизация | # Авторизация | ||
=== Запрос к контроллеру домена на создание учетной записи === | === Запрос к контроллеру домена на создание учетной записи === | ||
Чтобы уменьшить возможное количество сбоев системы при работе вместо ip используются DNS(англ. Domain Name System «система доменных имён»). Каждый пользователь получает свой домен в виде User_Name.domain.alt. | Чтобы уменьшить возможное количество сбоев системы при работе вместо ip используются DNS(англ. Domain Name System «система доменных имён»). Каждый пользователь получает свой домен в виде User_Name.domain.alt. | ||
<br> | <br> | ||
Если учетной записи копьютера нет в контроллере домена, то она создается в соответствующем каталоге в базе данных. | Если учетной записи копьютера нет в контроллере домена, то она создается в соответствующем каталоге в базе данных. | ||
Данная операция производится при помощи модулей sssd nss pam | Данная операция производится при помощи модулей sssd, nss, pam. Модуль sssd сначала вызывает nss, а затем pam для аутентификации. | ||
=== Получение ключей по протоколу kerberos === | === Получение ключей по протоколу kerberos === | ||
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения. | '''SPN''' (Service Principal Name) - уникальный идентификатор экземпляра сервиса. SPN используется аутентификацией Kerberos. | ||
<br> | |||
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения. Данные '''keytab''' файлы представляют собой набор из пар Kerberos принципалов и их ключей. Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново. | |||
=== Аутентификация === | === Аутентификация === | ||
Аутентификация — подтверждение подлинности чего-либо или кого либо. | Аутентификация — подтверждение подлинности чего-либо или кого либо. | ||
=== Авторизация === | |||
Авторизация — является функцией определения прав доступа к ресурсам и управления этим доступом. С помощью модуля nss определяются группы пользователя, в соответсвии с которыми предоставляются различные права. |
Текущая версия от 19:35, 22 января 2020
Введение
Active Directory (AD) — решение позволяющее объединить различные объекты сети (компьютеры, сервера, принтера, различные сервисы) в единую систему. В данном случае AD выступают в роли каталога (базы данных), в котором хранится информация о пользователях, ПК, серверах, сетевых и периферийных устройствах.
Для реализации данного решения, необходим специальный сервер — контроллер домена. Именно он будет выполнять функции аутентификации пользователей и устройств в сети, а также выступать в качестве хранилища базы данных. При попытке использовать любой из объектов (ПК, сервер, принтер) сети, выполняется обращение к контроллеру домена, который либо разрешает это действие (есть необходимые права), либо блокирует его.
На различных портах контроллера домена находятся разные модули необходимые для работы AD(Kerberos, LDAP???)
Kerberos — сетевой протокол аутентификации, который предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними, причём в протоколе учтён тот факт, что начальный обмен информацией между клиентом и сервером происходит в незащищенной среде, а передаваемые пакеты могут быть перехвачены и модифицированы.
LDAP (англ. Lightweight Directory Access Protocol — «легкорасширяемый протокол доступа к каталогам») — протокол прикладного уровня для доступа к службе каталогов X.500.
NSS (англ. Name Service Switch) – Основная задача NSS – создать модульное окружение для управления пользователями. Реализовано это посредством загружаемых библиотек. Основные вызовы NSS реализованы в библиотеке libc. При инициализации программы, так или иначе связанной с NSS, загружаются основная библиотека libc.so, которая считывает конфигурацию из файла /etc/nsswitch.conf, после чего также загружаются те библиотеки NSS, которые указаны в этом файле.
Пример файла nsswitch.conf
passwd: files sss shadow: tcb files sss group: files [SUCCESS=merge] sss role gshadow: files hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname fallback ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: sss automount: files aliases: files
В последствии при работе программы, если программе требуется работать с именованными сущностями, соответствующие вызовы функций glibc будут обращаться к функциям NSS и использовать те источники данных, которые указаны в nsswitch.conf.
SSSD (англ. The System Security Services Daemon) – решение продоставляет набор демонов для управления доступом к удаленным службам каталогов и механизмам аутентификации.
Пример файла sssd.conf
[sssd] config_file_version = 2 services = nss, pam domains = DOMAIN.ALT [nss] [pam] [domain/DOMAIN.ALT] id_provider = ad auth_provider = ad chpass_provider = ad access_provider = ad default_shell = /bin/bash fallback_homedir = /home/%d/%u debug_level = 0
PAM (англ. Pluggable Authentication Modules) – это набор разделяемых библиотек, которые позволяют интегрировать различные низкоуровневые методы аутентификации в виде единого высокоуровневого API. Это позволяет предоставить единые механизмы для управления, встраивания прикладных программ в процесс аутентификации. Является одной из частей стандартного механизма обеспечения безопасности UNIX-систем. Подсистема PAM идейно очень схожа с NSS, но отличается от нее назначением. Основная задачам PAM – аутентификация пользователей (проверка паролей, прав доступ, ограничений и так далее). Необходимые модули, порядок их вызова и некоторые опциональные параметры определяются в конфигурационных файлах PAM, обычно они расположены в каталоге /etc/pam.d. Главным отличием PAM от NSS (кроме естественно назначения) является то, что PAM является не составной и неотъемлемой частью libc, а отдельным множеством библиотек.
Введение машины в домен AD
- Запрос к контроллеру домена на создание учетной записи компьютера
- Получение ключей по протоколу kerberos
- Аутентификация
- Авторизация
Запрос к контроллеру домена на создание учетной записи
Чтобы уменьшить возможное количество сбоев системы при работе вместо ip используются DNS(англ. Domain Name System «система доменных имён»). Каждый пользователь получает свой домен в виде User_Name.domain.alt.
Если учетной записи копьютера нет в контроллере домена, то она создается в соответствующем каталоге в базе данных.
Данная операция производится при помощи модулей sssd, nss, pam. Модуль sssd сначала вызывает nss, а затем pam для аутентификации.
Получение ключей по протоколу kerberos
SPN (Service Principal Name) - уникальный идентификатор экземпляра сервиса. SPN используется аутентификацией Kerberos.
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения. Данные keytab файлы представляют собой набор из пар Kerberos принципалов и их ключей. Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново.
Аутентификация
Аутентификация — подтверждение подлинности чего-либо или кого либо.
Авторизация
Авторизация — является функцией определения прав доступа к ресурсам и управления этим доступом. С помощью модуля nss определяются группы пользователя, в соответсвии с которыми предоставляются различные права.