Описание стенда
Сервер:
ОС: Windows server 2019
...
ip: 10.0.2.15
Клиент:
ОС: РЕД ОС
Настройка сервера
Установка сервиса Active Directory
Info |
---|
При необходимости измените имя сервера. Это необходимо сделать до выполнения его настройки. |
...
- Добавление сервисов.
- Настройка домена.
- Добавление новых пользователей.
- Установка центра сертификации Active Directory.
Шаг 1. Добавление необходимых сервисов
Добавьте на сервер сервисы Active Dirrectory и DNS:
...
4. Во всех остальных пунктах даём согласие на установку.
Шаг 2. Настройка домена
После завершения установки сервисов вам надо перейти к настройке домена:
...
После установки Active Directory сервер перезагрузится. Если настройка прошла успешно, то на экране отобразится окно для входа в аккаунт доменного пользователя.
Шаг 3. Добавление новых пользователей
Чтобы добавить новых пользователей:
...
4. Аналогичным образом добавьте остальных пользователей, которые должны быть в домене.
Шаг 4. Установка центра сертификации Active Directory
Info |
---|
Перед процедурой установите драйверы для работы с Рутокеном на сервер, ссылка на актуальную версию: https://www.rutoken.ru/support/download/windows/ |
После этого можно приступить к настройке центра сертификации и выдаче сертификатов для пользователей. Это можно сделать по данной инструкции.
Настройку авторизации с помощью сертификатов можно воспроизвести реализовать по этой инструкции.
Для аутентификации пользователей пользователя через linux машины . Помимо токенов необходимы:
- токен с ключами и сертификатов
...
- ;
- корневой сертификат УЦ (его необходимо отправить пользователям).
Его можно получить здесь:
Сохранить необходимо в формате BASE64.
Чтобы получить корневой центр УЦ:
- Выберите пункт меню Tools и подпункт Certification Authority.
Настройка клиента РЕД ОС
Добавление пользователя в sudo
Необходимо отредактировать Отредактируйте файл /etc/sudoers
|
И добавить добавьте в него строчку User строчку user ALL=(ALL) ALL
Далее логинимся залогиньтесь под пользователем и продолжаем продолжите работу из-под него.
|
Далее необходимо установить установите следующие пакеты:
|
|
|
|
sudo dnf install -y krb5-workstation
|
Загрузите модуль librtpkcs11ecp.so и установите:
|
Настройка DNS
Через консоль
Меняем Измените имя клиента в нашем домене astradomain.ad на client
...
Адрес dns сервера
|
Отключаем Отключите соединение
|
Настраиваем Настройте сетевую карту соединения - — по умолчанию $INT_NAME
|
Настраиваем Настройте DNS - — вместо DNS_SERVER_IP указать IP-адрес сервера DNS. При необходимости указываем укажите адрес локального сервера DNS.
|
Включаем Включите сетевое соединение
|
Вводим Вводите компьютер в домен
|
Через графический интерфейс
Откройте Главное меню — Параметры — Расширенная конфигурация сети.
Выберите своё соединение, и на вкладке Параметры IPv4 введите IP клиента (так как Вводим 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/.
Следующая команда используется из директории, в которой находится корневой сертификат:
|
Проверяем видимость сертификатов. Должен запросить ПИН-код Рутокен Проверьте, что сертификат виден на токене и в базе данных. Система должна запросить PIN-код Рутокена и выдать сертификат с карточки с правами u,u,u и корневой корневого сервера.
|
Добавляем Добавьте модуль Рутокен к p11-kit
|
________________________________
...
Добавить в файл следующий текст:
module:/usr/lib64/librtpkcs11ecp.so
Сделайте модуль Рутокен по умолчанию для p11-tools
|
Отредактируйте pam_pkcs11
|
|
...
|
Настройте PAM стандартным средством RHEL authselect.
|
Общий вид /etc/pam.d/system-auth:
|
|
Общий вид /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.
Делаем модуль Рутокен по умолчанию для 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
Как должен выглядеть /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 [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth [default=2 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
...
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/sssd/sssd.conf:
|
...
Измените конфиг Kerberos
|
Сам файл должен выглядеть следующим образомОбщий вид файла:
|
...
Warning |
---|
Обязательно перезагрузите компьютер. |
Проверьте аутентификацию после перезагрузки.