Настройка сервера. Создание домена FreeIPA и пользователя
Для демонстрации настройки было использовано два стенда. На первом была установлена система Asta Linux Orel, и он был использован в качестве сервера FreeIPA. Он был настроен с помощью следующей последовательности команд:
Code Block | ||||
---|---|---|---|---|
| ||||
### Для Astra 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 ### Для Ред ОС # Меняем имя сервера в нашем домене astradomain.ad на server sudo hostnamectl set-hostname server.astradomain.ad # После данного этапа потребуется перезагрузка! # установим пакет fly-admin-freeipa-server sudo yum update sudo yum -y install bind bind-dyndb-ldap ipa-server* # Запустим настройщик freeipa sudo ipa-server-install --mkhomedir |
После настройки программа установки сервера FreeIPA выведет ссылку на веб-интерфейс для управления доменом. Нам потребуется создать нового пользователя, для которого мы и будем настраивать доступ по токену.
Для этого переходим на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и добавляем нового пользователя. В нашем случае был создан пользователь "user"
Настройка клиента. Подключение к домену
После добавления нового пользователя, переходим к настройке клиента. В качестве клиентского стенда был использован Astra Linux Smolensk с пятым обновлением безопасности. Настройка была осуществлена с помощью следующих команд:
Code Block | ||||
---|---|---|---|---|
| ||||
# Меняем имя клиента в нашем домене astradomain.ad на client sudo hostnamectl set-hostname client.astradomain.ad # После данного этапа потребуется перезагрузка! # отключаем соединение sudo nmcli con down "Проводное соединение 1" # настраиваем сетевую карту соединения - по умолчанию eth0 sudo nmcli con mod "Проводное соединение 1" connection.interface-name eth0 # настраиваем DNS - вместо DNS_SERVER_IP указать IP-адрес сервера DNS. При необходимости указать адрес локального сервера DNS. В нашем случае в качестве DNS сервера выступал сам сервер FreeIPA. Поэтому был указан его IP адрес sudo nmcli con mod "Проводное соединение 1" ipv4.dns "DNS_SERVER_IP 8.8.8.8" sudo nmcli con mod "Проводное соединение 1" ipv4.ignore-auto-dns yes # включаем сетевое соединение sudo nmcli con up "Проводное соединение 1" ### Для 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 # подключаемся к домену через пользователя admin sudo ipa-client-install --mkhomedir --enable-dns-updates |
После подключения, настройщик должен написать, что обнаружен настроенный клиент в домене astradomain.ad
...
Если после ввода пароля вам удалось аутентифицироваться как пользователь user, значит настройка прошла успешно.
Настройка аутентификации по токену для клиента
Создание заявки на сертификат
Для упрощения настройки был создан скрипт, выполняющий все действия по настройке за вас. Скачаем его:
Code Block | ||||
---|---|---|---|---|
| ||||
# для Astra linux sudo apt-get install git # для Ред ОС sudo yum install git git clone https://github.com/AktivCo/linux-2fa-domain-tuner.git cd linux-2fa-domain-tuner |
...
Code Block | ||||
---|---|---|---|---|
| ||||
cat cert.csr |
Создание сертификата
Переходим к серверу, который получил нашу заявку. Чтобы создать сертификат по данной заявке для данного пользователя, перейдем на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и выберем нашего пользователя, и на новой вкладке выбираем "Действия"→"Новый сертификат". В открывшемся окне вставляем нашу заявку.
...
После этого полученный сертификат пользователя и УЦ отправляем клиенту.
Финальная настройка на стороне клиента
После получения сертификата пользователя и УЦ, вставим токен и запустим скрипт.
...