Skip to content

Раздел 1. Фундаментальные концепции и проблема управления

Тема 1.1. Проблема децентрализованного управления

Лекция 1. Введение: "Война компьютеров". Эволюция от рабочих групп к доменам.

  • Термины: Рабочая группа (Workgroup), изолированная машина, единая идентичность, централизованное управление, Single Sign-On (SSO), политики паролей, аудит

Практическая работа 1. Демонстрация хаоса: Анализ проблем аутентификации в рабочей группе.

  • Термины: Локальная учётная запись, общий ресурс (Share), сетевая аутентификация, ошибка доступа

Тема 1.2. Обзор решений: "Королевства идентичности"

Лекция 2. Концепция домена. Сравнительный анализ AD, FreeIPA, SambaAD.

  • Термины: Домен (Domain), контроллер домена (DC), Active Directory, FreeIPA, SambaAD, Kerberos, LDAP, DNS, философия проекта, целевая экосистема

Практическая работа 2. Сравнительный анализ: Составление таблицы выбора технологии под задачу.

  • Термины: Критерии выбора, Windows-клиенты, Linux-клиенты, PKI, стоимость владения (TCO), интеграция

Раздел 2. Active Directory: Золотой стандарт

Тема 2.1. Архитектура и ключевые службы AD

Лекция 3. Введение в службы каталогов. Логическая структура AD.

  • Термины: Служба каталогов (Directory Service), объект, атрибут, схема (Schema), лес (Forest), дерево доменов (Domain Tree), домен, подразделение (OU)

Лекция 4. Физическая структура AD. Критически важные сервисы: DNS.

  • Термины: Сайт (Site), подсеть (Subnet), контроллер домена (DC), глобальный каталог (GC), SRV-записи, DDNS

Практическая работа 3. Обзор оснасток AD. Анализ DNS-зоны домена.

  • Термины: Active Directory Users and Computers, ADSI Edit, DNS Manager, _ldap._tcp.dc._msdcs

Практическая работа 4. Утилиты командной строки для AD. Работа с dsquery, dsget.

  • Термины: Distinguished Name (DN), LDAP-запрос, фильтр поиска

Тема 2.2. Протоколы аутентификации и репликации

Лекция 5. Протокол Kerberos. Принцип единого входа (SSO).

  • Термины: Центр распределения ключей (KDC), билет (Ticket), TGT, Service Ticket, тикет-грантирующий билет

Лекция 6. Протокол LDAP. Репликация в AD.

  • Термины: LDAP, LDAPS, порт 389/636, репликация, FRS, DFS-R, расписание репликации, мост сайтов

Практическая работа 5. Анализ билетов Kerberos с помощью klist.

  • Термины: klist, kinit, кэш билетов, срок жизни билета

Практическая работа 6. Использование ldp.exe для просмотра объектов каталога.

  • Термины: Привязка (Bind), дерево каталога, атрибуты объекта

Раздел 3. SambaAD: Бесплатный контроллер домена

Тема 3.1. Введение и развертывание SambaAD

Лекция 7. Проект Samba. Эволюция от Samba 3 к Samba 4. Архитектура SambaAD.

  • Термины: Samba, Samba 3 (PDC), Samba 4 (ADC), smb.conf, роли сервера

Лекция 8. Подготовка ОС и процесс provisioning.

  • Термины: Synchronicity времени (NTP), FQDN, samba-tool domain provision, BIND9 DLZ, внутренний DNS

Практическая работа 7. Установка пакетов и подготовка окружения для SambaAD.

  • Термины: apt-get install samba-dc bind9-dlz, yum install samba4, настройка хоста

Практическая работа 8. Развертывание первого контроллера домена.

  • Термины: samba-tool domain provision --realm --domain --server-role, запуск служб samba-ad-dc

Практическая работа 9. Первичная проверка работоспособности: smbclient, kinit, klist.

  • Термины: Аутентификация, список общих ресурсов, кэш билетов

Тема 3.2. Расширение инфраструктуры и управление

Лекция 9. Добавление реплик DC. Принципы репликации.

  • Термины: Репликация, Multi-Master, samba-tool drs showrepl, USN

Лекция 10. Создание и настройка сайтов (Sites).

  • Термины: Сайт, подсеть, стоимость ссылки, привязка DC к сайту

Практическая работа 10. Добавление дополнительного контроллера домена.

  • Термины: samba-tool domain join DC -UAdministrator, проверка репликации

Практическая работа 11. Настройка сайтов и управление репликацией.

  • Термины: samba-tool site create, samba-tool site move, samba-tool ntacl sysvolcheck

Практическая работа 12. Базовое управление объектами: пользователи, группы, OU.

  • Термины: samba-tool user add, samba-tool group add, samba-tool ou create

Тема 3.3. Продвинутые сценарии

Лекция 11. Построение леса и доверительные отношения.

  • Термины: Лес, доверие (Trust), транзитивное доверие, внешнее доверие

Лекция 12. Интеграция с существующей инфраструктурой. Администрирование и мониторинг.

  • Термины: Условная пересылка (Conditional Forwarding), realmd, sssd, логи (/var/log/samba/), smbstatus

Практическая работа 13. Создание доверительного отношения между двумя лесами SambaAD.

  • Термины: samba-tool domain trust create, проверка аутентификации

Практическая работа 14. Настройка клиентов: присоединение Windows-машины к домену.

  • Термины: Add-Computer, сетевая идентификация

Практическая работа 15. Настройка клиентов: присоединение Linux-машины с помощью realmd и sssd.

  • Термины: realm discover, realm join, sssd.conf, kinit

Практическая работа 16. Базовый мониторинг и анализ логов Samba.

  • Термины: journalctl -u samba-ad-dc, tail -f /var/log/samba/log.smbd, коды ошибок

Раздел 4. FreeIPA: Республика Unix-систем

Тема 4.1. Философия и архитектура FreeIPA

Лекция 13. Введение в FreeIPA. Сравнение с AD и SambaAD.

  • Термины: Управление идентификацией, MIT Kerberos, 389 Directory Server, Dogtag PKI, SSSD, домен IPA

Лекция 14. Ключевые компоненты под капотом: 389 DS, KDC, Dogtag PKI, SSSD.

  • Термины: Сервер каталогов, Центр сертификации (CA), сертификаты, System Security Services Daemon

Практическая работа 17. Обзор демо-стенда. Анализ установленных пакетов и сервисов.

  • Термины: ipa-server, dirsrv, krb5kdc, pki-ca, sssd, systemctl status

Тема 4.2. Развертывание и базовое администрирование

Лекция 15. Проектирование и установка первого сервера FreeIPA.

  • Термины: FQDN, ipa-server-install, --setup-dns, --forwarder, firewalld

Лекция 16. Базовое администрирование: пользователи, группы, политики.

  • Термины: Web UI, CLI (ipa), политики паролей, политики sudo, autofs

Практическая работа 18. Установка и первоначальная настройка сервера FreeIPA.

  • Термины: hostnamectl set-hostname, ipa-server-install, верификация установки

Практическая работа 19. Работа с Web UI: создание пользователей и групп.

  • Термины: Identity -> Users, Groups, вкладка "Policy"

Практическая работа 20. Работа с CLI: управление пользователями и группами (ipa user-add, ipa group-add).

  • Термины: Командная строка ipa, аргументы, вывод в JSON

Практическая работа 21. Настройка политик паролей и sudo.

  • Термины: ipa pwpolicy-mod, ipa sudorule-add, ipa sudorule-add-user

Тема 4.3. Обеспечение отказоустойчивости

Лекция 17. Репликация в FreeIPA. Добавление реплик.

  • Термины: Multi-master репликация, ipa-replica-install, топология

Лекция 18. Локации (Locations) и управление топологией.

  • Термины: Локация, управление трафиком репликации, ipa location-add

Практическая работа 22. Установка и настройка реплики FreeIPA.

  • Термины: ipa-replica-install, проверка репликации, ipa-replica-manage

Практическая работа 23. Создание локаций и управление топологией.

  • Термины: ipa topologysegment-add, анализ трафика

Тема 4.4. Продвинутые возможности и интеграция

Лекция 19. Доверительные отношения с Active Directory.

  • Термины: Trust, AD, односторонний/двусторонний, reversible encryption

Лекция 20. PKI, DNS и управление клиентами в масштабе.

  • Термины: Сертификаты, TLS, ipa-client-install, Ansible, sssd.conf

Практическая работа 24. Настройка Trust-отношения с доменом AD.

  • Термины: ipa trust-add --type=ad, проверка kinit пользователя из AD

Практическая работа 25. Выпуск SSL-сертификата для веб-сервера.

  • Термины: ipa cert-request, CSR, httpd, mod_ssl

Практическая работа 26. Массовое присоединение клиентов с помощью Ansible.

  • Термины: Playbook, модуль community.general.ipa_host, инвентарь

Практическая работа 27. Настройка HBAC (Rule-Based Access Control) для доступа к сервисам.

  • Термины: ipa hbacrule-*, контроль доступа к сервисам

Раздел 5. Интеграция, мониторинг и финальный проект

Тема 5.1. Смешанные среды и миграция

Лекция 21. Стратегии интеграции AD, FreeIPA и SambaAD.

  • Термины: Cross-realm trust, синхронизация паролей, унифицированный каталог

Лекция 22. Обзор процессов миграции.

  • Термины: Миграция с Samba 3, миграция с Windows Server, миграция с OpenLDAP

Практическая работа 28. Настройка кросс-реalm треста между Kerberos-доменами.

  • Термины: /etc/krb5.conf, [domain_realm], общие ключи

Практическая работа 29. Синхронизация отдельных учетных записей с помощью скриптов.

  • Термины: ldapsearch, ldapadd, samba-tool user add

Тема 5.2. Безопасность, аудит и восстановление

Лекция 23. Аудит и анализ логов.

  • Термины: Audit log, auditd, мониторинг входа, подозрительная активность

Лекция 24. Резервное копирование и восстановление.

  • Термины: samba-tool domain backup, ipa-backup, ipa-restore, сценарии восстановления

Практическая работа 30. Настройка централизованного сбора логов (ELK Stack).

  • Термины: Logstash, Elasticsearch, Kibana, фильтры, дашборды

Практическая работа 31. Резервное копирование контроллера SambaAD.

  • Термины: samba-tool domain backup offline --targetdir=/backups

Практическая работа 32. Резервное копирование и восстановление сервера FreeIPA.

  • Термины: ipa-backup --data --online, ipa-restore

Тема 5.3. Финальный проект

Лекция 25. Best practices и итоговая архитектура.

  • Термины: High Availability, Load Balancing, Disaster Recovery, документация

Практическая работа 33. Сквозной проект: Развертывание отказоустойчивой интеграционной среды.

  • Термины: Проектирование, установка, настройка trust, тестирование, документация

Практическая работа 34. Устранение неисправностей в заранее подготовленной "сломанной" среде.

  • Термины: Поиск по логам, проверка сетевых соединений, проверка репликации, проверка времени

Практическая работа 35. Презентация и защита финального проекта.

  • Термины: Архитектурное решение, обоснование выбора технологий, сценарии восстановления

Приложение: Дополнительные практические работы (36-51)

Эти работы углубляют темы, пройденные в основных разделах.

По Active Directory:

36. Настройка групповых политик (GPO) для развертывания ПО.

  • Термины: Групповая политика (GPO), Объект групповой политики (GPO), Развертывание программ (Software Deployment), MSI-пакет (Windows Installer), Файл преобразования (MST), Назначение (Assigned), Публикация (Published), GPMC (Group Policy Management Console), Журнал событий применения политик (Event Log), Фильтрация по безопасности (Security Filtering), WMI-фильтры.

37. Настройка групповых политик (GPO) для ограничений безопасности.

  • Термины: Политика ограниченного использования программ (Software Restriction Policies), AppLocker, Политика паролей (Password Policy), Политика блокировки учетных записей (Account Lockout Policy), Политика аудита (Audit Policy), Настройки безопасности (Security Settings), Шаблоны безопасности (Security Templates), Делегирование прав (Delegation), User Rights Assignment, Запрет наследования (Enforce), Политика брандмауэра (Firewall Policy).

38. Создание и настройка шаблонов пользователей и компьютеров.

  • Термины: Шаблон учетной записи (User Template), Унаследованные атрибуты (Inheritance), Клонирование пользователей, Группа на основе закрытого списка (Shadow Group), Pre-Staged Computer Account, Контрольная точка (Checkpoint) в ADAC, Массовое создание и редактирование (CSVDE, LDIFDE, PowerShell).

39. Настройка DFS Namespaces для отказоустойчивости общих ресурсов.

  • Термины: DFS Namespaces (DFSN), DFS Replication (DFSR), Корневой каталог пространства имен (Namespace Root), Целевая папка (Folder Target), Кэширование ссылок (Referral), Классический режим (Domain-based, Standalone), Режим именования Windows Server 2008, Целевая репликации (Replication Group), Расписание репликации, Разрешение конфликтов.

40. Аудит доступа к файлам на файловом сервере с помощью ACL.

  • Термины: Список управления доступом (ACL / DACL), Записи управления доступом (ACE), Аудит доступа к файловой системе (SACL), Политика аудита (Audit Policy), События 4663, 4656 (журнал безопасности), «Доступ к объекту был запрошен», «Дескриптор объекта был закрыт», Громкость логов, Фильтрация событий, Advanced Audit Policy Configuration.

По SambaAD:

41. Настройка SambaAD в роли файлового сервера с квотированием.

  • Термины: Общий ресурс (Share), Права доступа (Permissions) NTFS vs. SMB, Квотирование диска (Disk Quota), vfs_fsrvp_module (теневое копирование VSS), vfs_acl_xattr, vfs_shadow_copy2, smb.conf параметры: [share], path, valid users, read only, create mask, directory mask.

42. Настройка печати через сервер SambaAD.

  • Термины: Диспетчер печати (Print Spooler), Общий принтер (Printer Share), Драйверы принтера (Printer Drivers), CUPS (Common Unix Printing System), Интеграция Samba с CUPS, Параметры smb.conf: load printers, printing, printcap name, [print$] share, Публикация принтеров в AD (publish printers = yes).

43. Миграция профилей пользователей с изолированного Windows-сервера.

  • Термины: Перемещаемый профиль (Roaming Profile), Z-диск (сетевой диск домашней папки), ProfilePath (атрибут пользователя в AD), USMT (User State Migration Tool), robocopy /MIR /SEC, Перенаправление папок (Folder Redirection), Права собственности на файлы (File Ownership), Разрешения (Permissions).

44. Глубокая настройка smb.conf для оптимизации производительности.

  • Термины: socket options = TCP_NODELAY, read raw = yes, write raw = yes, use sendfile = yes, aio read size, aio write size, min receivefile size, smb2 max read, smb2 max write, smb2 max trans, log level = perfclass, smbstatus, iotop, nethogs.

45. Настройка RODC (Read-Only Domain Controller) на базе SambaAD.

  • Термины: Контроллер домена только для чтения (RODC), Фильтр паролей (Password Replication Policy), Атрибут msDS-NeverRevealGroup, Атрибут msDS-RevealOnDemandGroup, Односторонняя репликация, samba-tool domain dc promote --target-dc-role=rdc, samba-tool rodc preload, Учетная запись кэширования.

По FreeIPA:

46. Настройка двухфакторной аутентификации (2FA) в FreeIPA.

  • Термины: Двухфакторная аутентификация (2FA), OTP (One-Time Password), TOTP (Time-based OTP), Google Authenticator, Секретный ключ (Secret Key), QR-код, ipa otptoken-add, ipa config-mod --ipatokenotpauthwindow, RADIUS-провайдер, ipa-otpd сервис.

47. Настройка автоматической выдачи хост-сертификатов.

  • Термины: ipa-host, certmonger, getcert, Автозапрос сертификата (Automated Certificate Enrollment), Профиль сертификата (Certificate Profile), ipa certprofile-mod, Tracking-файл (/var/lib/certmonger), ipa-httpd-kdc proxy.

48. Создание и применение собственных шаблонов сертификатов в Dogtag.

  • Термины: Dogtag PKI, pki-server, Профиль сертификата (Certificate Profile), caProfileEdit, Политика выдачи (Issuance Policy), Constraint, Input, Output, ipa certprofile-add, Атрибуты Subject, Extensions (Key Usage, Extended Key Usage).

49. Настройка сессионной записи (session recording) для администраторов.

  • Термины: tlog, Сессионная запись (Session Recording), sssd.conf параметр session_recording, IPA_SESSION_RECORDING, tlog-play, tlog-rec, Хранилище записей (Elasticsearch, Loki), Ведро (Scope): глобальное, по группе, по пользователю.

50. Интеграция FreeIPA с внешними поставщиками идентификации (idP).

  • Термины: Внешний поставщик идентификации (External IdP), Протокол SAML 2.0, mod_auth_mellon, mod_lookup_identity, ipa idp-add, ipa idview-apply, Атрибуты (Attributes), ipa config-mod --user-auth-type=password|radius|otp|external.

51. Написание собственного модуля для CLI FreeIPA с помощью API.

  • Термины: JSON RPC API, ipalib, ipaserver.plugins, Command класс, Param класс, api, args, options, output, python-ipaclient, ipa console, Установка кастомного плагина.

Новейшая тема: утилита для синхронизации сисвол https://altlinux.space/alt-domain/svsync протестировали инструмент, развернув на PVE стенд следующей конфигурации:

2 сайта, для каждого сайта определена своя подсеть.

В первом сайте находится PDC(dc1), альт сервер с КД (dc2) и windows server 2022 с КД (dcwind).

Во втором сайте находится 2 альт сервера с КД(dc3 и dc4), один из которых ISTG.

Иллюстративное изображение схемы стенда прикрепляю во вложении.

Ожидаемое поведение - корректный выбор для каждого типа контроллера источника репликации, репликация в нужное место. Репликацию можно считать корректной, если после нее sysvol "принимающего" контроллера идентичен sysvol "отдающего" контроллера.

В ходе тестирования, было проверено, что для PDC, ISTG и контроллеров без fsmo ролей выбирается верный источник для синхронизации.

Процесс тестирования и базовый кейс для тестировщиков сервиса описал в задаче https://my.basealt.space/issues/185757

alt text

Контакты: bystrovno@basealt.ru