Настройка ald клиента fly
При выходе из домена желательно очистить директорию, содержащую сертификаты старого домена. Для этого достаточно выполнить команду:
Это необходимо для того, чтобы при входе в новый домен, корневой сертификат старого домена не помешал установке нового.
Для Astra Linux Смоленск и РЕД ОС
Использование домена и клиента с разными ОС
Доменная и клиентская машины не обязательно должны иметь одинаковую операционную систему для корректной аутентификации по смарт-картам. Но тем не менее, если версии SSSD – разные, как у Astra Linux (SSSD 16.1.3) и РЕД ОС (SSSD 2.0.0), то на доменной машине должна быть установлена ОС с более новой версией SSSD.
В обратную же сторону настройка домена возможна.
Настройка сервера. Создание домена FreeIPA и пользователя
Для демонстрации настройки было использовано два стенда. Первый был использован в качестве сервера FreeIPA. Он был настроен с помощью следующей последовательности команд:
После настройки программы установки сервера FreeIPA отобразится ссылка на веб-интерфейс для управления доменом. Вам потребуется создать нового пользователя, для которого и будет настраиваться доступ по Рутокену.
Для этого перейдите на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и добавьте нового пользователя. В нашем случае был создан пользователь "user".
Настройка клиента. Подключение к домену
Для пользователей Astra Linux
Если в качестве клиента выступает Astra Linux Smolensk, то на нем должно быть установлено пятое обновление безопасности.
После добавления нового пользователя, переходим к настройке клиента. Настройка была осуществлена с помощью следующих команд:
После подключения настройщик должен написать, что обнаружен настроенный клиент в домене astradomain.ad.
Попробуем подключиться к созданному пользователю user:
Если после ввода пароля вам удалось аутентифицироваться как пользователь user, значит настройка прошла успешно.
Настройка аутентификации по Рутокену для клиента
Создание заявки на сертификат
Для упрощения настройки можно воспользоваться графической утилитой по работе с Рутокенами в линукс. Скачаем ее:
При первом запуске программа может запросить пароль администратора для получения обновлений. Загрузка обновлений может занять несколько минут.
После загрузки обновлений, программа предложит выбрать токен, который мы хотим использовать для локальной аутентификации. Если нужный Рутокен не появился в списке, то можно нажать на кнопку для обновления списка устройств:
Далее вводим PIN-код Рутокена:
На Рутокене отсутствует ключевая пара и сертификат выданный УЦ для аутентификации:
Генерация ключевой пары
Откроем список объектов на Рутокене:
В первую очередь, сгенерируем ключ. Для этого в окне просмотра объектов выберем опцию для генерации ключевой пары:
В окне выбора алгоритма ключа необходимо указать "RSA-2048"
Метку ключа можно оставить пустой:
Создание заявки на сертификат
После генерации ключевой пары, необходимо создать для неё заявку на сертификат. В списке объектов выберем закрытый ключ из ключевой пары, для которой хотим создать заявку на сертификат:
В открывшемся окне выберем опцию для создания заявки на сертификат:
Введём данные сертификата. В графе Общее имя необходимо указать имя пользователя, для которого мы создаем сертификат для аутентфиикации:
Далее нас попросят выбрать, создать ли самоподписанный сертификат или создать заявку на сертификат Выбираем "Нет":
Укажем путь, куда сохраним заявку на сертификат:
Созданную заявку копируем и отправляем на сервер. Распечатать ее можно с помощью команды:
Создание сертификата
Переходим к серверу, который получил нашу заявку.
Чтобы создать сертификат по данной заявке для данного пользователя, перейдем на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и выберем нашего пользователя.
На новой вкладке выбираем "Действия"→"Новый сертификат". В открывшееся окно вставляем нашу заявку.
В поле Идентификатор пользователя необходимо указать caIPAserviceCert
Выданный сертификат можно получить на этой же вкладке, переместившись чуть ниже до пункта с сертификатами.
Нажмем "Загрузить" и отправим сертификат пользователю.
Также пользователю потребуется корневой сертификат УЦ, его можно получить на вкладке "Аутентификация"→"Сертификаты".
Выбираем самый первый сертификат и переходим на вкладку "Действия"→ "Загрузить".
После этого полученный сертификат пользователя и УЦ отправляем клиенту.
Импорт сертификата на Рутокен
Повторно запускаем программу по работе с Рутокенами. Выбираем необходимый токен, вводим PIN-код. Открываем просмотр объектов. В окне просмотра объектов выберем закрытый ключ, для которого выдан сертификат:
В открывшемся окне выберем опцию импорта сертификата ключа
Укажем путь до сертификата:
При желании можно задать метку сертификата:
Финальная настройка на стороне клиента
Теперь, когда на Рутокене присутствует ключевая пара и сертификат клиента? можно приступить к финальной настройке. Для этого откроем в меню команд Рутокена выберем пункт Настройки аутентификации в домене FreeIPA.
Нам необходимо получить права суперпользователя, для проведения настройки. Поэтому вводит пароль суперпользователя:
В открывшемся окне укажем путь до корневого сертификата УЦ:
Настройка завершена. Проверим, что все установлено правильно. Для этого попробуем зайти под пользователем user.
Лампочка на Рутокене замигает и отобразится окно для ввода PIN-кода.
Если все прошло успешно, то можно попробовать осуществить аналогичную аутентификацию через greeter.
В этом посте мы решили рассказать о доменной аутентификации в Linux, с использованием смарт-карт и USB-токенов JaCarta PKI в качестве второго фактора аутентификации. Если о локальной аутентификации через PAM-модуль информации существует довольно много, то вопрос доменной инфраструктуры и аутентификация по Kerberos-билетам в Linux рассмотрен слабо, особенно на русском языке. В качестве операционной системы возьмем Astra Linux и на примере Astra Linux Directory (ALD) это и покажем.
Выгода такого решения очевидна – оно позволяет отказаться от парольной аутентификации пользователя, что поможет кардинально снизить влияние «человеческого фактора» на безопасность системы. Плюс это даст ряд преимуществ от использования электронных ключей внутри операционной системы, после аутентификации в домене.
Немного вводных об Astra Linux Directory (ALD) и JaCarta PKI
Домен Astra Linux Directory (ALD) предназначен для организации единого пространства пользователей (домена локальной вычислительной сети) в автоматизированных системах.
ALD использует технологии LDAP, Kerberos5, Samba/CIFS и обеспечивает:
- централизованное хранение и управление учетными записями пользователей и групп;
- сквозную аутентификацию пользователей в домене с использованием протокола Kerberos5;
- функционирование глобального хранилища домашних директорий, доступных по Samba/CIFS;
- автоматическую настройку файлов конфигурации UNIX, LDAP, Kerberos, Samba, PAM;
- поддержку соответствия БД LDAP и Kerberos;
- создание резервных копий БД LDAP и Kerberos с возможностью восстановления;
- интеграцию в домен входящих в дистрибутив СУБД, серверов электронной почты, Web-серверов, серверов печати и другие возможности.
В среде Astra Linux Directory (ALD) электронные ключи JaCarta PKI могут использоваться для двухфакторной аутентификации пользователя в домене ALD и отказа от паролей. Кроме того, с этими же электронными ключами можно выполнять различные сценарии внутри ОС, после аутентификации, такие, как: электронная подпись, хранение ключевых контейнеров, доступ к Web-ресурсам, проброс ключа в сессии MS Windows. Доступ к VDI сервисам, таким, как VmWare или Citrix.
Процесс настройки
Пример демо-зоны
- Сервер — Astra Linux Smolensk SE 1.5 4.2.0-23-generic, x86_64, с установленными пакетами:
- JaCarta IDProtect 6.37;
- libccid;
- pcscd;
- libpcsclite1;
- krb5-pkinit;
- libengine-pkcs11-openssl;
- opensc.
- JaCarta IDProtect 6.37;
- libccid;
- pcscd;
- libpcsclite1;
- krb5-pkinit.
Установка драйверов на сервер и клиент
Для обеспечения работы со смарт-картой JaCarta PKI на клиенте и сервере установите следующие пакеты: libccid, pcscd, libpcsclite1. После установки этих обязательных пакетов установите пакет драйверов IDProtectClient, который можно загрузить с официального сайта «Аладдин Р.Д.».
Для обеспечения работы со смарт-картой подсистемы Kerberos добавочно к предустановленным пакетам ald/kerberos установите пакет krb5-pkinit на клиенте и сервере.
Для обеспечения возможности выпуска ключей и сертификатов на JaCarta PKI на сервере также установите пакеты libengine-pkcs11-openssl и opensc.
Установка и настройка центра сертификации на сервере
В качестве центра сертификации (CA) будет использован OpenSSL.
OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT.
-
Выпустите сертификат KDC:
$ openssl x509 -req -in kdc.req -CAkey cakey.pem -CA cacert.pem -out kdc.pem -extfile pkinit_extensions -extensions kdc_cert –CAcreateserial –days 365Подготовка смарт-карты. Выпуск ключей и сертификата пользователя
Убедитесь в том, что установлены пакеты libengine-pkcs11-openssl и opensc. Подключите устройство, которое следует подготовить.
Проинициализируйте устройство, установите PIN-код пользователя. Помните, что инициализация устройства удалит все данные на JaCarta PKI без возможности восстановления.
Для инициализации необходимо воспользоваться утилитой pkcs11-tool.
pkcs11-tool --slot 0 --init-token --so-pin 00000000 --label 'JaCarta PKI' --module /lib64/libASEP11.so,
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
--init-token – команда инициализации токена;
--so-pin 00000000 – PIN-код администратора JaCarta PKI. По умолчанию имеет значение 00000000;
--label 'JaCarta PKI' – метка устройства;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».
Для задания PIN-кода пользователя используйте команду:
pkcs11-tool --slot 0 --init-pin --so-pin 00000000 --login --pin 11111111 --module /lib64/libASEP11.so,
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
--init-pin – команда установки PIN-кода пользователя;
--so-pin 00000000 – PIN-код администратора JaCarta PKI. По умолчанию имеет значение 00000000;
--login – команда логина;
--pin 11111111 – задаваемый PIN-код пользователя;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».
Сгенерируйте ключи на устройстве, для этого введите следующую команду:
pkcs11-tool --slot 0 --login --pin 11111111 --keypairgen --key-type rsa:2048 --id 42 --label “test1 key” --module /lib64/libASEP11.so,
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
--login --pin 11111111 — указывает, что следует произвести логин под пользователем с PIN-кодом «11111111». Если у Вашей карты другой PIN-код пользователя, укажите его;
--keypairgen --key-type rsa:2048 — указывает, что должны быть сгенерированы ключи длиной 2048 бит;
--id 42 — устанавливает атрибут CKA_ID ключа. CKA_ID может быть любым;
Запомните это значение! Оно необходимо для дальнейших шагов подготовки устройства к работе.
--label “test1 key” — устанавливает атрибут CKA_LABEL ключа. Атрибут может быть любым;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».
Сгенерируйте запрос на сертификат с помощью утилиты openssl. Для этого введите следующие команды:
Обратите внимание на -new -key 0:42, где 0 — номер виртуального слота с устройством, 42 — атрибут CKA_ID сгенерированных раннее ключей.Информацию, которую необходимо указать в запросе, следует задавать в поле "/C=RU/ST=Moscow/L=Moscow/O=Aladdin/OU=dev/CN=test1 (! Ваш_Пользователь!)/[email protected]".
Необходимо установить переменные окружения
и выпустить сертификат на пользователя.
$ openssl x509 -CAkey cakey.pem -CA cacert.pem -req -in client.req -extensions client_cert -extfile pkinit_extensions -out client.pem –days 365
Далее перекодируйте полученный сертификат из PEM в DER.
Запишите полученный сертификат на токен.
pkcs11-tool --slot 0 --login --pin 11111111 --write-object client.cer --type 'cert' --label 'Certificate' --id 42 --module /lib/libASEP11.so,
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;
--login --pin 11111111 — указывает, что следует произвести логин под пользователем с PIN-кодом «11111111». Если у Вашей карты другой PIN-код пользователя, укажите его;
--write-object ./client.cer — указывает, что необходимо записать объект и путь до него;
--type 'cert' — указывает, что тип записываемого объекта – сертификат;
'cert' --label 'Certificate' — устанавливает атрибут CKA_LABEL сертификата. Атрибут может быть любым;
--id 42 — устанавливает атрибут CKA_ID сертификата. Должен быть указан тот же CKA_ID, что и для ключей;
--module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so.
Настройка клиента. Проверка работоспособности
Создайте на клиенте каталог /etc/krb5/. Скопируйте в /etc/krb5/ сертификат CA (cacert.pem) c сервера.
Настройте kerberos в /etc/krb5.conf. Секцию [libdefaults] дополните следующими строками.
kinit Когда появится строка запроса PIN-кода к карте, введите его.
Для проверки того, что kerberos-тикет был успешно получен для пользователя, введите команду klist. Для удаления тикета — kdestroy.
Для входа в домен по смарт-карте на экране входа в ОС вместо пароля введите PIN-код от смарт-карты.
На этом настройка окончена. Да, к сожалению, система сама не поменяет и не подстроит login окно под смарт-карту, и оно будет стандартным, но если приложить немного секретных усилий, можно добиться красивого результата.
Использование службы ALD ОССН Astra Linux для защиты информации.
Рисунок 1. Вариант реализации корпоративной ЗЛВС для мультисервисной системы связи на базе ОССН Astra Linux Special Edition (релизы Смоленск, Мурманск, Новороссийск).
На рис. 1 представлен вариант реализации корпоративной ЗЛВС для мультисервисной системы связи на базе ОССН. При этом рабочие станции пользователей ЗЛВС являются клиентами доменной сетевой инфраструктуры, координируемой первичным контроллером домена (Primary Domain Controller
PDC) под управлением ОССН.
Текущий релиз ОССН поддерживает доменную сетевую инфраструктуру, основанную на технологии Active Directory (AD), которая является совместимой с технологией Microsoft Directory Service и базируется на реализации следующих протоколов:
- OpenLDAP — реализация протокола прикладного уровня LDAP (Lightweight Directory Access Protocol) с открытым исходным кодом, обеспечивающего механизм «I&А» (Identification and Authentication), а также поиск, добавление, изменение и удаление записей в единый каталог сетевых объектов;
- Samba — реализация протокола прикладного уровня SMB/CIFS (Server Message Block/Common Internet File System) с открытым исходным кодом, обеспечивающего удалённый доступ к сетевым ресурсам (файлам, принтерам), а также реализацию механизма IPC (Inter-Process Communication) для удалённого выполнения приложений;
- Kerberos — протокол взаимной аутентификации хостов перед установлением соединения между ними, реализующий механизм единого входа (Single Sign-On — SSO).
Определение из Википедии:
Kerberos /kɛərbərəs/ — сетевой протокол аутентификации, который предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними, причём в протоколе учтён тот факт, что начальный обмен информацией между клиентом и сервером происходит в незащищенной среде, а передаваемые пакеты могут быть перехвачены и модифицированы.
- централизованного хранения данных своих учётных записей и информации о их пользовательском окружении;
- монтирования для учётных записей пользователей их домашних каталогов, расположенных на PDC, в состав локальной файловой системы хоста;
- сквозной аутентификации на хостах, входящих в состав доменной сетевой инфраструктуры.
Совокупность указанных возможностей обеспечивает формирование для пользователя хоста на основе ОССН, включённого в доменную сетевую инфраструктуру, его ЕПП.
В общем виде схема организации ЕПП показана на рис. 2, при этом её логическими составляющими являются:
- множество клиентов домена;
- контроллер (контроллеры) домена.
В рамках клиента домена ЕПП реализует:
Рисунок 2. Схема организации ЕПП домена на основе ОССН.
В рамках контроллера домена ЕПП реализует:
Реализацию политики безопасности в рамках доменной сетевой инфраструктуры выполняет LSM-модуль parsec-cifs подсистемы безопасности PARSEC, который инициализируется на контроллере и клиентах домена в процессе инсталляции на них ОССН в ролях контроллера и клиента домена соответственно. По своим функциональным возможностям модуль parsec-cifs идентичен модулю parsec, функционирующему в случае применения ОССН на компьютерах, не входящих в состав доменной сетевой инфраструктуры.
Единое пространство имён доменной сетевой инфраструктуры формируется из локального и глобального пространств имён, расположенных соответственно на клиенте и контроллере домена. При этом в пределах единого пространства имён пользователь домена получает возможность как локальной регистрации на конкретном клиенте домена, так и централизованной регистрации на контроллере домена. В зависимости от вида регистрации процессы от имени учётной записи пользователя получают доступ к локальным ресурсам или ресурсам узлов домена в соответствии с локальной политикой безопасности или политикой безопасности домена.
В ОССН локальное и глобальное пространства имён (систем учётных записей пользователей и групп пользователей) функционируют параллельно. Для их различения выполнено разграничение диапазонов UID: значения UID меньшие 2500 относятся к локальному пространству имён, а значения UID больше либо равные 2500 к глобальному пространству имён.
Механизм «I&А» (Identification and Authentication), в пределах локального пространства имён на клиенте домена под управлением ОССН реализуется с использованием архитектуры РАМ, особенности использования которой рассмотрены в предыдущей лекции. Реализация этого механизма в рамках глобального пространства имён в домене на базе ОССН основана на инфраструктуре LDAP (хранение и администрирование учётных записей пользователей домена), функционирующей совместно с протоколом Kerberos.
База данных учётных записей глобального пространства имён реализована в виде «Дерева директорий информации» (Directory Information Tree — DIT). Подобная модель хранения данных основана на записях, содержащих наборы атрибутов, различающиеся по «Отличительному имени» (Distinguished Name — DN), которые используются для реализации однозначности при обращении к записи. Каждый из атрибутов записи относится к конкретному типу и имеет одно или несколько значений. Типы обычно представлены строковыми переменными.
DIT глобального пространства имён контроллера домена на базе ОССН разделено на две DN-ветви: ou = People и ои = Group) которые свою очередь имеют дочерние DN-ветви, имеющие тип сп и содержащие атрибуты учётных записей самих пользователей домена, групп пользователей домена и их теневых паролей. В общем DIT ресурсе контроллера домена указанные DN-ветви включены в DN-ветви dc = engine и dс = local. В графическом виде общее DIT контроллера домена на базе ОССН показано на рис. 3.
Рис. 3. Структура DIT-дерева, реализующего глобальное пространство пользователей домена на базе ОССН
Таблица. Расшифровка названий атрибутов ГПП ОССН.
Атрибут Англоязычное название Русскоязычное название Value\Значение DN Distinguished Name Отличительное (уникальное) имя CN=Сергей Петрович Иванов,OU=Компания,DC=domain,DC=com DC Domain Component Компонент(класс) доменного имени. DC=domain,DC=com OU Organizational Unit Подразделение Компания CN Common Name Общее имя Сергей Петрович Иванов С учётом МРОСЛ ДП-модели атрибуты DIT-дерева дополняются DN-ветвями, определяющими информационные сервисы для мандатных уровней конфиденциальности и целостности. Эти дополнительные атрибуты находятся в файле /etc/parsec/mldap.conf (рис. 4).
Рисунок 4. Дополнительные атрибуты DIT-дерева, определяющие информационные сервисы для реализации МРОСЛ ДП-модели
В зависимости от необходимости использования локальной или глобальной реализации механизма «I&А» на клиенте домена производится их динамическое переключение, основанное на технологии NSS (Name Service Switch). Эта технология создаёт модульное окружение для управления пользовательскими учётными записями, реализованное в виде набора загружаемых библиотек (backends). При этом базовые системные вызовы при применении технологии NSS реализованы в библиотеке glibc, которая в зависимости от конфигурации NSS вызывает те или иные backend (рис. 5).
Рисунок. 5. Схема реализации технологии NSS на клиенте домена под управлением ОССН.
Функции библиотеки glibc, реализующие технологию NSS на клиенте домена под управлением ОССН, вызывают два backend:
• libnss_file — модуль, обеспечивающий идентификацию локальных учётных записей пользователей и групп пользователей с использованием конфигурационных файлов /etc/passwd, /etc/group, /etc/shadow, /etc/gshadow (авторизация при этом выполняется соответствующим РАМ-модулем);
• libnss_ldap — модуль, обеспечивающий идентификацию учётных записей пользователей и групп пользователей домена с использованием соответствующих DN-ветвей DIT-дерева на контроллере домена (авторизация при этом может выполняться как с использованием РАМ-модуля libpam_ldap — связка NSS/PAM, так и с использованием сквозной аутентификации по протоколу Kerberos — метод аутентификации по умолчанию). Конфигурация NSS задаётся в файле /etc/nsswitch.conf. Таким образом, при выполнении процессов, требующих обращения к именованным сущностям, соответствующие вызовы функций библиотеки glibc будут обращаться к функциям backend, указанных в файле /etc/nsswitch.conf. Пример файла /etc/nsswitch.conf клиента домена на базе ОССН приведён на рис. 6.
Рисунок 6. Пример конфигурационного файла NSS на клиенте домена
Кроме имён и идентификаторов учётных записей пользователей и групп пользователей технология NSS позволяет определять имена и идентификаторы протоколов, номера портов сервисов, IP-адреса и имена хостов, а также другие данные. В частности, применительно к МРОСЛ ДП-модели технология NSS позволяет определять источники данных для задания мандатных уровней конфиденциальности и целостности, для этого используется конфигурационный файл /etc/parsec/mswitch.conf подсистемы безопасности PARSEC (рис. 7).
Для сквозной аутентификации пользователей домена на базе ОССН применяется протокол Kerberos. В рамках доменной инфраструктуры, основанной на применении OpenLDAP (представлена демоном slapd) и протокола Kerberos, механизм единого входа реализуется с использованием технологии SASL (Simple Authentication and Security Layer). В частности, для версии MIT Kerberos 5, используемой в ОССН, в рамках технологии SASL применён механизм GSSAPI (The Kerberos Version 5 Generic Security Service Application Program Interface Mechanism). Таким образом, модель механизма единого входа в ОССН именуется LDAP based on Kerberos (SASL/GSSAPI).
Рисунок 7. Конфигурационный файл для определения источников данных на клиенте домена.
Рис. 8. Конфигурационный файл механизма Kerberos 5 GSSAPI.
Конфигурационным файлом механизма GSSAPI является файл
/etc/gssapi-mech.conf, с котором определяется функция инициализации механизма при вызове библиотеки Kerberos 5 GSSAPI (рис. 8). При этом общим конфигурационным файлом реализации протокола MIT Kerberos 5 является файл /etc/krd5.conf, конфигурация KDC задаётся в файле /etc/krb5kdc/kdc.conf.Организация механизма «I&А» в пределах глобального пространства имён ЕПП, реализуемого в ОССН, обеспечивает возможность пользователям доменной сетевой инфраструктуры на базе ОССН получать доступ к глобальному пространству ресурсов, поддержка которого возложена на модифицированную реализацию пакета программ Samba, именуемую сетевая защищённая файловая система (СЗФС). СЗФС может функционировать как в составе контроллера домена (выполняющего при этом дополнительные функции файл-сервера), так и в составе клиентов домена, реализующих функции файл-сервера для предоставления доступа к собственным разделяемым ресурсам. Поскольку СЗФС является модификацией пакета программ Samba, она состоит из следующих компонент:
- серверного набора программ: демоны smbd и nmbd;
- клиентского приложения: smbclient;
- набора утилит администрирования: testparam и smbstatus;
- конфигурационных файлов: /etc/smbnetfs.conf и /etc/samba/smb.conf.
Дополнительно для администрирования СЗФС имеется графическая утилита «Общие папки (Samba)» (fly-admin-samba), расположенная в меню «Настройки» главного пользовательского меню.
Базовыми компонентами СЗФС являются демоны smbd и nmbd, а также клиентское приложение smbclient. Демон smbd реализует функции сервиса сетевой печати и разделения файлов для клиентских приложений smbclient, функционирующих в рамках доменной сетевой инфраструктуры на базе ОССН, а также клиентских приложений, функционирующих под управлением ОС семейства Microsoft Windows. Конфигурация демона smbd в ОССН задаётся в файле /etc/samba/smb.conf. Демон nmbd по умолчанию реализует функции сервиса имён протокола NetBIOS, а также может использоваться для запроса других сервисных служб имён.
Рассмотренные компоненты доменной сетевой инфраструктуры ОССН требуют конфигурирования в процессе её установки на хосты, реализующие контроллеры и клиенты домена, а также администрирования в процессе эксплуатации домена. Для этого в ОССН имеется служба ALD, схема которой показана на рис. 9.
Таким образом, служба ALD состоит из следующих компонент.
Базовые компоненты, представленные пакетами программ конфигурирования:
Администрирование домена ALD выполняется пользователями, обладающими соответствующими полномочиями. В зависимости от назначенных привилегий администраторов домена ALD можно разделить на следующие группы:
- корневой администратор (имя admin/admin) — основной администратор домена ALD, обладающий всеми полномочиями по управлению доменом;
- администраторы — пользователи с привилегией admin, обладающие полномочиями по управлению конфигурацией домена и учётными записями пользователей домена;
- ограниченные администраторы — пользователи с привилегиями hosts-add или all-hosts-add, обладающие полномочиями по добавлению хостов в состав домена;
- пользователи утилит администрирования — пользователи с привилегией a dm-user, обладающие полномочиями по запуску утилит администрирования.
Базовый администратор домена ALD, используя набор программ базовых компонентов службы ALD, а также их расширений и графическую утилиту «Управление политикой безопасности» (.fly-admin-smc) рабочего стола Fly, может выполнять следующие операции:
- создание нового домена;
- резервирование/восстановление конфигурации домена;
- контроль целостности конфигурации домена;
- добавление/удаление хостов в состав хостов домена;
- управление учётными записями пользователей домена;
- управление учётными записями сетевых служб домена;
- управление параметрами ОССН, в первую очередь соответствующих МРОСЛ ДП-модели.
В общем случае методику конфигурирования доменной сетевой инфраструктуры на базе ОССН с использованием службы ALD можно разделить на следующие этапы.
- Настройка сетевого соединения на контроллере домена и хостах рабочих станций пользователей.
- Настройка именования сервера и клиентов ALD.
- Конфигурирование и запуск сервера ALD на хосте, реализующем функции контроллера домена.
- Запуск клиентов ALD на хостах рабочих станций.
На первом этапе учитывается, что способ сетевого соединения контроллера и клиентов домена ALD зависит от типа адресации, используемой в сетевом сегменте. Статическая адресация целесообразна при небольшом числе хостов, входящих в состав домена ALD. При этом сетевой интерфейс каждого хоста, входящего в домен ALD, конфигурируется индивидуально. Динамическая адресация целесообразна при значительном числе хостов, входящих в состав домена ALD или их большой территориальной удалённости. В этом случае на контроллере ALD (или на другом специально выделенном хосте) конфигурируется и запускается сервер динамической сетевой адресации DHCP (Dynamic Host Configuration Protocol).
При небольшом количестве хостов, входящих в домен ALD, такую настройку, как правило, выполняют вручную, конфигурируя файл /etc/hosts (рис. 10). В случае большого количества хостов в составе домена ALD на контроллере домена (или на специально выделенном хосте) конфигурируют службу доменных имён DNS (Domain Name Service).
На третьем этапе конфигурируют серверную и клиентскую части домена ALD, реализованные в виде одного демона aldd:
- редактируя файл конфигурации /etc/aid/aid.conf (рис. 11);
- запуская или повторно инициализируя демон a ldd с помощью команд ald-init (на контроллере ALD) и aid-client (на клиенте ALD) (рис. 3.46);
- конфигурирования параметры пароля базового администратора ALD для реализации сквозной аутентификации на контроллере ALD (рис. 3.47).
- Рис. 10. Пример конфигурирования файла /etc/hosts на хосте, реализующем функции контроллера домена.
Рис. 11. Пример конфигурирования файла /etc/ald/ald.conf на хосте, реализующем функции контроллера домена
Рис. 12. Пример выполнения команды ald-init с параметром commit-config на хосте, реализующем функции контроллера домена
Рис. 13. Пример выполнения команды ald-init с параметром init на хосте, реализующем функции контроллера домена
На четвёртом этапе базовый администратор домена с использование команды
ald-admin или графическую утилиты «Управление политикой безопасности» (рис. 14, 15) создаёт или редактирует учётные записи пользователей домена, управляет компьютерами домена, а также политиками безопасности на активном сервере ALD.После настройки и запуска сервера ALD и клиентов домена администратор ALD может выполнять следующие функции:
При выходе из домена желательно очистить директорию, содержащую сертификаты старого домена. Для этого достаточно выполнить команду:
Это необходимо для того, чтобы при входе в новый домен, корневой сертификат старого домена не помешал установке нового.
Для Astra Linux Смоленск и РЕД ОС
Использование домена и клиента с разными ОС
Доменная и клиентская машины не обязательно должны иметь одинаковую операционную систему для корректной аутентификации по смарт-картам. Но тем не менее, если версии SSSD – разные, как у Astra Linux (SSSD 16.1.3) и РЕД ОС (SSSD 2.0.0), то на доменной машине должна быть установлена ОС с более новой версией SSSD.
В обратную же сторону настройка домена возможна.
Настройка сервера. Создание домена FreeIPA и пользователя
Для демонстрации настройки было использовано два стенда. Первый был использован в качестве сервера FreeIPA. Он был настроен с помощью следующей последовательности команд:
После настройки программы установки сервера FreeIPA отобразится ссылка на веб-интерфейс для управления доменом. Вам потребуется создать нового пользователя, для которого и будет настраиваться доступ по Рутокену.
Для этого перейдите на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и добавьте нового пользователя. В нашем случае был создан пользователь "user".
Настройка клиента. Подключение к домену
Для пользователей Astra Linux
Если в качестве клиента выступает Astra Linux Smolensk, то на нем должно быть установлено пятое обновление безопасности.
После добавления нового пользователя, переходим к настройке клиента. Настройка была осуществлена с помощью следующих команд:
После подключения настройщик должен написать, что обнаружен настроенный клиент в домене astradomain.ad.
Попробуем подключиться к созданному пользователю user:
Если после ввода пароля вам удалось аутентифицироваться как пользователь user, значит настройка прошла успешно.
Настройка аутентификации по Рутокену для клиента
Создание заявки на сертификат
Для упрощения настройки можно воспользоваться графической утилитой по работе с Рутокенами в линукс. Скачаем ее:
При первом запуске программа может запросить пароль администратора для получения обновлений. Загрузка обновлений может занять несколько минут.
После загрузки обновлений, программа предложит выбрать токен, который мы хотим использовать для локальной аутентификации. Если нужный Рутокен не появился в списке, то можно нажать на кнопку для обновления списка устройств:
Далее вводим PIN-код Рутокена:
На Рутокене отсутствует ключевая пара и сертификат выданный УЦ для аутентификации:
Генерация ключевой пары
Откроем список объектов на Рутокене:
В первую очередь, сгенерируем ключ. Для этого в окне просмотра объектов выберем опцию для генерации ключевой пары:
В окне выбора алгоритма ключа необходимо указать "RSA-2048"
Метку ключа можно оставить пустой:
Создание заявки на сертификат
После генерации ключевой пары, необходимо создать для неё заявку на сертификат. В списке объектов выберем закрытый ключ из ключевой пары, для которой хотим создать заявку на сертификат:
В открывшемся окне выберем опцию для создания заявки на сертификат:
Введём данные сертификата. В графе Общее имя необходимо указать имя пользователя, для которого мы создаем сертификат для аутентфиикации:
Далее нас попросят выбрать, создать ли самоподписанный сертификат или создать заявку на сертификат Выбираем "Нет":
Укажем путь, куда сохраним заявку на сертификат:
Созданную заявку копируем и отправляем на сервер. Распечатать ее можно с помощью команды:
Создание сертификата
Переходим к серверу, который получил нашу заявку.
Чтобы создать сертификат по данной заявке для данного пользователя, перейдем на вкладку "Идентификация" → "Пользователи" → "Активные пользователи" и выберем нашего пользователя.
На новой вкладке выбираем "Действия"→"Новый сертификат". В открывшееся окно вставляем нашу заявку.
В поле Идентификатор пользователя необходимо указать caIPAserviceCert
Выданный сертификат можно получить на этой же вкладке, переместившись чуть ниже до пункта с сертификатами.
Нажмем "Загрузить" и отправим сертификат пользователю.
Также пользователю потребуется корневой сертификат УЦ, его можно получить на вкладке "Аутентификация"→"Сертификаты".
Выбираем самый первый сертификат и переходим на вкладку "Действия"→ "Загрузить".
После этого полученный сертификат пользователя и УЦ отправляем клиенту.
Импорт сертификата на Рутокен
Повторно запускаем программу по работе с Рутокенами. Выбираем необходимый токен, вводим PIN-код. Открываем просмотр объектов. В окне просмотра объектов выберем закрытый ключ, для которого выдан сертификат:
В открывшемся окне выберем опцию импорта сертификата ключа
Укажем путь до сертификата:
При желании можно задать метку сертификата:
Финальная настройка на стороне клиента
Теперь, когда на Рутокене присутствует ключевая пара и сертификат клиента? можно приступить к финальной настройке. Для этого откроем в меню команд Рутокена выберем пункт Настройки аутентификации в домене FreeIPA.
Нам необходимо получить права суперпользователя, для проведения настройки. Поэтому вводит пароль суперпользователя:
В открывшемся окне укажем путь до корневого сертификата УЦ:
Настройка завершена. Проверим, что все установлено правильно. Для этого попробуем зайти под пользователем user.
Лампочка на Рутокене замигает и отобразится окно для ввода PIN-кода.
Если все прошло успешно, то можно попробовать осуществить аналогичную аутентификацию через greeter.
Читайте также:
- JaCarta IDProtect 6.37;