Участник:Toga/Join
Введение
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-систем.
Введение машины в домен AD
- Запрос к контроллеру домена на создание учетной записи компьютера
- Получение ключей по протоколу kerberos
- Авторизация
- Аутентификация
Запрос к контроллеру домена на создание учетной записи
Если учетной записи копьютера нет в контроллере домена, то она создается. В соответствующем каталоге в базе данных создается запись указанного компьютера