Page tree

Versions Compared

Key

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

Astra Linux, РЕД ОС, ROSA Linux

Info
titleСмена домена

При выходе из домена желательно очистить директорию, содержащую сертификаты старого домена. Для этого достаточно выполнить команду:

sudo rm -r  /etc/pki/nssdb/

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

Для Astra Linux Смоленск и РЕД ОС

Info
titleИспользование домена и клиента с разными ОС

Доменная и клиентская машины не обязательно должны иметь одинаковую операционную систему для корректной аутентификации по смарт-картам. Но тем не менее, если версии SSSD – разные, как у Astra Linux (SSSD 16.1.3) и РЕД ОС (SSSD 2.0.0), то на доменной машине должна быть установлена ОС с более новой версией SSSD.

В обратную же сторону настройка домена возможна.

Настройка сервера. Создание домена FreeIPA и пользователя

Для демонстрации настройки было использовано два стенда. Первый был использован в качестве сервера FreeIPA. Он был настроен с помощью следующей последовательности команд:

Code Block
languagebash
titleAstra Linux. Настройка сервера
# Меняем имя сервера в нашем домене astradomain.ad на server
sudo hostnamectl set-hostname server.astradomain.ad

# После данного этапа потребуется перезагрузка

# установим пакет fly-admin-freeipa-server
sudo apt-get update
sudo apt-get install fly-admin-freeipa-server

# Запустим настройщик freeipa
sudo fly-admin-freeipa-server


Code Block
languagebash
titleРЕД ОС. Настройка сервера
# Меняем имя сервера в нашем домене astradomain.ad на server
sudo hostnamectl set-hostname server.astradomain.ad

# После данного этапа потребуется перезагрузка

# установим пакет ipa-server
sudo yum update
sudo yum -y install bind bind-dyndb-ldap ipa-server*

# Запустим настройщик freeipa
sudo ipa-server-install --mkhomedir


После настройки программы установки сервера FreeIPA отобразится ссылка на веб-интерфейс для управления доменом. Вам потребуется создать нового пользователя, для которого и будете настраивать доступ по токену.

Для этого перейдите на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и добавьте нового пользователя. В нашем случае был создан пользователь "user".

 


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

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

Если в качестве клиента выступает Astra Linux Smolensk, то на нем должно быть установлено пятое обновление безопасности.


После добавления нового пользователя, переходим к настройке клиента. Настройка была осуществлена с помощью следующих команд:

Code Block
languagebash
titleНастройка клиента
# Меняем имя клиента в нашем домене astradomain.ad на client
sudo hostnamectl set-hostname client.astradomain.ad

# После данного этапа потребуется перезагрузка

# узнайте название вашего соединения. Они могут отличаться
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"


### Для Astra Linux
# устанавливаем графический клиент для подключения к домену
sudo apt-get update
sudo apt-get install fly-admin-freeipa-client

# подключаемся к домену через пользователя admin
sudo fly-admin-freeipa-client


### Для РЕД ОС
# устанавливаем графический клиент для подключения к домену
sudo yum update
sudo yum -y install ipa-client

### Для Rosa
# устанавливаем графический клиент для подключения к домену
sudo urpmi --auto-update
sudo urpmi ipa-client libini_config5 compiz ldb-utils

# подключаемся к домену через пользователя admin
sudo ipa-client-install --mkhomedir --enable-dns-updates


После подключения настройщик должен написать, что обнаружен настроенный клиент в домене astradomain.ad.


Попробуем подключиться к созданному пользователю user:

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


Если после ввода пароля вам удалось аутентифицироваться как пользователь user, значит настройка прошла успешно.

Настройка аутентификации по токену для клиента

Создание заявки на сертификат

Для упрощения настройки был создан скрипт, выполняющий все действия по настройке за вас. Скачаем его:

Code Block
languagebash
titleУстановка скрипта настройки
# для Astra linux
sudo apt-get install git
# для Ред ОС
sudo yum install git


git clone https://github.com/AktivCo/linux-domain-user-2fa-tuner --recursive
cd linux-domain-user-2fa-tuner


Подключим токен и запустим скрипт (запускать не из под рута! скрипт сам запрашивает пароль администратора, когда это потребуется):

Code Block
languagebash
titleЗапуск скрипта настройки
bash ./setup.sh

После ввода пароля в первую очередь необходимо сгенерировать ключ на токене (или использовать существующий) и создать заявку (PKCS#10-запрос) на сертификат нашего ключа.

Выберем существующий ключ или создадим новый.


После генерации ключа на экране отобразится его идентификатор на токене.


После выбора ключа вам будет предложено ввести данные для заявки. Все эти данные являются опциональными, кроме "Общего имени". Туда необходимо ввести имя пользователя, под которым мы хотим аутентифицироваться:


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


Созданную заявку копируем и отправляем на сервер. Распечатать ее можно с помощью команды:

Code Block
languagebash
titleВывод заявки
cat cert.csr


Создание сертификата

Переходим к серверу, который получил нашу заявку.

Чтобы создать сертификат по данной заявке для данного пользователя, перейдем на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и выберем нашего пользователя.

На новой вкладке выбираем "Действия"→"Новый сертификат". В открывшееся окне вставляем нашу заявку.

В графе идентификатор пользователя необходимо будет указать caIPAserviceCert

Выданный сертификат можно получить на этой же вкладке, переместившись чуть ниже до пункта с сертификатами. 

Нажмем на вкладку "Загрузить" и отправим сертификат пользователю.


Также пользователю потребуется корневой сертификат УЦ, его можно получить на вкладке "Аутентификация"→"Сертификаты".

Выбираем самый первый сертификат и нажимаем на вкладку "Действия"→ "Загрузить".


После этого полученный сертификат пользователя и УЦ отправляем клиенту.

Финальная настройка на стороне клиента

После получения сертификата пользователя и УЦ, подключим токен и запустим скрипт.

Code Block
languagebash
titleЗапуск скрипта настройки
bash ./setup.sh

На этот раз выбираем вторую вкладку в разделе меню.

В следующем окне выбираем импортировать ли сертификат на токен или нет. Если сертификат уже загружен на токен, то выберете "Сертификат пользователя уже есть на Рутокене".

Если мы выбрали импорт сертификата, то в следующем окне указываем путь до сертификата пользователя:


В следующем окне необходимо указать идентификатор ключа, для которого был выписан сертификат. Вы его должны были запомнить после первого запуска скрипта setup.sh.


В следующем разделе указываем путь до сертификата УЦ.


Настройка завершена. Проверим, что все установлено правильно. Для этого попробуем зайти под пользователем user.

Лампочка на токене замигает и отобразится окно для ввода PIN-кода.

Если все прошло успешно, то можно попробовать осуществить аналогичную аутентификацию через greeter.