Astra Linux, РЕД ОС, ROSA Linux
Info | ||
---|---|---|
| ||
При выходе из домена желательно очистить директорию, содержащую сертификаты старого домена. Для этого достаточно выполнить команду: sudo rm -r /etc/pki/nssdb/ Это необходимо для того, чтобы при входе в новый домен, корневой сертификат старого домена не помешал установке нового. |
Для Astra Linux Смоленск и РЕД ОС
Info | ||
---|---|---|
| ||
Доменная и клиентская машины не обязательно должны иметь одинаковую операционную систему для корректной аутентификации по смарт-картам. Но тем не менее, если версии SSSD – разные, как у Astra Linux (SSSD 16.1.3) и РЕД ОС (SSSD 2.0.0), то на доменной машине должна быть установлена ОС с более новой версией SSSD. В обратную же сторону настройка домена возможна. |
Настройка сервера. Создание домена FreeIPA и пользователя
Для демонстрации настройки было использовано два стенда. На первом была установлена система Asta Linux Orel, и он Первый был использован в качестве сервера FreeIPA. Он был настроен с помощью следующей последовательности команд:
Code Block | ||||
---|---|---|---|---|
| ||||
# Меняем имя сервера в нашем домене 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 | ||||
---|---|---|---|---|
| ||||
# Меняем имя сервера в нашем домене 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 | ||
---|---|---|
| ||
Если в качестве клиента выступает Astra Linux Smolensk, то на нем должно быть установлено пятое обновление безопасности. |
После добавления нового пользователя, переходим к настройке клиента. В качестве клиентского стенда был использован Astra Linux Smolensk с пятым обновлением безопасности. Настройка Настройка была осуществлена с помощью следующих команд:
Code Block | ||||
---|---|---|---|---|
| ||||
# Меняем имя клиента в нашем домене 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 "Проводное соединение 1$CON_NAME" # настраиваем сетевую карту соединения - по умолчанию eth0$INT_NAME sudo nmcli con mod "Проводное соединение 1$CON_NAME" connection.interface-name eth0$INT_NAME # настраиваем DNS - вместо DNS_SERVER_IP указать IP-адрес сервера DNS. При необходимости указатьуказываем адрес локального сервера DNS. В нашем случае в качестве DNS сервера выступал сам сервер FreeIPA. Поэтому был указан его IP адрес sudo nmcli con mod "Проводное соединение 1$CON_NAME" ipv4.dns "DNS$DNS_SERVER_IP 8.8.8.8" sudo nmcli con mod "Проводное соединение 1$CON_NAME" ipv4.ignore-auto-dns yes # включаем сетевое соединение sudo nmcli con up "Проводное соединение 1" $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 | ||||
---|---|---|---|---|
| ||||
su user |
...
Если после ввода пароля вам удалось аутентифицироваться как пользователь user, значит настройка прошла успешно.
Настройка аутентификации по
...
Рутокену для клиента
Создание заявки на сертификат
Для упрощения настройки был создан скрипт, выполняющий все действия по настройке за вас. Скачаем егоможно воспользоваться графической утилитой по работе с Рутокенами в линукс. Скачаем ее:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo apt-get install git # для red os sudo yum update sudo yum install git # для astra и alt linux sudo apt-get update sudo apt-get install git # для rosa sudo urpmi --auto-update sudo urpmi git git clone https://github.com/AktivCo/rutoken-linux-gui-2fa-domain-tuner.git cd linux-2fa-domain-tuner |
Вставим токен и запустим скрипт:
Code Block | ||||
---|---|---|---|---|
| ||||
bash ./setup.sh |
После ввода пароля в первую очередь необходимо сгенерировать ключ на токене (или использовать существующий) и создать заявку (PKCS#10-запрос) на сертификат нашего ключа.
Выберем существующий ключ или создадим новый.
После генерации ключа на экране отобразится его идентификатор на токене.
После выбора ключа вам будет предложено ввести данные для заявки. Все эти данные являются опциональными, кроме "Общего имени". Туда необходимо ввести имя пользователя, под которым мы хотим аутентифицироваться:
Выберем место, куда сохранить файл с заявкой.
manager --recursive |
После того, как настройщик был загружен, его можно запустить двойным щелчком по названию файла token-assistent.run. Если программа открылась вместе с терминалом, то для запуска необходимо создать ярлык, с помощью установщика token-assistent.installer. После запуска установщика появится ярлык token-assistent.desktop, который нужно использовать для запуска программы.
При первом запуске программа может запросить пароль администратора для получения обновлений. Загрузка обновлений может занять несколько минут.
После загрузки обновлений, программа предложит выбрать токен, который мы хотим использовать для локальной аутентификации. Если нужный Рутокен не появился в списке, то можно нажать на кнопку для обновления списка устройств:
Далее вводим PIN-код Рутокена:
На Рутокене отсутствует ключевая пара и сертификат выданный УЦ для аутентификации:
Генерация ключевой пары
Откроем список объектов на Рутокене:
В первую очередь, сгенерируем ключ. Для этого в окне просмотра объектов выберем опцию для генерации ключевой пары:
В окне выбора алгоритма ключа необходимо указать "RSA-2048"
Метку ключа можно оставить пустой:
После генерации ключевой пары, необходимо создать для неё заявку на сертификат. В списке объектов выберем закрытый ключ из ключевой пары, для которой хотим создать заявку на сертификат:
В открывшемся окне выберем опцию для создания заявки на сертификат:
Введём данные сертификата. В графе Общее имя необходимо указать имя пользователя, для которого мы создаем сертификат для аутентфиикации:
Далее нас попросят выбрать, создать ли самоподписанный сертификат или создать заявку на сертификат Выбираем "Нет":
Укажем путь, куда сохраним заявку на сертификат:
Данную заявку в дальнейшем следует отправить в ваш УЦ, для выдачи сертификата.
Созданную заявку копируем и отправляем на сервер. Распечатать ее можно , например, с помощью команды:
Code Block | ||||
---|---|---|---|---|
| ||||
cat cert.csr |
Создание сертификата
Переходим к серверу, который получил нашу заявку.
Чтобы создать сертификат по данной заявке для данного пользователя, перейдем на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и выберем нашего пользователя, и на .
На новой вкладке выбираем "Действия"→"Новый сертификат". В открывшемся окне открывшееся окно вставляем нашу заявку.
В поле Идентификатор пользователя необходимо указать caIPAserviceCert
Выданный сертификат можно получить в на этой же вкладке, промотав переместившись чуть ниже до пункта с сертификатами. Нажмём на вкладку
Нажмем "Загрузить" и отправим сертификат пользователю.
Также пользователю потребуется корневой сертификат УЦ, его можно получить на вкладке "Аутентификация"→"Сертификаты".
Выбираем самый первый сертификат и нажимаем переходим на вкладку "Действия"→ "Загрузить".
После этого полученный сертификат пользователя и УЦ отправляем клиенту.
Финальная настройка на стороне клиента
После получения сертификата пользователя и УЦ, вставим токен и запустим скрипт.
Code Block | ||||
---|---|---|---|---|
| ||||
bash ./setup.sh |
но на этот раз выбираем вторую вкладку в разделе меню
В следующем окне указываем путь до сертификата пользователя:
В следующем окне необходимо указать идентификатор ключа, для которого был выписан сертификат. Вы его должны были запомнить после первого запуска скрипта setup.sh.
В следующем разделе указываем путь до сертификата УЦ.
...
Импорт сертификата на Рутокен
Повторно запускаем программу по работе с Рутокенами. Выбираем необходимый токен, вводим PIN-код. Открываем просмотр объектов. В окне просмотра объектов выберем закрытый ключ, для которого выдан сертификат:
В открывшемся окне выберем опцию импорта сертификата ключа
Укажем путь до сертификата:
При желании можно задать метку сертификата:
Финальная настройка на стороне клиента
Теперь, когда на Рутокене присутствует ключевая пара и сертификат клиента? можно приступить к финальной настройке. Для этого откроем в меню команд Рутокена выберем пункт Настройки аутентификации в домене FreeIPA.
Нам необходимо получить права суперпользователя, для проведения настройки. Поэтому вводит пароль суперпользователя:
В открывшемся окне укажем путь до корневого сертификата УЦ:
Настройка завершена. Проверим, что все установлено правильно. Для этого попробуем зайти под пользователем user.
Токен должен был замигать и должно было появиться предложение ввести PIN-код
Лампочка на Рутокене замигает и отобразится окно для ввода PIN-кода.
Если все прошло успешно, то можно попробовать осуществить аналогичную аутентификацию через greeter.