Table of Contents

Linux. Управление учетными записями на предприятии

Программа курса

Задача курса

Модуль 0. Подготовка стенда в классе

Модуль 1. Развертывание сети предприятия

Теория

Лабораторные работы: Развертывание сети предприятия

1.1 Схема стенда, импорт, настройка и запуск VM gate и server

Запустите с правами Administrator

C:\cmder\Cmder.exe

λ bash

λ cd

λ git clone http://val.bmstu.ru/unix/conf.git

λ cd conf/virtualbox/

!!! 4 - это номер курса, вместо X укажите Ваш номер стенда, если не знаете его, спросите преподавателя !!!

λ ./setup.sh X 4

1.2 Настройка сети VM gate и server

# sh net_gate.sh

# init 6
# sh net_server.sh

# init 6

1.3 настройка сервисов DNS и DHCP

gate:~# sh conf/dhcp.sh
server:~# sh conf/dns.sh
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
debian11# apt install host 

# host ns

1.4 Запуск и настройка системы client1

gate# dhcp-lease-list

Вопросы

  1. Что определяет порядок использования файлов /etc/hosts и /etc/resolv.conf для разрешения DNS имен?

Модуль 2. Ретроспектива механизмов аутентификации и авторизации в UNIX

Теория

Лабораторные работы: Классика ААА в UNIX

2.1 Использование протокола NIS для аутентификации и авторизации пользователей в UNIX сети

server# userdel -r student

server# groupadd -g 15001 group1

server# useradd -u 10001 -m -s /bin/bash -c "Ivan Ivanovitch Ivanov,RA7,401,499-239-45-23" -G group1 user1

server# useradd -u 10002 -m -s /bin/bash -c "Petr Petrovitch Petrov,RA7,402,499-323-55-53" -G group1 user2

server# useradd -u 10003 -m -s /bin/bash -c "Сидор Сидорович Сидоров,РА7,403,499-323-55-53" -G group1 user3

server# echo 'user1:password1' | chpasswd
   
server# echo 'user2:password2' | chpasswd

server# echo 'user3:password3' | chpasswd
client1# mkdir -p /home/user1
client1# mkdir -p /home/user2

client1# chown -R user1:user1 /home/user1/
client1# chown -R user2:user2 /home/user2/

2.2 Использование протокола NFS для поддержки перемещаемых профилей пользователей

демонстрирует преподаватель

Вопросы

  1. Какие поля в учетной записи UNIX используются для аутентификации?
  2. Какие поля в учетной записи UNIX используются для авторизации?
  3. Для чего используется поле GECOS учетной записи пользователя UNIX?
  4. Что такое NIS домен?
  5. Что такое NIS карты?
  6. Какая утилита используется для инициализации NIS карт?
  7. Какая утилита используется для тестирования NIS?

Модуль 3. Современные механизмы аутентификации и авторизации в Linux

Теория

Лабораторные работы: ААА с использованием NSS и PAM

3.1 Авторизация с использованием библиотеки NSS

client1:~# scp /etc/nsswitch.conf gate:/etc/nsswitch.conf

debian11# service nscd restart && service nscd reload

3.2 Аутентификация с использованием библиотеки PAM

3.3 Решение задачи SSO для протокола SSH

user1@client1:~$ ps -x
...
...    Ss     0:00 ssh-agent
...
user1@client1:~$ env | grep SSH

user1@client1:~$ ssh gate
user1@client1:~$ rm .ssh/id*

Вопросы

  1. Какие задачи решает библиотека NSS
  2. Какой идентификатор источника данных в NSS позволяет подключить NIS через указание в файлах учетных записей системы строки, начинающейся с символа «+»
  3. Какой командой можно посмотреть учетные записи из всех источников данных?
  4. Какая подсистема (facility) библиотеки PAM позволяет временно запретить регистрацию пользователей?
  5. Какая подсистема (facility) библиотеки PAM может быть использована для создания домашних каталогов пользователей?
  6. По умолчанию, при первом подключении клиента к SSH серверу, он получает предупреждение о недостоверном …
  7. Клиент ssh использует ssh-agent для получения расшифрованного …

Модуль 4. Аутентификация с использованием протокола Kerberos

Теория

Лабораторные работы: Настройка KDC

4.1 Подготовка сети к использованию протокола Kerberos

server# nslookup -q=SRV _kerberos._udp.corpX.un

4.2 Установка KDC и регистрация принципалов

4.3 Использование протокола GSSAPI для аутентификации сервиса ssh

4.4 Использование протокола GSSAPI для сервиса http proxy

!!! Подготовка к 5-му модулю: Запускаем импорт системы windows

Вопросы

  1. Kerberos обеспечивает механизм …
  2. Что такое Kerberos realm (сфера)?
  3. Какие объекты представляются учетными записями (Principal) в Kerberos?
  4. Используется ли в протоколе Kerberos SSL или TLS?
  5. Используются ли в протоколе Kerberos сертификаты?
  6. Что хранится в TGT?
  7. Какая команда может быть использована для получения TGT?
  8. Разница в настройке времени между системами, взаимодействующими по протоколу Kerberos, не должна составлять более …
  9. В каком файле, по умолчанию, на стороне сервера хранятся учетные записи сервисов?
  10. Для чего используется GSSAPI?
  11. Какого типа сервиса должен быть добавлен в KDC для использование Kerberos с сервисом Squid?

Модуль 5. Samba - корпоративный сервис CIFS для Windows и Linux клиентов

Теория

Лабораторные работы: Знакомство с сервисом Samba

5.1 Добавление в сеть предприятия рабочих станций windows

net user user2 wpassword2 /add

5.2 Аутентификация и авторизация Windows клиентов на файловом сервере Samba по протоколу CIFS

демонстрирует преподаватель

5.3 Подключение Linux клиентов к файловому серверу CIFS

бонусная лабораторная работа

5.4 Использование файлового сервиса CIFS для хранения профилей пользователей Linux

client3:~# cat /etc/hostname
client3
client3:~# cat /etc/hosts
127.0.0.1       localhost

127.0.1.1       client3
init 6

client3:~# DEBIAN_FRONTEND=noninteractive apt -y install krb5-user cifs-utils nfs-common libpam-krb5 libpam-script

client3:~# cat /etc/krb5.conf
[libdefaults]
        default_realm = CORPX.UN
client3:~# id user2

client3:~# find /home/

Дополнительные материалы

Вопросы

  1. Какой режим безопасности должен быть настроен в SAMBA для работы с собственной базой данных пользователей?
  2. Какая утилита используется для управления учетными записями пользователей в файловом сервере SAMBA?

Модуль 6. Использование Linux Kerberos сферы для SSO пользователей рабочих станций Windows

Теория

Лабораторные работы

6.1 Регистрация рабочих станций Windows в Kerberos сфере

6.2 Использование протокола GSSAPI для аутентификации Windows клиентов на UNIX сервисах

6.3 SSO GSSAPI аутентификация Windows клиентов для сервиса CIFS

Дополнительные материалы

Вопросы

  1. Какого типа сервис должен быть добавлен в KDC для регистрации рабочей станций Windows при использовании Kerberos сферы?
  2. Где хранится пользовательский профиль при использовании Kerberos сферы для аутентификации пользователей рабочих станций Windows?
  3. Какой режим безопасности должен быть настроен в пакете SAMBA для работы с базой данных пользователей в KDC?

Модуль 7. Протокол LDAP

Теория

Лабораторные работы: Варианты использования протокола LDAP

7.1 Использованием протокола LDAP для авторизации учетных записей Linux

# apt purge nis && apt autoremove

7.2 Использование протокола GSSAPI для сервиса электронной почты

демонстрирует преподаватель

7.3 Использование LDAP каталога для хранения дополнительной информации о пользователях сети

Вопросы

  1. В виде какой структуры представляются записи в LDAP?
  2. Для чего используется формат LDIF?
  3. Как в протоколе LDAP называется операция аутентификации?
  4. Что такое DN и RDN в LDAP?
  5. Сколько атрибутов класса (object class) может быть у записи?

Модуль 8. Использование Microsoft AD для аутентификации и авторизации в гетерогенных сетях

Теория

Лабораторные работы: Использование Microsoft AD

8.1 Подготовка стенда

gate# rm -v /root/*keytab

gate# rm /etc/krb5.keytab

8.2 Развертывание контроллера домена

8.3 Включение в домен рабочих станций windows и серверов Linux

демонстрирует преподаватель

8.4 Включение в домен рабочих станций Linux

Вариант 1 (лучше сделать в теме 8.6 для получения информации о пользователях на gate)

Вариант 2 - Запись вебинара: Зачем вводить системы Linux в домен Microsoft?

client1:~# find /home/

8.5 Использование Windows Server в качестве NFS сервера

демонстрирует преподаватель, не нужно для 2-го варианта работы 8.4

client1# id user1

client1# mount server:/home /home

client1# chmod 755 /home

8.6 Использование протоколов SSPI и GSSAPI

демонстрирует преподаватель

gate# service smbd restart

бонусные лабораторные работы

8.7 Использование AD как LDAP каталога для хранения дополнительной информации о пользователях

демонстрирует преподаватель

Вопросы

  1. Какой утилитой можно добавить учетную запись сервиса UNIX в Microsoft AD?
  2. Какой утилитой можно вывести список сервисов, привязанных к учетной записи Microsoft AD?
  3. Что нужно сделать для хранения в Microsoft AD атрибутов учетных записей UNIX?
  4. Что нужно сделать для развертывания сервиса NFS на Microsoft Windows Server?

Дополнительные материалы

Модуль 9. Использование сервиса WINBIND

Подготовка к следующему модулю

Примечание

Теория

Лабораторные работы: Использование сервиса WINBIND

9.1 Для управления ключами сервисов в Microsoft AD

C:\>del *keytab
gate# rm -v /root/*keytab /etc/krb5.keytab

gate# cp /etc/samba/smb.conf /root/

gate# apt purge samba samba-common

gate# apt autoremove

gate# rm -r /etc/samba/

демонстрирует преподаватель

9.2 Для генерации UNIX атрибутов пользователей Microsoft AD

Следующие шаги можно пропустить:

Можно делать отсюда:

9.3 Для авторизации пользователей на основе членства в группах Microsoft AD на серверах Linux

gate# apt install samba

9.4 Альтернатива WINBIND - сервис SSSD

9.5 Альтернатива WINBIND и SSSD - создаем учтные записи через PAM

Вопросы

  1. Для каких задач предназначен WINBIND?
  2. Какая утилита позволяет проверить работу WINBIND?

Модуль 10. Использование пакета Samba4 в качестве контроллера домена

Теория

Лабораторные работы

10.1 Подготовка стенда

debian# service nscd restart && service nscd reload
server# cat /etc/resolv.conf
search corpX.un
nameserver 172.16.1.254
server# apt purge krb5-kdc krb5-admin-server bind9 slapd ldap-utils nis

server# apt autoremove

10.2 Настройка SAMBA4 как DC

10.3 Использование SAMBA4 DC для аутентификации

gate# kinit Administrator

gate# kinit user2

10.4 Использование SAMBA4 DC для авторизации

Для gate используем winbind:

Для client1 используем LDAP

Для server используем LDAP

server# userdel user1; userdel user2
server# samba-tool group add guser3 --gid-number=10003

server# samba-tool user create user3 --given-name Sidor --initials S --surname Sidorov --uid-number 10003 --gid-number 10003 --login-shell /bin/bash --unix-home /home/user3

server# mkdir /home/user3 && chown user3:guser3 /home/user3

!!! Примечание: не удалось настроить dovecot на создание домашних каталогов на gate

Вопросы

  1. Какой ключ утилиты samba-tool используется для расширения схемы для хранения UNIX атрибутов при инициализации контроллера домена Samba4?
  2. Какая утилита используется для управления учетными записями пользователей в контроллере домена Samba4?
  3. Что нужно установить на рабочую станцию Windows для управления контроллером домена Samba4?
  4. Поддерживает ли контроллер домена Samba4 групповые политики?
  5. Какой вариант системы централизованного управления учетными записями самый лучший?

Модуль 11. Вариант использования рабочих станций Linux с Microsoft Active Directory

Дополнительные материалы

Рабочая станция Linux c LDAP и NIS

# DEBIAN_FRONTEND=noninteractive apt install krb5-user libpam-krb5 libnss-ldap cifs-utils nfs-common

# vim /etc/hostname
# vim /etc/hosts
# vim /etc/krb5.conf
# vim /etc/fstab
# vim /etc/libnss-ldap.conf
# vim /etc/nsswitch.conf

# init 6

# service nscd restart && service nscd reload
# kinit user1
# getent passwd