| Оглавление |
|---|
| Информация | ||
|---|---|---|
| ||
|
Состав пакета astra-802-1x
- /usr/sbin/astra-802-1x — инструмент аутентификации astra-802-1x;
/usr/bin/astra-802-1x_logoff — инструмент деаутентификации astra-802-1x_logoff;
- конфигурационный файл /usr/share/pam-configs/astra-802-1x для настройки PAM-стека;
- конфигурационный файл /etc/astra-802-1x/astra-802-1x.cfg для настройки инструментов;
- файл настройки прав sudo /etc/sudoers.d/astra-802-1x;
- сценарий деаутентификации при выходе их графической пользовательской сессии /etc/X11/Xreset.d/00-astra-802-1x_logoff;
- файл настройки прав доступа к сетевым устройствам /var/lib/polkit-1/localauthority/10-vendor.d/astra-802-1x.pkla.
Установка инструментов
Для установки инструментов:
- Ввести компьютер в домен c использованием SSSD. Работа с компьютерами, использующими winbind не гарантируется.
Обновить списки пакетов:
Command sudo apt update Установить пакет astra-802-1x:
Command sudo apt install astra-802-1x Пакеты csp-monitor и gnutls-bin установятся автоматически по зависимостям.
Особенности установки пакета astra-802-1x
Набор инструментов оформлен в виде стандартного пакета Debian.
При установке пакета выполняются следующие действия:
- в PAM-стек добавляется вызов сценария аутентификации (файл /etc/pam.d/common-auth, секция Additional);
- в файлы /usr/share/fly-wm/theme/default.themerc и /home/*/.fly/theme/default.themerc при условии, что обратные вызовы не задействованы, добавляются обратные вызовы деаутентификации по включению блокировки экрана.
При удалении пакета выполняются обратные действия.
Сценарий аутентификации astra-802-1x
Назначение: сценарий аутентификации 802.1х для использования в PAM-стеке.
Исполняемый фал: /usr/sbin/astra-802-1x.
Конфигурационный файл: /etc/astra-802-1x/astra-802-1x.cfg.
Особенности и ограничения:
- Подразумевается, что компьютер введен в домен с использованием sssd. Работа с недоменными компьютерами, недоменными пользователями не поддерживается. Работа с компьютерами, введенными в домен с использованием winbind не поддерживается.
- Для использования инструментов непривилегированным пользователем этот пользователь должен входить в группу "802.1x users" (используется по умолчанию для доменов Windows AD).
- Подразумевается, что двухфакторная аутентификация (2ФА) по ключевым носителям настраивается отдельно. Пакет обеспечивает только расширение функциональности настроенной 2ФА.
- Подразумевается, что сетевые интерфейсы:
- управляются службой Network Manager;
настроены на автоматическое получение IP-адреса при включении:
Command Title nmcli -f connection.autoconnect con show Проводное\ соединение\ 1 connection.autoconnect: да
- Для поиска ключевых носителей используются интерфейсные библиотеки /usr/lib/libjcPKCS11-2.so (Аладдин) и /usr/lib/librtpkcs11ecp.so (Рутокен). Если библиотека не установлена - она игнорируется.
- Используется первый найденный ключевой носитель.
- Предполагается, что на найденном носителе имеется только одна ключевая пара (ключ и соответствующий сертификат).
- Если включена опция check_pin, то ключевые носители проверяются, имеющие ненулевое количество неудачных вводов PIN-кода, игнорируются для предотвращения их окончательной блокировки.
- PIN-код ключевого носителя (пароль пользователя) передается через стандартный ввод (см. man pam_exec).
- Имя пользователя передается через переменную окружения PAM_USER (см. man pam_exec).
- PIN-код ключевого носителя (пароль пользователя) сохраняется в конфигурационном файле Network Manager (/etc/NetworkManager/system-connectons/<имя_сетевого_соединения>) и защищен от несанкционированного доступа дискреционными правами доступа.
- Ограничения для версий до 0.1.6 включительно:
- имя машины (hostname) должно содержать доменную часть;
- имя сетевого подключения Network Manаger должно совпадать с именем сетевого устройства и не содержать пробелов;
- при выходе из консольной сессии деаутентификация сетевого соединения не поддерживается;
- для автоматической аутентификации 802-1x при разблокировке сессии пользователь должен входить в группу netdev.
- Для выполнения программ входящих в пакет пользователям должно быть предоставлено расширенное право управления сетевыми соединениями. Для этого используется механизм sudoers.
- Не поддерживаются следующие параметры соединения:
- 802-1x.domain-suffix-match;
- 802-1x.subject-match;
- 802-1x.altsubject-matches.
Синтаксис конфигурационного файла — bash source. Комментарии не поддерживаются. Значения всех параметров должны быть заключены в одинарные кавычки. Поддерживаемые переменные (указаны значения по умолчанию, если они есть):
- con='<имя_подключения>' — имя подключения Network Manager. При пакета пытается найти это имя и указать в файле.
- tls='true' — использовать аутентификацию TLS. В качестве аутентификационных данных используется ключевая пара на ключевом носителе. При этом предполагается, что сценарий получил через механизмы PAM-стека в качестве кода доступа PIN-код ключевого носителя.
- peap='true' — использовать аутентификацию PEAP (имя пользователя и пароль). При этом предполагается, что через механизмы PAM-стека в качестве кода доступа получен пароль пользователя.
Если включены одновременно типы аутентификации TLS и PEAP, то:- выполняется попытка найти данные для аутентификации по протоколу TLS;
- если аутентификационные данные TLS найдены, то выполняется попытка аутентификации TLS с использованием кода доступа как PIN-кода. Результат аутентификации не проверяется;
- если аутентификационные данные TLS не найдены - то предполагается, что получен пароль пользователя, и используется механизм аутентификации PEAP.
- выполняется попытка найти данные для аутентификации по протоколу TLS;
- debug='true' — включить отладку (запись трассировки в журнал /var/log/syslog).
- url='<URL>' – URL для фильтрации записей на ключевом носителе при поиске сертификатов. Если не задан - ищется первый сертификат. В соответствии с синтаксисом PKCS#11 URL должен начинаться с префикса "pkcs11:". При этом часть после префикса не может быть пустой. Дополнительно можно использовать параметр $USER для подстановки имени пользователя. Например:
- url='pkcs11:model=PRO' – искать данные только на ключевых носителях модели Алладдин Аладдин JaCarta PRO.
- url='pkcs11:token=$USER' — искать данные только на ключевых носителях, метка которых совпадает именем пользователя.
- ca_cert='/etc/sssd/pki/sssd_auth_ca_db.pem' — сертификат удостоверяющего центра для проверки подлинности аутентифицирующей стороны. Необязателен.
- domain='<имя_домена>удостоверяющего_центра>' — необязательное имя (CN) удостоверяющего центра. Если . Несмотря на название не всегда является именем домена.
Начиная с версии 0.4.7 по умолчанию пусто и не проверяется.
Для более ранних версий: если не задано, то берется имя домена из имени хоста. Если в имени хоста нет доменной составляющей, то берется из имени пользователя. Если в имени пользователя нет доменной составляющей, то не используется.
При выборе значения этого поля следует помнить, что имя удостоверяющего центра зависит от его типа, например:- при работе с удостоверяющим центром Freeradius Astra Linux Special Edition в качестве CN используется имя доменавида:
/C=RU/ST=Radius/O=RBTA/CN=example.local/emailAddress=admin@example.local; - при работе с Radius Windows AD в качестве CN используется имя удостоверяющего центра Wndows AD: /DC=dotx/DC=test/CN=test-AD-DC-CA;
- при работе с удостоверяющим центром Freeradius Astra Linux Special Edition в качестве CN используется имя доменавида:
- check_pin='false' — возможность дополнительной проверки содержимого токена. Значение true рекомендуется использовать для отладки. Замедляет общий ход выполнения.
- hard_off='...' — выбор способа деаутентификации 802.1х. По умолчанию (если параметр не задан) для виртуальных сред используется программная деаутентификация, для физических — более быстрая аппаратная. Значения true/false включают аппаратную/программную деаутентификацию независимо от платформы;
- lock_break='false' — начиная с версии 0.4.12+c11 — управление автоматической деаутентификацией 802.1х при включении блокировки экрана. По умолчанию автоматическая деаутентификация отключена (соответствует значению параметра false). Для включения деаутентификации изменить значение параметра на true. Начиная с версии 0.4.13 при выходе из пользовательской сессии деаутентификация используется всегда независимо от значения параметра lock_break.
Вызов сценария выполняется в PAM-стеке (/etc/pam.d/common-auth) после успешной аутентификации пользователя.
Инструмент деаутентификации astra-802-1x_logoff
Назначение: принудительная деаутентификация в сети.
Исполняемый файл: /usr/bin/astra-802-1x_logoff.
Особенности и ограничения:
- Подразумевается, что сетевые интерфейсы управляются службой Network Manager.
- Имя сетевого интерфейса берется из параметра con конфигурационного файла /etc/astra-802-1x/astra-802-1x.cfg или определяется автоматически.
Предполагается использование инструмента в сценариях обратного вызова (callback) при включении блокировки экрана (поддерживается в fly-wm начиная с версии 2.43.18+ci63).
Сценарий обработки обратного вызова указывается в файлах themerc параметрами:
| Блок кода |
|---|
LockerInCallback= LockerOutCallback= |
Пример команды для создания обратного вызова:
| Command |
|---|
| echo "LockerInCallback=/usr/bin/astra-802-1x_logoff" | sudo tee -a /home/i.ivanov@windom2016.ru/.fly/theme/{default,current}.themerc |
| Информация |
|---|
| При использовании режима киоска выполнение сценария обратного вызова необходимо явно разрешить. |