Indeed Linux Logon
Indeed Linux Logon (Linux Logon) позволяет реализовать многофакторную аутентификацию (MFA) в операционной системе Linux. Модуль поддерживает следующие технологии аутентификации:
При настройке модуля Linux Logon в Management Console отобразится полный список аутентификаторов, доступных в Access Manager. На данный момент Linux Logon поддерживает только описанные выше аутентификаторы — выбирайте нужные из этого списка.
Предварительные настройки
Модуль Linux Logon устанавливается на хостах под управлением Linux, включенных в домен. Поддерживается только каталог пользователей Active Directory.
Для Astra Linux необходимо настроить ввод в домен Active Directory через SSSD. Подробнее в официальной документации Astra Linux.
Прежде чем перейти к установке и настройке модуля Linux Logon:
- Установите корневой сертификат домена в формате Base-64.
- Установите системные библиотеки.
Установка сертификатов
Для повышения уровня безопасности Linux Logon необходимо в доверенные сертификаты добавить корневой сертификат домена в формате Base-64, если доменный УЦ выписал его для Core Server.
Чтобы добавить корневой сертификат домена:
- Перейдите на хост с Core Server и скопируйте сертификат. Он расположен в директории ssl/ca.cer.
- Добавьте ca.cer на хост с Linux Logon.
Далее процесс различается в зависимости от операционной системы и выполняется под пользователем root.
- Astra Linux
- РЕД ОС
Скопируйте сертификат в директорию и измените расширение на .crt:
sudo cp ca.cer /usr/local/share/ca-certificates/ca.crtУстановите права доступа к сертификату:
sudo chmod 644 /usr/local/share/ca-certificates/ca.crtОбновите системное хранилище сертификатов:
sudo update-ca-certificatesВ выводе команды должно быть указано:
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Скопируйте сертификат в директорию:
sudo cp ca.cer /etc/pki/ca-trust/source/anchors/Установите права доступа к сертификату:
sudo chmod 644 /etc/pki/ca-trust/source/anchors/ca.cerОбновите системное хранилище сертификатов:
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 libqt5remoteobjects5/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:
- Установите модуль Linux Logon.
- Настройте интеграцию с инфраструктурой Pluggable Authentication Modules (PAM).
Установка Linux Logon
Чтобы установить модуль Linux Logon:
Скачайте архив am-<номер версии>.tar.gz, загрузите его на целевой хост в необходимый каталог.
Перейдите в каталог с архивом и распакуйте его с помощью команды:
sudo tar -xf <имя архива>.tar.gzМодуль поставляется в виде файла .deb для Astra Linux или .rpm для РЕД ОС. Установка файла модуля различается в зависимости от операционной системы.
- Astra Linux
- РЕД ОС
Перейдите в каталог astra-x-x и выполните команду:
dpkg -i <имя файла>.deb
Перейдите в каталог redos-x-x и выполните команду:
rpm -i <имя файла>.rpm
Сделайте копию файла /etc/amsvc/amsvc.ini.example и переименуйте его в amsvc.ini.
В файле amsvc.ini раскомментируйте строки и укажите значения для переменных окружения:
AmURL— URL-адрес сервера Core Server;DefaultDomain— DNS-имя домена;DefaultNetbiosDomain— NetBIOS-имя домена.
Пример файла amsvc.ini
[Service]
AmUrl=https://amdc.indeed.local/am/core/api/v6
DefaultDomain=indeed.local
DefaultNetbiosDomain=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 fly-modern-locker:[Variables]
ScreenSaver="internal fly-modern-locker"Сохраните файл и перезагрузите хост с Linux Logon.
Генерация PAM-таблиц с помощью скрипта
В состав пакета Linux Logon входит скрипт 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Перезагрузите хост с Linux Logon.
(Опционально) Чтобы удалить Access Manager из системных PAM-таблиц:
Удалите свои изменения, если вы редактировали таблицы вручную.
Выполните команду:
sudo python3 /usr/share/amsvc/am-setup/am-setup.py -u -aСкрипт удалит добавленные при установке строки и вернет таблицы в исходное состояние.
Проверьте, что из файлов с расширением
.pam_amудален модульpam_am.so, и удалите расширение из названий файлов.Перезагрузите хост с Linux Logon.
Безопасность обработки учетных данных
При модификации PAM-таблиц данные учетных записей на рабочей станции пользователя не сохраняются. Так как обработка учетных записей выполняется в сервисе amsvcd, который работает под выделенным пользователем, у непривилегированных пользователей нет доступа к этим данным.
Использованная оперативная память очищается сразу после передачи данных, данные учетных записей не сохраняются. Из снимка состояния памяти (файлы .dmp) извлечь эту информацию невозможно.
Межпроцессорное взаимодействие между сервисом amsvcd и инфраструктурой PAM происходит с помощью UNIX-сокетов, поэтому перехват сетевого трафика становится невозможным.
Вход в систему
Перед входом в систему:
- Зарегистрируйте лицензию модуля и настройте политику в Management Console.
- Добавьте пользователя в настроенную политику.
- Настройте провайдеры аутентификации.
Настройка различается в зависимости от операционной системы.
- Astra Linux
- РЕД ОС
Выберите один метод аутентификации для пользователя в Management Console из этого списка:
- MFA
- Software OTP
- доменный пароль
- Secured OTP
- Passcode
Зарегистрируйте аутентификатор для пользователя.
Сообщите пользователю о выбранном для него методе.
При первом входе в систему пользователю нужно ввести доменный пароль, а при последующих будет использоваться выбранный в политике аутентификатор. Если для пользователя в Management Console уже зарегистрированы доменный пароль и Passcode, при входе в систему ему сразу будет доступен выбранный в политике аутентификатор.
Выберите один или несколько методов аутентификации для пользователя в Management Console.
Если вы выберете несколько провайдеров, они будут предложены пользователю в виде списка:
- MFA
- Software OTP
- доменный пароль
- Secured OTP
- Passcode
Зарегистрируйте аутентификаторы для пользователя.
При первом входе в систему пользователю нужно ввести доменный пароль, а при последующих будет использоваться выбранный в политике аутентификатор. Если для пользователя в Management Console зарегистрировано несколько аутентификаторов, при входе в систему ему нужно будет ввести номер выбранного им аутентификатора в поле Выберите метод.
Особенности работы Linux Logon при подключении через RDP
При подключении к системе через протокол Remote Desktop Protocol (RDP) модуль Linux Logon работает со следующими особенностями:
При аутентификации с помощью MFA в поле пароля необходимо вводить значения аутентификаторов в одну строку без разделителя.
Пример: в политике выбрано два аутентификатора: Passcode и Software OTP. Значение Passcode —
passcode, значение Software OTP —213443.В поле пароля нужно ввести оба значения в одну строку без разделителя:
passcode213443.Нет возможности настроить цепочку многофакторной аутентификации с помощью доменного пароля и Passcode.
Нет возможности синхронизировать или сменить пароль.
Подключение Z2 USB
Для аутентификации через Linux Logon с помощью физического устройства Z2 USB подключите устройство к рабочей станции с установленным Linux Logon. Сервис устройств amdev.service обработает информацию о новом устройстве и автоматически использует ее для подключения.
Для ОС Astra Linux дополнительно обновите настройки ScreenSaver:
- в файле /etc/X11/fly-dm/fly-dmrc в переменной
PluginsLoginпоменяйте значение наmodern_generic; - в файле /usr/share/fly-wm/theme.master/themerc в переменной
ScreenSaverпоменяйте значение наinternal fly-dm_locker_modern; - сохраните файлы и перезагрузите хост с Linux Logon.
Если при работе устройства возникают ошибки, перезапустите сервис:
sudo systemctl restart amdev.service
Дополнительные возможности
Модуль 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 | Не получилось обновить ваш пароль. Пожалуйста, сообщите об этом вашему администратору |
Сбор логов
Информация по включению логирования и сбору логов компонента Linux Logon находится в разделе Сбор логов компонентов Access Manager.