Участник:Toga/Join

Материал из ALT Linux Wiki

Введение

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

Получение ключей по протоколу kerberos

Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения.

Аутентификация

Аутентификация — подтверждение подлинности чего-либо или кого либо.

Авторизация

Авторизация — является функцией определения прав доступа к ресурсам и управления этим доступом.