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

Материал из ALT Linux Wiki
Строка 54: Строка 54:
# Аутентификация
# Аутентификация
=== Запрос к контроллеру домена на создание учетной записи ===
=== Запрос к контроллеру домена на создание учетной записи ===
Чтобы уменьшить возможное количество сбоев системы при работе вместо 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
=== Получение ключей по протоколу kerberos ===
=== Получение ключей по протоколу kerberos ===
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения.
Получение krb5.keytab файла, где находятся ключи для запуска сервисов. Ключи могут храниться в различных папках для разделения.

Версия от 19:04, 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

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

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

Авторизация

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

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

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