Indeed Linux Logon
Indeed Linux Logon (Linux Logon) позволяет реализовать двухфакторную аутентификацию в операционной системе Linux. Первым фактором выступает пароль учетной записи, вторым — следующие технологии аутентификации:
При настройке модуля Linux Logon в Management Console отобразится полный список аутентификаторов, доступных в Access Manager. На данный момент Linux Logon поддерживает только описанные выше провайдеры — выбирайте нужные из этого списка.
Перед началом работы
- Установите доверенный сертификат.
- Установите системные библиотеки.
Установка доверенного сертификата
Для повышения уровня безопасности Linux Logon должен подключаться к Core Server по протоколу HTTPS.
Для этого добавьте серверный сертификат Core Server в список доверенных:
Перейдите в машину с Core Server и скопируйте серверный сертификат, выписанный на DNS-имя этой машины. Он расположен в директории ssl/<серверный сертификат>.pfx.
Добавьте <серверный сертификат>.pfx на машину с Linux Logon.
Преобразуйте сертификат из .pfx в .pem и введите пароль от сертификата .pfx:
openssl pkcs12 -in <серверный сертификат>.pfx -clcerts -nokeys -out <серверный сертификат>.pem
Проверьте содержимое преобразованного сертификата и его формат:
cat <серверный сертификат>.pem
file <серверный сертификат>.pemФайл должен содержать блок с данными в формате:
-----BEGIN CERTIFICATE-----
[данные сертификата]
-----END CERTIFICATE-----Добавьте сертификат в список доверенных. Процесс различается в зависимости от операционной системы и выполняется под пользователем root.
- Astra Linux
- РЕД ОС
- Скопируйте PEM-сертификат в директорию:
sudo cp <серверный сертификат>.pem /usr/local/share/ca-certificates/
- Установите права доступа к сертификату:
sudo chmod 644 /usr/local/share/ca-certificates/<серверный сертификат>.pem
- Обновите системное хранилище сертификатов:
sudo update-ca-certificates
В выводе команды должно быть указано:
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
- Скопируйте PEM-сертификат в директорию:
sudo cp <серверный сертификат>.pem /etc/pki/ca-trust/source/anchors/
- Установите права доступа к сертификату:
sudo chmod 644 /etc/pki/ca-trust/source/anchors/<серверный сертификат>.pem
- Обновите системное хранилище сертификатов:
sudo update-ca-trust
В выводе команды должно быть указано:
Updating certificates in /etc/pki/tls/certs/ca-bundle.crt...
Certificate added successfully.
Установка зависимостей
Установите системные библиотеки для корректной работы модуля Linux Logon. Установка библиотек различается в зависимости от операционной системы.
- Astra Linux
- РЕД ОС
Чтобы установить библиотеки, выполните команду:
sudo apt update
sudo apt install libqt5core5a/stable libqt5network5/stable libqt5xml5/stable libpam0g/stable libfmt9/stable libkrb5-3/stable
Чтобы установить библиотеки, выполните команду:
sudo dnf install qt5-qtbase-5.15.1 pam-1.4.0 fmt9-9.1.0 krb5-libs-1.20.1
Установка и настройка
Чтобы установить и настроить Linux Logon:
- Установите Linux Logon.
- Настройте интеграцию с инфраструктурой Pluggable Authentication Modules (PAM).
Установка Linux Logon
Модуль Linux Logon устанавливается на компьютерах под управлением Linux, включенных в домен. Поддерживается только каталог пользователей Active Directory.
Модуль поставляется в виде файла .deb для Astra Linux или .rpm для РЕД ОС. Установка Linux Logon различается в зависимости от операционной системы.
- Astra Linux
- РЕД ОС
- Чтобы установить Linux Logon, выполните команду:
dpkg -i <имя файла>.deb
- Чтобы установить Linux Logon, выполните команду:
rpm -i <имя файла>.rpm
Сделайте копию файла /etc/amsvc/amsvc.ini.example и переименуйте его в amsvc.ini.
В файле amsvc.ini раскомментируйте строки и укажите значения для переменных окружения:
AmURL
— URL-адрес сервера Core Server;DefaultDomain
— DNS-имя домена;DefailtNetbiosDomain
— NetBIOS-имя домена.
Пример файла amsvc.ini
[Service]
AmUrl=https://amdc.indeed.local/am/core/api/v6
DefaultDomain=indeed.local
DefailtNetbiosDomain=INDEED
Настройка подключаемых модулей аутентификации (PAM)
Аутентификация через модуль Indeed Linux Logon работает только при интеграции с инфраструктурой Pluggable Authentication Modules (PAM). Настройте конфигурацию цепочки модулей PAM.
Для этого:
- Настройте SSH.
- Добавьте Indeed Access Manager в файлы конфигурации с PAM-таблицами.
Настройка SSH
Чтобы модуль поддерживал интерактивный режим (Interactive shell) в PAM, добавьте указанные ниже параметры в конфигурационный файл
/etc/ssh/sshd_config
:ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no
KbdInteractiveAuthentication yesЕсли эти параметры активны в других частях файла
sshd_config
, закомментируйте их, иначе SSH может работать некорректно.Чтобы перезапустить службу SSH, используйте команду:
systemctl restart sshd
Настройка ScreenSaver
Настройка ScreenSaver необходима только для ОС Astra Linux.
Для корректной работы модуля Linux Logon с хранителем экрана (ScreenSaver):
- Отредактируйте конфигурационный файл
/usr/share/fly-wm/theme.master/themerc
— в переменнойScreenSaver
поменяйте значение наinternal
:
[Variables]
#ScreenSaver="internal fly-modern-locker"
ScreenSaver="internal"
- Сохраните файл и перезагрузите систему.
Генерация PAM-таблиц с помощью скрипта
В состав пакета Linux Logon /usr/share/amsvc/am-setup
входит скрипт am-setup.py
, а также файл README.md
с подробной инструкцией по работе скрипта. Скрипт создает модифицированную версию PAM-таблиц: добавляет в них связи с Indeed Access Manager, не нарушая структуру.
- Чтобы запустить скрипт, выполните команду:
sudo python3 /usr/share/amsvc/am-setup/am-setup.py -i -a
- Проверьте, что в каталоге
/etc/pam.d/
созданы версии PAM-таблиц с расширением.pam_am
.
Например, файл common-auth в Astra Linux до модификации содержал следующую информацию:
Пример
auth [success=ignore default=2] pam_localuser.so
auth [success=1 default=ignore] pam_succeed_if.so quiet user ingroup astra-admin
auth requisite pam_faillock.so preauth audit per_user deny=8
auth [success=3 default=ignore] pam_unix.so nullok try_first_pass
auth [success=2 default=ignore] pam_sss.so use_first_pass
auth required pam_faillock.so authfail audit per_user deny=8
auth requisite pam_deny.so
auth required pam_permit.so
После модификации с помощью скрипта в каталоге появился файл common-auth.pam_am:
Пример
auth [success=ignore default=3] pam_localuser.so
auth [success=1 default=ignore] pam_succeed_if.so quiet user ingroup astra-admin
auth requisite pam_faillock.so preauth audit per_user deny=8
auth [success=4 default=ignore] pam_unix.so nullok try_first_pass
auth requisite pam_am.so
auth [success=2 default=ignore] pam_sss.so forward_pass
auth required pam_faillock.so authfail audit per_user deny=8
auth requisite pam_deny.so
auth required pam_permit.so
Проверьте, что полученные файлы не противоречат принятой в вашей компании политике безопасности. Так как скрипт выполняет настройку модуля
pam_am.so
на основе конфигурационных файлов с PAM-таблицами, он только предлагает вариант модификации этих таблиц.Если предложенный вариант требует корректировки, исправьте файлы
.pam_am
вручную.Удалите из названий файлов расширение
.pam_am
.
Пример для Astra Linux
В каталоге /etc/pam.d/
созданы файлы common-auth.pam_am
и common-password.pam_am
.
Переименуйте файлы в common-auth
и common-password
.
Пример для РЕД ОС
В каталоге /etc/pam.d/
созданы файлы system-auth.pam_am
и password-auth.pam_am
.
Переименуйте файлы в system-auth
и password-auth
.
- После настройки таблиц перезапустите сервис:
sudo systemctl restart amsvcd.service
Чтобы удалить Access Manager из системных PAM-таблиц:
- Удалите свои изменения, если вы редактировали таблицы вручную.
- Выполните команду:
sudo python3 /usr/share/amsvc/am-setup/am-setup.py -u -a
Скрипт удалит добавленные при установке строки и вернет таблицы в исходное состояние.
- Проверьте, что из файлов с расширением
.pam_am
удален модульpam_am.so
, и удалите расширение из названий файлов.
Вход в систему
Перед входом в систему:
- Зарегистрируйте лицензию модуля и настройте политику в Management Console.
- Добавьте пользователя в настроенную политику.
- Настройте провайдеры аутентификации.
Настройка различается в зависимости от операционной системы.
- Astra Linux
- РЕД ОС
Выберите один метод аутентификации для пользователя в Management Console:
- MFA,
- Software OTP,
- доменный пароль,
- Secured OTP,
- Passcode.
Зарегистрируйте аутентификатор для пользователя.
Сообщите пользователю о выбранном для него методе.
Выберите один или несколько методов аутентификации для пользователя в Management Console.
Если вы выберете несколько провайдеров, они будут предложены пользователю в указанном ниже порядке:
- MFA,
- Software OTP,
- доменный пароль,
- Secured OTP,
- Passcode.
В политике выбрано два аутентификатора: Software OTP и Passcode. Software OTP по условиям сортировки стоит в списке выше, поэтому для входа в систему пользователю будет предложен именно он.
- Зарегистрируйте аутентификаторы для пользователя.
При первом входе в систему пользователю нужно ввести доменный пароль, а при последующих будет использоваться выбранный в политике провайдер. Если для пользователя в Management Console уже зарегистрированы доменный пароль и Passcode, при входе в систему ему сразу будет предложен выбранный в политике провайдер.
Особенности работы Linux Logon при подключении через RDP
При подключении к системе через протокол Remote Desktop Protocol (RDP) модуль Linux Logon работает со следующими особенностями:
При аутентификации с помощью MFA в поле пароля необходимо вводить значения аутентификаторов в одну строку без разделителя.
Пример: в политике выбрано два аутентификатора: Passcode и Software OTP. Значение Passcode —
passcode
, значение Software OTP —213443
.В поле пароля нужно ввести оба значения в одну строку без разделителя:
passcode213443
.Нет возможности настроить цепочку многофакторной аутентификации с помощью доменного пароля и Passcode.
Нет возможности синхронизировать или сменить пароль.
Дополнительные возможности
Модуль Linux Logon позволяет:
Включить генерацию случайного пароля
Чтобы настроить генерацию случайного пароля в свойствах пользователя в Active Directory, отключите опции Запретить смену пароля пользователя и Срок действия пароля не ограничен.
Случайный пароль для учетной записи будет сгенерирован по истечении срока действия текущего пароля. Если для учетной записи был сгенерирован случайный пароль, то следующий вход в систему возможен только с использованием аутентификатора.
Чтобы включить генерацию случайного пароля:
- На боковой панели Management Console в разделе Политики выберите политику из списка.
- На вкладке Приложения выберите Linux Logon.
- Для настройки Пароль учетной записи Active Directory выберите Генерировать случайный.
- Нажмите Сохранить.
Пароли для всех пользователей в данной политике будут изменены, если это не противоречит их свойствам в Active Directory.
В журнале событий Management Console отобразится событие 1091 Пароль пользователя был успешно сменен автоматически. Пользователи смогут войти в систему только с помощью добавленных аутентификаторов, не используя доменный пароль.
Если доменный пароль изменен администратором, при входе в систему появится сообщение о рассинхронизации пароля. Нажмите ОК и введите пароль, заданный администратором. После этого пароль будет автоматически изменен.
Поддерживать локализацию
Модуль Linux Logon поддерживает вывод системных сообщений на двух языках: русском и английском. Выбор языка происходит автоматически и зависит от языковых настроек операционной системы Linux.
Поддержка локализованных сообщений доступна при смене пользователя и работе в графическом интерфейсе. При входе в систему и подключению по SSH сообщения выводятся только на английском языке.
Список системных сообщений
EN | RU |
---|---|
Can't authenticate | Невозможно аутентифицировать |
Input domain password | Введите доменный пароль |
An exception occurred: domain password mismatch. To fix the problem, input the domain password or contact your AM administrator. | Возникла исключительная ситуация: сохранённый доменный пароль не подходит. Для решения проблемы введите доменный пароль или обратитесь к вашему администратору AM. |
Select method: | Выберите метод: |
There are N methods available: | Доступно N методов: |
Your password has been successfully updated | Ваш пароль был успешно обновлён |
Can't update your password. Please, contact your administrator | Не получилось обновить ваш пароль. Пожалуйста, сообщите об этом вашему администратору |