Идентификация и аутентификация пользователей при работе подсистемы разграничения доступа в ОС Linux ОКБ САПР Каннер А. М.
1. Подключаемые модули аутентификации (PAM)
Кратко о PAM… Пришел на смену процедурам идентификации / аутентификации (и/а), интегрированным в отдельные приложения (login, su, sudo и пр.); Является механизмом «внешней» аутентификации; Фактически представляет из себя набор внешних модулей, которые можно встраивать в любые приложения; Является основной системой и/а в ОС семейства Unix, в т.ч. GNU/Linux; …
Процедура и/а с использованием PAM
Зачем нам PAM? PAM предоставляет интерфейс для встраивания собственн ого механизм а и/а взамен штатного в ОС семейства UNIX: с поддержкой идентификации с помощью аппаратных идентификаторов (ТМ, card eID, ПСКЗИ ШИПКА и др.); с возможностью дополнительной и/а как в АМДЗ, так и в собственном модуле ядра защиты, т.н. мониторе разграничения доступа (МРД) собственной подсистемы разграничения доступа; с возможностью «сквозной» аутентификации пользователя в ОС.
2. Подсистема разграничения доступа в ОС Linux и PAM
Место МРД и PAM в процессе загрузки ОС отработка штатного BIOS; передача управления загрузчику (в boot record); загрузка ядра ОС и образа initrd в память, монтирование sysroot с доступом read-only; загрузка МРД в ядро ОС ; запуск init, запуск служб ОС, перемонтирование sysroot на запись, монтирование дополнительных файловых систем; запуск login (gdm или др.) и аутентификация пользователя с помощью PAM в ОС и МРД.
Порядок взаимодействия PAM с МРД Запускается утилита login (gdm или др.), делегирующая функции и/а PAM-модулю; PAM-модуль: запрашивает идентификатор (TMid) и пароль у пользователя; рассчитывает хеш от TMid и передает в МРД (netlink); МРД: ищет пользователя в собственной БД и сравнивает полученное значение хеша; если хеш совпадает – возвращает имя пользователя PAM (netlink) и заносит событие в лог; если хеш не совпадает – возвращает в PAM код ошибки и заносит событие в лог.
Кросс-делегирование аутентификации пользователя В процессе аутентификации пользователя в МРД могут учитываться дополнительные параметры: возможность входа указанного пользователя в систему (выполнение login); возможность удаленного входа в систему; возможность входа пользователя в зависимости от разрешенного времени работы; прочие дополнительные проверки. Т.о., например, утилита login делегирует функции и/а PAM-модулю, а PAM-модуль в свою очередь делегирует часть этих функций МРД в ОС.
Вместо заключения… Аппаратный компонент? Следует помнить, что наиболее важным компонентом всей подсистемы разграничения доступа (и PAM в частности) является АМДЗ, с помощью которого должен осуществляться: контроль компонентов подсистемы разграничения доступа (в т.ч. PAM-модулей); контроль целостности образа /boot/initrd, в котором прописывается порядок начальной загрузки ОС (в т.ч. и загрузка монитора разграничения доступа); контроль целостности ядра ОС - /boot/vmlinux; контроль целостности настроек загрузчика (например, /boot/grub/grub.cfg) и самого загрузчика (boot record).
Идентификация и аутентификация пользователей при работе подсистемы разграничения доступа в ОС Linux ОКБ САПР Каннер А. М.