Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

доменное имя: server,astradomain.ad

ip: 10.0.2.15

Клиент:

ОС: Red OS МуромРЕД ОС \ Астра Линукс \ ALT Linux \ Ubuntu

доменное имя: redos.astradomain.ad \ smolensk.astradomain.ad \ orel.astradomain.ad \ ubuntu.astradomain.ad

Настройка сервера

Установка сервиса Active Directory

Измените имя сервера, если это необходимо. Его можно задать в окне менеджера сервера:

Добавим службу Active Dirrectory и DNS на сервер. Для этого откроем окно добавления ролей в менеджере сервера:


В окне для выбора сервисов укажем установим галочки "Active Directory Domain Services" и "DNS Server":

...

Во всех остальных пунктах соглашаемся с установкойдаем согласие на установку.

После завершения установки сервисов вам перейдем надо перейти к настройке домена/ . Для этого откройте меню уведомлений и выберете выберите пункт "Promote this server to a domain controller":

В На первой вкладке укажите опцию для создания нового домена и укажите его название:


Укажите Введите пароль сброса:


Cследующую вкладку оставляем нетронутой. ТНа следующей вкладке оставляем все как есть., т.к. наш сервер сам является DNS сервером:

 Следующие


три вкладки можно оставить нетронутымиНа следующих трёх вкладках также оставляем все как есть:


Читаем предупреждения перед установкойПеред запуском процесса установки ознакомимся с уведомлениями об ошибках.. И если необходимо, устраняем возникшие проблемы. В нашем случае предупреждения уведомления не являются критичными:


После установки Active Directory сервер перезагрузится.  Если настройка прошла успешно, то нас попросят войти в аккаунт на этот раз доменного пользователя:

...

Аналогичным образом добавьте остальных пользователей, которые должны быть в домене.

Установка центра сертификации Active Directory:

Установите драйверы для работы с Рутокеном на сервер. Их можно получить тут. После этого можно приступить к настройке центра сертификации и выдачи сертификатов для пользователей. Это можно сделать по данной инструкции. Настройку авторизации с помощью сертификатов можно воспроизвести по этой инструкции.


Info
titleДля пользоватей Linux

Для аутентификации

Info
titleДля пользоватей Linux

Для аутетнтификации пользователей через linux машины. Помимо токенов с ключами и сертификатов пользователей, вам также необходимо направить им корневой сертификат УЦ.

Его можно получить здесь:

Установка центра сертификации Active Directory:

Установите драйвера для работы с Рутокеном на сервер. Их можно получить тут. После этого можно приступить к настройке центра сертификации и выдачи сертификатов для пользователей. Это можно сделать по данной инструкции. Настройка авторизации с помощью сертификатов можно воспроизвести по этой инструкции.

Настройка клиента Linux

Настройка подключения к домену

...


Настройка клиента Linux

Настройка подключения к домену

Info
titleAstra Linux Smolensk

Для Astra Linux Smolensk чтобы подключиться к домену (не настраивая двухфакторную аутентификацию), можно воспользоваться следующей инструкцией

Если во время выполнения инструкции панель "Настройки клиента Active Directory" не будет запускаться, то введите в командной строке следующую команду:

Code Block
languagebash
title
Настройка DNS
доступ к X11 для root
xhost +SI:localuser:root

Она предоставит пользователю root доступ к графическому интерфейсу среды.


В первую очередь настроим подключение к домену. Это можно сделать с помощью следующей последовательности команд:

Code Block
languagebash
titleНастройка DNS
#########################################################
############## Меняем доменное имя клиента ##############
#########################################################
# Меняем имя клиента в нашем домене astradomain.ad на client
sudo hostnamectl set-hostname redosclient.astradomain.ad
 
# После данного этапа потребуется перезагрузка


#########################################################
### Настройка подключения. Изменяем адрес DNS сервера ###
#########################################################
# узнайте название вашего соединения. Они могут отличаться
CON_NAME="Проводное соединение 1"
# название интерфейса, которое использует ваше соединение
INT_NAME="eth0"
# адрес dns сервера
DNS_SERVER_IP=10.0.2.37
# отключаем соединение
sudo nmcli con down "$CON_NAME"
 
# настраиваем сетевую карту соединения - по умолчанию $INT_NAME
sudo nmcli con mod "$CON_NAME" connection.interface-name $INT_NAME
 
# настраиваем DNS - вместо DNS_SERVER_IP указать IP-адрес сервера DNS. При необходимости указываем адрес локального сервера DNS. В нашем случае в качестве DNS сервера выступал сам сервер FreeIPA. Поэтому был указан его IP адрес
sudo nmcli con mod "$CON_NAME" ipv4.dns "$DNS_SERVER_IP 8.8.8.8"
sudo nmcli con mod "$CON_NAME" ipv4.ignore-auto-dns yes
 
# включаем сетевое соединение
sudo nmcli con up "$CON_NAME"

# Проверка подключения
ping server.astradomain.ad

#########################################################
############# Установка необходимых пакетов #############
#########################################################
# для пользователей систем с менеджером пакетов yum
sudo yum install -y realmd PackageKit

# для пользователей систем с менеджером пакетов apt-get
sudo apt-get install -y realmd packagekit

# Узнаем какие пакеты еще необходимы для подключения к домену
realm discover astradomain.ad

# Список необходимых для работы пакетов будет выведен в следующем формате
# required-package: pkg1
# required-package: pkg2
# required-package: pkg3
# ...

# Доустановим отсутствующие пакеты
# для пользователей систем с менеджером пакетов yum
sudo yum install -y pkg1 pkg2 pkg3 ...

# для пользователей систем с менеджером пакетов apt-get
sudo apt-get install -y pkg1 pkg2 pkg3 ...


#########################################################
################# Подключение к домену ##################
#########################################################
# Подключимcя к домену
# Пользователь user должен обладать правами подключения устройств в домен.
sudo realm join astradomain.ad --user=user

# Установим пакет krb5-userworkstation
# для пользователей систем с менеджером пакетов yum
sudo yum install -y krb5-pkinitworkstation

# для пользователей систем с менеджером пакетов apt-get
sudo apt-get install -y krb5-user

# для пользователей Alt linux
sudo apt-get install -y krb5-workstation

# Если в домене есть пользователь user, к которому можно подключиться с помощью пароля, то можно осуществить проверку настройки получив тикет для него
kinit user@astradomain.ad

# Проверка получения тикета
klist

# Удаляем тикет
kdestroy

Настройка автоматического создания домашней директории

Когда доменный пользователь аутентифицируется в системе необходимо чтобы для него автоматически создавался домашний каталог.

Для систем основанных на Debian 

Это можно сделать в настройках pam. Для этого в файле /etc/pam.d/common-session активируем модуль pam_mkhomedir.so, после pam_sss.so. Содержимое файла будет будет выглядеть следующем образом:

Code Block
languagebash
titleНастройка автоматического создания каталога
...
session required pam_unix.so
session optional pam_sss.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
...

Для систем основанных на Red Hat

user@ASTRADOMAIN.AD

# Проверка получения тикета
klist

# Удаляем тикет
kdestroy


Настройка автоматического создания домашней директории

Когда доменный пользователь аутентифицируется в системе необходимо чтобы для него автоматически создавался домашний каталог.

Это можно сделать в настройках pam. Для этого в файле 

/etc/pam.d/common-session для систем основанных на Debian

/etc/pam.d/system-auth для систем основанных на Red Hat

Это можно сделать в настройках pam. Для этого в файле /etc/pam.d/system-auth активируем модуль -sss-only для пользователей Alt linux

активируем модуль pampam_mkhomedir.so, после pam_sss.so. Содержимое файла будет будет выглядеть следующем образом:

Code Block
languagebash
titleНастройка автоматического создания каталога
...
session required pam_unix.so
session optional pam_sss.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
...

Проверка аутентификации под пользователем в домене без Рутокена

...

Если в домене есть пользователь user, под которым можно аутентифицироваться без смарт-карты, то можно проверить предыдущую надстройку аутентифицируясь под ним. Для начала можно попробовать аутнетифицироваться аутентифицироваться через командную строку:

Code Block
languagebash
titleНастройка автоматического создания каталога
su user@astradomain.ad

Image Modified


Настройка клиента для

...

аутентификации в домене с помощью Рутокена

Упрощенная настройка

Для упрощенной настройки можно воспользоваться утилитой для работы с токенами. Описание упрощенной настройки можно прочитать тут (TODO).

Ручная настройка

Установка

...

необходимых пакетов для работу:

Code Block
languagebash
titleУстановка libnss3-tools
# для пользователей систем с менеджером пакетов yum
sudo yum install -y nss-tools opensc opensckrb5-pkinit

# для пользователей систем с менеджером пакетов apt-get
sudo apt-get install -y libnss3-tools opensc krb5-pkinit

Для ручной настройки также потребуется установить библиотеку librtpkcs11ecp. Ее можно получить тут.  Установим данную библиотеку.

...

Code Block
languagebash
titleДобавление сертификатов с Рутокена
# перезапустите сервис pcscd на случай, если он выключен
sudo systemctl restart pcscd

# проверяем наличие сертификатов в БД
sudo certutil -L -d /etc/pki/nssdb -h all

Image Modified


Настройка SSSD

Для того, чтобы аутентификация корректно работала на лок скрине. В настройках sssd нужно указать название сервиса, использующегося при аутентфиикации аутентификации через лок скрин, чтобы сделать его доверенным. У каждой графической оболочки свое название данного сервиса. Узнать название вашей графической оболочки можно с помощью команды:

...

Вот список соответствий названий графических оболочек и сервиса, используемого лок скрином. Данный список не является полным.

MATE → mate-screensaver
X-Cinnamon → cinnamon-screensaver
fly → <Отсутствует>
KDE → kde

...

Code Block
languagebash
title/etc/sssd/sssd.conf
[sssd]
domains = astradomain.ad
config_file_version = 2
services = nss, pam

[domain/astradomain.ad]
ad_domain = astradomain.ad
krb5_realm = ASTRADOMAIN.AD
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad

# Если хотим подключатьсяподключатся к пользователям домена не вводя имя домена
use_fully_qualified_names = False
use_fully_qualified_names = False

# Для пользователей Astra Linux также нужно добавить строчку отключения групповых политик
ad_gpo_access_control = permissive

# Для активации входа по смарт-картам
[pam]
pam_cert_auth = True
# Указываем название сервиса, используемого лок скрином. Если сервис отсуствуетотсутствует, то данную строку не используют
pam_p11_allowed_services = +<service_name>

...

Code Block
languagebash
title/etc/krb5.conf
...
[libdefaults]
...
# Путь до дерриктории с корневым сертификатов с постфиксом .pem
    pkinit_anchors = DIR:/etc/pki/tls/certs/
# АдрессАдрес KDC
    pkinit_kdc_hostname = server.astradomain.ad
# Пропускаем проверку EKU сертификата
    pkinit_eku_checking = kpServerAuth
    default_ccache_name = KEYRING:persistent:%{uid}
# Имя домена по умолчанию
    default_realm = ASTRADOMAIN.AD
# Путь д сертификатов и ключей
    pkinit_identities = PKCS11:librtpkcs11ecp.so
# Для совместимости с AD 
    canonicalize = True
...

...

Code Block
languagebash
titleполучение тикета для пользователя user
# ПолученияПолучение тикета. Должно быть предложено ввести ПИН -код токена
kinit user

# Проверка получения тикета
klist

# Сброс тикета
kdestroy

Image Modified


Попытка

...

аутентификации по смарт-карте

Попробуйте аутентифицироваться под доменным пользователем user по смарт-карте в системе:

Code Block
languagebash
titleАутентфиикация пользователя user
su user

Если аутентификаия аутентификация не прошла успешно, то попробуйте изменить конфигурацию pam модулей, иначе можете пропустить данную часть

Настройка pam модулей

...

Для аутентификации пользователя в системе с помощью смарт-карты необходимо изменить содержимое pam модулей

Для систем основанных на Debian 

Файл /etc/pam.d/common-auth должен содержать следующие строки:

Code Block
languagebash
titleНастройка автоматического создания каталога
...
auth [success=2 default=ignore] pam_sss.so forward_pass
auth [success=1 default=ignore] pam_unix.so try_first_pass nullok_secure
...
Для систем основанных на Red Hat

Файл /etc/pam.d/system-auth должен содержать следующие строки:

Code Block
languagebash
titleНастройка автоматического создания каталога
...
auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
auth        sufficient                                   pam_unix.so nullok try_first_pass
auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient                                   pam_sss.so forward_pass
...

...


Аутентфикация через гритер

Проверьте аутентфикацию аутентификацию через гритер  через лок скрин.

Image Removed

Image Added

Для пользователей Astra Linux предложение ввода ПИН-кода не отображается. В поле ввода пароля просто введите ПИН-код от Рутокена:

Image Added


Image Added