Участник:Toga/Join: различия между версиями

Материал из ALT Linux Wiki
 
(не показаны 4 промежуточные версии этого же участника)
Строка 51: Строка 51:
# Запрос к контроллеру домена на создание учетной записи компьютера
# Запрос к контроллеру домена на создание учетной записи компьютера
# Получение ключей по протоколу kerberos
# Получение ключей по протоколу kerberos
# Аутентификация
# Авторизация
# Авторизация
# Аутентификация
=== Запрос к контроллеру домена на создание учетной записи ===
=== Запрос к контроллеру домена на создание учетной записи ===
Чтобы уменьшить возможное количество сбоев системы при работе вместо ip используются DNS(англ. Domain Name System «система доменных имён»). Каждый пользователь получает свой домен в виде User_Name.domain.alt. Данная операция производится при помощи модулей sssd nss pam
Чтобы уменьшить возможное количество сбоев системы при работе вместо ip используются DNS(англ. Domain Name System «система доменных имён»). Каждый пользователь получает свой домен в виде User_Name.domain.alt.  
<br>
<br>
Если учетной записи копьютера нет в контроллере домена, то она создается в соответствующем каталоге в базе данных.
Если учетной записи копьютера нет в контроллере домена, то она создается в соответствующем каталоге в базе данных.
Данная операция производится при помощи модулей sssd, nss, pam. Модуль sssd сначала вызывает nss, а затем pam для аутентификации.
=== Получение ключей по протоколу kerberos ===
=== Получение ключей по протоколу kerberos ===
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения.
'''SPN''' (Service Principal Name) - уникальный идентификатор экземпляра сервиса. SPN используется аутентификацией Kerberos.
=== Авторизация ===
<br>
Авторизация — является функцией определения прав доступа к ресурсам и управления этим доступом.
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения. Данные '''keytab''' файлы представляют собой набор из пар Kerberos принципалов и их ключей. Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново.
 
=== Аутентификация ===
=== Аутентификация ===
Аутентификация — подтверждение подлинности чего-либо или кого либо.
Аутентификация — подтверждение подлинности чего-либо или кого либо.
=== Авторизация ===
Авторизация — является функцией определения прав доступа к ресурсам и управления этим доступом. С помощью модуля nss определяются группы пользователя, в соответсвии с которыми предоставляются различные права.

Текущая версия от 16: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

  1. Запрос к контроллеру домена на создание учетной записи компьютера
  2. Получение ключей по протоколу kerberos
  3. Аутентификация
  4. Авторизация

Запрос к контроллеру домена на создание учетной записи

Чтобы уменьшить возможное количество сбоев системы при работе вместо 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 определяются группы пользователя, в соответсвии с которыми предоставляются различные права.