Linux. Уровень 4. Замена корпоративных решений Microsoft
Программа курса
Задача курса
Дисклеймер, хотелось бы чтобы то, что мы с Вами сделаем, было просто интересным хаком, развлечением, разминкой для инженера, но возможно, что перед Вами эта задача уже возникла всерьез, поэтому, будем поэтапно, “на ходу” заменять в сети предприятия системы Microsoft начиная с Desktop и заканчивая Active Directiory на Open Source решения без потерь привычной функциональности
Модуль 0. Подготовка стенда в классе
Часть 1. Использование инфраструктуры Microsoft Active Directory
Модуль 1. Развертывание сети предприятия с использованием MS AD
Теория
!!! Рассказывать в паузах !!!
Лабораторные работы: Развертывание сети предприятия
1.1 Схема стенда, импорт, настройка и запуск VM gate и server
Запускаем процесс импорта winserver2016, подключаем к NAT адаптеру и проводим
Развертывание Active Directory, по окончании, подключем к VirtualBox Host-Only Ethernet Adapter и настраиваем .10-й IP адрес
Запустите с правами Administrator
C:\cmder\Cmder.exe
λ bash
λ cd
λ test -d conf && rm -r conf
λ git clone http://val.bmstu.ru/unix/conf.git
λ cd conf/virtualbox/
!!! 4 - это номер курса, вместо X укажите Ваш номер стенда, если не знаете его, спросите преподавателя !!!
λ ./setup.sh X 4
1.2 Настройка сети VM gate
# sh net_gate.sh
# init 6
1.3 настройка сервиса DHCP
gate:~# apt update
gate:~# sh conf/dhcp.sh
1.4 Запуск и настройка системы lin client1
!!! Делает преподаватель и выкладывает для всех (уточнив, что в ОО это надо сделать самостоятельно)
!!! Из-за неготовности DNS подключить VM к сети класса, выяснить ip и, через ssh:
gate# dhcp-lease-list
1.5 Регистрируем доменных пользователей
1.6 Запуск, настройка и включение в домен системы windows client2
Вопросы
Модуль 2. Развертывание сервисов на Linux в инфраструктуре MS AD
Теория
Лабораторные работы: Развертывание сервисов
2.1 Сервис HTTP Proxy с GSSAPI аутентификацией
gate# tail -f /var/log/squid/access.log
2.2 Ввод Linux систем в домен с использование Winbind
C:\>del *keytab
gate# rm -v /root/*keytab /etc/krb5.keytab
-
-
Проверяем наличие gate в
DNS
-
2.3 Файловый сервис CIFS для пользователей домена MS AD на Linux
2.4 Сервис электронной почты (SMTP/IMAP/LDAP/HTTP)
gate# apt install ansible
gate# ansible-playbook conf/ansible/roles/mail.yml
2.5 Сервис GitLab с авторизацией через LDAP
-
Использование
NGINX для перенаправления mail и autoconfig
-
2.6 Сервис мгновенных сообщений и статуса абонента (XMPP)
2.7 Сервис Keycloak
Вопросы
Модуль 3. Добавление рабочих станций Linux в инфраструктуру MS AD
Теория
Лабораторные работы: Добавление рабочих станций Linux
3.0 Подготовка к следующему модулю
3.1 Использование библиотеки PAM
3.2 Использование SSSD/Realmd
3.3 Управление рабочими станциями Linux
3.4 Подключение рабочих станций Linux к файловому сервису CIFS
Установка ПО, linux проводник thunar, Иконка на Рабочий стол
Вопросы
Модуль 4. Миграция инфраструктуры MS AD на Samba4
Теория
Лабораторные работы: Развертывание сервисов
4.1 Развертывание системы linux server2
Клонируем server→server2 в VBox, генерируем новый mac и запускаем
Запускаем импорт win client4 (!!! генерируем новый mac)
Настраиваем подключение к сети
# ifconfig eth0 inet 192.168.X.12/24
PuTTY
# sh net_server.sh
# hostnamectl set-hostname server2.corpX.un
# cat /etc/hosts
127.0.0.1 localhost
192.168.X.12 server2.corpX.un server2
# cat /etc/network/interfaces
...
address 192.168.X.12
...
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
# init 6
4.2 Настройка Samba 4 контроллером существующего домена
4.3 Замена MS AD на Samba4
4.3.1 Переносим FSMO на новый сервер
4.3.2 Настраиваем сервисы на новый сервер (вариант 1)
DNS client и Squid (для тестов user4@client4 - пускать всех, кто прошел аутентификацию)
gate# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.12
gate# service squid restart
gate# cat /etc/dhcp/dhcpd.conf
...
option domain-name-servers 192.168.X.12;
...
gate# service isc-dhcp-server restart
Правим настройки клиента
DNS рабочей станции слушателя через
netsh
4.3.3 Настраиваем сервисы на новый сервер (вариант 2)
server2# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.X.10
netmask 255.255.255.0
gateway 192.168.X.1
auto eth0:0
iface eth0:0 inet static
address 192.168.X.12
netmask 255.255.255.255
server2# init 6
4.3.4 Удаляем сервер MS AD
Для варианта 2
server2# kinit Administrator
server2# samba-tool dns add server2 corpX.un server A 192.168.X.10
4.4 Проверяем работу инфраструктуры
Вводим в домен win client4, подключаемся user4 и проверяем работу GPO по proxy и наличию иконки Thunderbird
-
Добавляем через оснастки (на client2) атрибуты (телефон и email) пользователю user4 и включаем его в группу group1, проверяем CISF +
Управление доменом
Проверяем работу веб интерфейса к почте и адресную книгу в ней
Проверяем работу GitLab
Вопросы
Часть 2. Замена проприетарных решений
Модуль 5. Развертывание KDC
Теория
Лабораторные работы:
5.1 Отключаем системы от домена MS AD
5.2 Добавляем в сеть linux сервер
# sh net_server.sh
# init 6
5.3 Историческая ретроспектива
5.4 Разворачиваем DNS сервер и настраиваем системы на новый DNS
server:~# sh conf/dns.sh
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
gate# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
gate# cat /etc/dhcp/dhcpd.conf
...
option domain-name-servers 192.168.X.10;
...
gate# service isc-dhcp-server restart
Правим настройки клиента
DNS рабочей станции слушателя через
netsh
5.5 Развертывание KDC
server# nslookup -q=SRV _kerberos._udp.corpX.un
5.6 Регистрация рабочих станций в KDC
5.7 Kerberos GSSAPI аутентификация
Вопросы
Модуль 6. Развертывание LDAP каталога
Теория
Лабораторные работы:
6.1 Установка и настройка OpenLDAP
6.2 Хранение учетных записей UNIX в LDAP
6.3 Авторизация с использованием LDAP сервера
gate#
chown user1 /var/mail/user1
chown -R user1:user1 /home/user1
chown user2 /var/mail/user2
chown -R user2:user2 /home/user2
chown user3 /var/mail/user3
chown -R user3:user3 /home/user3
6.4 "Перемещаемый" профиль
6.5 Хранение дополнительной информации в LDAP
-
Настройка доступа к адресной книге в
roundcube (может понадобиться исправить ФИО в неверной кодировке через Apache Directory Studio)
6.6 Аутентификация с использованием LDAP сервера
Вопросы
Что определяет порядок использования файлов /etc/hosts и /etc/resolv.conf для разрешения
DNS имен?
Какие поля в учетной записи UNIX используются для аутентификации?
Какие поля в учетной записи UNIX используются для авторизации?
Для чего используется поле GECOS учетной записи пользователя UNIX?
Что такое NIS домен?
Что такое NIS карты?
Какая утилита используется для инициализации NIS карт?
Какая утилита используется для тестирования NIS?
Какие задачи решает библиотека NSS
Какой идентификатор источника данных в NSS позволяет подключить NIS через указание в файлах учетных записей системы строки, начинающейся с символа «+»
Какой командой можно посмотреть учетные записи из всех источников данных?
Какая подсистема (facility) библиотеки PAM позволяет временно запретить регистрацию пользователей?
Какая подсистема (facility) библиотеки PAM может быть использована для создания домашних каталогов пользователей?
По умолчанию, при первом подключении клиента к SSH серверу, он получает предупреждение о недостоверном …
Клиент ssh использует ssh-agent для получения расшифрованного …
Kerberos обеспечивает механизм …
Что такое Kerberos realm (сфера)?
Какие объекты представляются учетными записями (Principal) в Kerberos?
Используется ли в протоколе Kerberos SSL или TLS?
Используются ли в протоколе Kerberos сертификаты?
Что хранится в TGT?
Какая команда может быть использована для получения TGT?
Разница в настройке времени между системами, взаимодействующими по протоколу Kerberos, не должна составлять более …
В каком файле, по умолчанию, на стороне сервера хранятся учетные записи сервисов?
Для чего используется GSSAPI?
Какого типа сервиса должен быть добавлен в KDC для использование Kerberos с сервисом Squid?
Какой режим безопасности должен быть настроен в SAMBA для работы с собственной базой данных пользователей?
Какая утилита используется для управления учетными записями пользователей в файловом сервере SAMBA?
Какого типа сервис должен быть добавлен в KDC для регистрации рабочей станций Windows при использовании Kerberos сферы?
Где хранится пользовательский профиль при использовании Kerberos сферы для аутентификации пользователей рабочих станций Windows?
Какой режим безопасности должен быть настроен в пакете SAMBA для работы с базой данных пользователей в KDC?
В виде какой структуры представляются записи в LDAP?
Для чего используется формат LDIF?
Как в протоколе LDAP называется операция аутентификации?
Что такое DN и RDN в LDAP?
Сколько атрибутов класса (object class) может быть у записи?
Какой утилитой можно добавить учетную запись сервиса UNIX в Microsoft AD?
Какой утилитой можно вывести список сервисов, привязанных к учетной записи Microsoft AD?
Что нужно сделать для хранения в Microsoft AD атрибутов учетных записей UNIX?
Что нужно сделать для развертывания сервиса NFS на Microsoft Windows Server?
Для каких задач предназначен WINBIND?
Какая утилита позволяет проверить работу WINBIND?
Какой ключ утилиты samba-tool используется для расширения схемы для хранения UNIX атрибутов при инициализации контроллера домена Samba4?
Какая утилита используется для управления учетными записями пользователей в контроллере домена Samba4?
Что нужно установить на рабочую станцию Windows для управления контроллером домена Samba4?
Поддерживает ли контроллер домена Samba4 групповые политики?
Какой вариант системы централизованного управления учетными записями самый лучший?
Дополнительные материалы
$x = Read-Host -Prompt "Ваш X"; New-ADUser -Name "gatehttp" -SamAccountName "gatehttp" -AccountPassword(ConvertTo-SecureString -AsPlainText 'Pa$$w0rd' -Force) -Enabled $true -ChangePasswordAtLogon $false -CannotChangePassword $true -UserPrincipalName gatehttp@corp$X.un -DisplayName gatehttp -PasswordNeverExpires $true
Вебинар
Перед вебинаром:
Удалить образы
Восстановить образы
Возвращаем настройки клиента
DNS рабочей станции слушателя через
netsh
slmgr /rearm
Отключить wpad
В Squid пускать всех, кто прошел аутентификацию
В smb.conf доступ к общей папке для
valid users = "@CORPX\domain users"
поправить настройку
NGINX в gitlab
-
В самом начале вебинара кратко обсудить и продемонстрировать, что у нас есть на этом этапе:
MS AD в локальной сети предприятия с базой учетных записей пользователей
Рабочие станции Windows
Групповые политики для Windows клиентов
запустить импорт windows client4
Сервера Linux с сервисами HTTP Proxy, CIFS, SMTP, IMAP (все на gate, klist)
Адресная книга LDAP (с фото:) и web интерфейс к почте
Рабочие станции Linux (подключены к домену двумя способами, показать на client3)
запустить импорт linux client5
GitLab с авторизацией через LDAP (используется как источник ansible-pull для управления рабочими станциями Linux)
Новый linux server2