Описание стенда
Сервер:
ОС: Windows server 2019
...
ip: 10.0.2.15
Клиент:
ОС: РЕД ОС
Настройка сервера
Установка сервиса Active Directory
...
Info |
---|
При необходимости измените имя сервера. Это необходимо сделать до выполнения его настройки. |
Имя сервера , если это необходимо. Его можно задать в окне менеджера сервера:
- Добавление сервисов.
- Настройка домена.
- Добавление новых пользователей.
- Установка центра сертификации Active Directory.
Шаг 1. Добавление необходимых сервисов
Добавьте на сервер сервисы Добавим службу Active Dirrectory и DNS на сервер. Для этого откроем окно :
- Откройте окно для добавления ролей в менеджере сервера:
2. В окне для выбора сервисов
...
установите галочки
...
Active Directory Domain Services
...
и
...
DNS Server
...
:
3. Нажмите Next.
4. Во всех остальных пунктах
...
даём согласие на установку.
Шаг 2. Настройка домена
После завершения установки сервисов вам надо перейти к настройке домена. Для этого откройте :
- Откройте меню уведомлений и выберите пункт "Promote this server to a domain controller":
2. На
...
вкладке
...
Deployment Configuration выберите опцию для создания нового домена и укажите его название:
3. Введите пароль сброса:
4. На
...
вкладке DNC Options ничего не меняйте, т.к.
...
сервер сам является DNS сервером:
5. На следующих трёх вкладках также
...
оставьте всё как есть:
6. Перед запуском процесса установки
...
ознакомьтесь с уведомлениями об ошибках.
...
Если необходимо,
...
устраните возникшие проблемы. В нашем случае уведомления не являются критичными:
После установки Active Directory сервер перезагрузится. Если настройка прошла успешно, то нас попросят войти на экране отобразится окно для входа в аккаунт на этот раз доменного пользователя:.
Шаг 3. Добавление новых пользователей
Чтобы добавить новых пользователей:Откроем
- Откройте утилиту управления пользователями и компьютерами домена:
2. Для удобства
...
создайте отдельную
...
директорию Domain Users,
...
в которой будете создавать доменных пользователей:
Добавим
3. Добавьте нового пользователя
...
User:
4. Аналогичным образом добавьте остальных пользователей, которые должны быть в домене.
Шаг 4. Установка центра сертификации Active Directory
...
Info |
---|
Перед процедурой установите драйверы для работы с Рутокеном на сервер, ссылка на актуальную версию: https://www.rutoken.ru/support/download/windows/ |
. Их можно получить тут. После этого можно приступить к настройке центра сертификации и выдачи выдаче сертификатов для пользователей. Это можно сделать по данной инструкции.
Настройку авторизации с помощью сертификатов можно воспроизвести реализовать по этой инструкции.
Для аутентификации пользователей пользователя через linux машины . Помимо токенов необходимы:
- токен с ключами и сертификатов
...
- ;
- корневой сертификат УЦ (его необходимо отправить пользователям).
Его можно получить здесь:
Чтобы получить корневой центр УЦ:
- Выберите пункт меню Tools и подпункт Certification Authority.
Сохранить необходимо в формате BASE64.
Настройка клиента РЕД ОС
Добавление пользователя в sudo
Необходимо отредактировать Отредактируйте файл /etc/sudoers
|
И добавить добавьте в него строчку User строчку user ALL=(ALL) ALL
Далее логинимся залогиньтесь под пользователем и продолжаем продолжите работу из-под него.
|
Далее необходимо установить установите следующие пакеты:
|
|
|
|
|
|
|
Загрузите модуль librtpkcs11ecp.so и установите:
|
Настройка DNS
Через консоль
Меняем Измените имя клиента в нашем домене astradomain.ad на client
...
Узнайте название вашего соединения. Они могут отличаться.
|
Название интерфейса, которое использует ваше соединение.
|
Адрес dns сервера
|
Отключаем Отключите соединение
|
Настраиваем Настройте сетевую карту соединения - — по умолчанию $INT_NAME
|
Настраиваем Настройте DNS - — вместо DNS_SERVER_IP указать IP-адрес сервера DNS. При необходимости указываем укажите адрес локального сервера DNS.
|
Включаем Включите сетевое соединение
|
Вводим Вводите компьютер в домен
|
Через графический интерфейс
Откройте Главное меню — Параметры — Расширенная конфигурация сети.
Выберите своё соединение, и на вкладке Параметры IPv4 введите Вводим IP клиента (тк так как на сервере не установлен DHSP) и DNS.
***Необходимо перезагрузить компьютер***
***Необходимо перезагрузить компьютер***
Warning |
---|
Обязательно перезагрузите компьютер. |
После перезагрузки, откройте Главное меню — Системные — Ввод ПК в домен.
Выберите параметр «Домен Windows/Samba»
Далее необходимо ввести параметры для ввода компьютера в домен.
Warning |
---|
Обязательно перезагрузите компьютер. |
Узнаем какие пакеты ещё Узнаем какие пакеты еще необходимы для подключения к домену
|
Список необходимых для работы пакетов будет выведен в следующем формате:
required-package: pkg1
required-package: pkg2
required-package: pkg3
Доустановим Установите отсутствующие пакеты:
sudo dnf install -y pkg1 pkg2 pkg3 ...
Если в домене есть пользователь ad_user, к которому можно подключиться с помощью пароля, то можно осуществить проверку настройки получив тикет для него
|
Проверка получения тикета осуществляется командой
|
Удаление тикета
|
Проверка аутентификации под пользователем в домене без Рутокена
|
Логинимся Залогиньтесь локальным пользователем для дальнейшей настройки:
|
Настройка клиента для аутентификации в домене с помощью Рутокена
Удаляем При необходимости удалите старую базу если есть, и создаем создайте новую:
|
Установите корневой сертификат в /etc/pki/ca-trust/source/anchors/.
Следующая команда используется из директории, в которой находится корневой сертификат:
|
sudo mkdir /etc/pam_pkcs11/nssdb
sudo chmod 777 /etc/pam_pkcs11/nssdb
sudo certutil -N -d /etc/pam_pkcs11/nssdb --empty-password
|
...
|
...
Следующая команда используется из директории, в которой находится корневой сертификат
...
sudo cp ca_cert.cer /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust force-enable
sudo update-ca-trust extract
sudo certutil -d /etc/pam_pkcs11/nssdb -A -n 'AD-ROOT' -t CT,CT,CT -a -i /etc/pki/ca-trust/source/anchors/ca_cert.cer
|
Проверьте, что сертификат виден на токене и в базе данных. Система должна запросить PIN-код Рутокена и выдать сертификат с карточки с правами u,u,u и корневого сервера.
|
Добавьте модуль Рутокен к p11-kit
|
Добавить в файл следующий текст:
module:/usr/lib64/librtpkcs11ecp.so
Сделайте модуль Рутокен по умолчанию для p11-tools
|
Проверяем видимость сертификатов. Должен запросить ПИН-код Рутокен и выдать сертификат с карточки с правами u,u,u и корневой сервера
sudo certutil -L -d
Certificate Nickname Trust Attributes Enter Password or Pin for "Rutoken ECP <no label>": |
sudo certutil -L -d /etc/pam_pkcs11/nssdb -h all
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Enter Password or Pin for "Rutoken ECP <no label>":
AD-ROOT CT,C,C
Rutoken ECP <no label>:te-Rutoken-0329dc84-5937-4b1e-adaf-5cbfe977cda0_E u,u,u
Добавляем модуль Рутокен к p11-kit
...
sudo nano /usr/share/p11-kit/modules/Rutoken.module
________________________________
module:/usr/lib64/librtpkcs11ecp.so
________________________________
Делаем модуль Рутокен по умолчанию для p11-tools
...
sudo modutil -default "Rutoken PKCS11" -dbdir /etc/pam_pkcs11/nssdb -mechanisms RSA:DSA:RC4:DES
Редактируем pam_pkcs11
...
sudo nano /etc/pam_pkcs11/pam_pkcs11.conf
pam_pkcs11 {
nullok = false;
debug = true;
use_first_pass = false;
use_authtok = false;
card_only = false;
wait_for_card = false;
use_pkcs11_module = rutokenecp;
# Aktiv Rutoken ECP
pkcs11_module rutokenecp {
module = /usr/lib64/librtpkcs11ecp.so;
slot_num = 0;
support_thread = true;
ca_dir = /etc/pam_pkcs11/cacerts;
crl_dir = /etc/pam_pkcs11/crls;
cert_policy = signature;
}
use_mappers = ms;
mapper_search_path = /usr/lib64/pam_pkcs11;
mapper ms {
debug = false;
module = internal;
ignorecase = true;
ignoredomain = true;
domain = "ASTRADOMAIN.AD";
}
}
Настраиваем PAM стандартным средством RHEL authselect.
...
sudo authselect select sssd with-smartcard with-mkhomedir --force
|
Отредактируйте pam_pkcs11
|
|
Настройте PAM стандартным средством RHEL authselect.
|
Общий вид /etc/pam.d/system-auth:
|
|
Как должен выглядеть /etc/pam.d/system-auth
sudo nano /etc/pam.d/system-auth
auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular auth
account sufficient pam_usertype.so issystem account [default=bad success=ok user_unknown=ignore] pam_sss.so account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_sss.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session optional pam_oddjob_mkhomedir.so umask=0077 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_sss.so |
Как должен выглядеть /etc/pam.d/password-auth
...
sudo nano /etc/pam.d/password-auth
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth [default=1 ignore=ignore success=ok] pam_localuser.so
auth [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_sss.so try_cert_auth
auth sufficient pam_unix.so nullok try_first_pass
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth sufficient pam_sss.so forward_pass
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_usertype.so issystem
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_sss.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session optional pam_oddjob_mkhomedir.so umask=0077
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_sss.so
|
Общий вид /etc/pam.d/password-auth:
|
|
Настройте SSSD
Для того, чтобы аутентификация корректно работала на лок скрине. В настройках sssd нужно указать название сервиса, использующегося при аутентификации через лок скрин, чтобы сделать его доверенным. У каждой графической оболочки свое название данного сервиса. Узнать название вашей графической оболочки можно с помощью команды:
Название графической оболочки
|
Вот список соответствий названий графических оболочек и сервиса, используемого лок скрином. Данный список не является полным.
MATE → mate-screensaver
X-Cinnamon → cinnamon-screensaver
fly → <Отсутствует>
KDE → kde
GNOME → xdg-screensaver
Сконфигурируем SSSD. Для этого отредактируем файл /etc/sssd/sssd.conf.Настройка SSSD
|
Как должен выглядетьОбщий вид /etc/sssd/sssd.conf:
|
Корректируем Измените конфиг Kerberos
|
Сам файл должен выглядеть следующим образомОбщий вид файла:
} |
...
|
Warning |
---|
Обязательно перезагрузите компьютер. |
Проверьте аутентификацию после перезагрузки.