- Идентификация и аутентификация пользователей при работе подсистемы разграничения доступа в ОС Linux.
- Глава 28 Идентификация и аутентификация пользователей
- Читайте также
- Глава 11 Права доступа и ID пользователей и групп
- Глава 9 Идентификация и аутентификация
- 9.4.3. Аутентификация
- Глава 6 Аутентификация средствами Kerberos
- 3.8.1 Аутентификация
- 4.8.1 Аутентификация
- 15.9 Аутентификация в RPC
- Глава 11 Настройка контроля учетных записей пользователей
- Глава 4 Программы для пользователей
- Глава 5 Настройка и использование учетных записей пользователей
- Глава 22. Сообщество пользователей Ruby
- 10.5. Аутентификация пользователей
- Глава 6 Учетные записи пользователей
- Идентификация и аутентификация
- Идентификация по ДНК
Идентификация и аутентификация пользователей при работе подсистемы разграничения доступа в ОС Linux.
Подключаемые модули аутентификации (pluggable authentication modules, PAM) являются основной системой аутентификации в ОС семейства Unix, в т.ч. GNU/Linux. PAM пришел на смену встраиваемым механизмам аутентификации в различных приложениях (например, ранее в login была встроена собственная процедура аутентификации, проверяющая введенный пароль с паролем из /etc/passwd или хешем из /etc/shadow). Фактически PAM представляет из себя набор внешних модулей аутентификации, которые можно встроить в любые приложения, при этом в рамках самих приложениях нет необходимости беспокоиться об аутентификации пользователя — достаточно использовать соответствующий PAM-модуль (т.е. это механизм внешней аутентификации). Соответственно при любом изменении процедуры или последовательности идентификации и аутентификации (и/а) пропадает необходимость изменять само приложение — достаточно изменить PAM и и/а изменится во всех приложениях, которые используют этот PAM-модуль.
При построении подсистемы разграничения доступа в Linux [2] важным этапом в процессе загрузки ОС является этап после загрузки системы по завершению процесса init при запуске системной утилиты login — т. е. этап непосредственно и/а пользователя в ОС. При этом саму подсистему разграничения доступа удобно строить на базе загружаемого модуля ядра Linux [2], этот модуль должен загружаться в ядро ОС на одном из последних этапов работы init, но до монтирования корневой файловой системы на запись.
После завершения работы процесса init модуль ядра будет находиться в состоянии ожидания каких-либо внешних воздействий (например, вызова какого-либо системного вызова и/или обращение к модулю из usermode-утилит) — при этом для правильной регистрации пользователя необходимо аутентифицировать его в т.ч. в модуле ядра (чтобы в нужный момент модуль ядра мог знать совершал ли вход в систему тот или иной пользователь и можно ли выполнять какие-либо процессы в ОС с его правами).
Для этого необходимо создать PAM-модуль аутентификации, а логика работы процедуры и/а должна стать следующей:
— запускается утилита login
— утилита login делегирует функции и/а внешнему PAM-модулю, при этом:
- конкретный PAM-модуль предварительно должен быть прописан в соответствующем конфигурационном файле (как правило /etc/pam.d/common_auth или /etc/pam.d/login в зависимости от ОС, PAM-модуль обычно должен прописываться вместо штатного модуля pam_unix.so);
- PAM-модуль предварительно должен быть записан в каталог к другим PAM-модулям (/etc/security/).
— PAM-модуль запрашивает у пользователя login (или аппаратный идентификатор) и пароль;
— PAM-модуль рассчитывает хеш от предъявленных пользователем значений login (аппаратного идентификатора) и пароля и передает его модулю ядра по протоколу взаимодействия usermode-приложений с ядром ОС (протокол netlink);
— Модуль ядра ищет в своих структурах пользователя по login (аппаратному идентификатору) и сравнивает полученное от PAM значение хеша со значением в своей БД, при этом:
- Если хеш совпадает — PAM-модулю по netlink от модуля ядра должно возвращаться имя пользователя, которому соответствует хеш в БД пользователей. Данного пользователя PAM-модуль пропускает и запускает его shell;
- Если хеш не совпадает — PAM-модулю по netlink от модуля ядра возвращается указание вывести ошибку (код ошибки) и не аутентифицировать пользователя в системе (не запускать его сессию и shell в рамках этой сессии);
- В любом из описанных случаях в модуле ядра в соответствующие структуры должны заноситься данные о:
- состоянии аутентифицированности в данный момент определенного пользователя
- событиях во время процедуры и/а (успешная/неудачная попытка и/а и т.п..)
В процессе аутентификации пользователя в модуле ядра могут учитываться дополнительные параметры, которые могут влиять на результат аутентификации пользователя — например, разрешенное время работы пользователя и т.п. — таким образом, можно внедрять абсолютно любые дополнительные проверки и параметры. В данном случае модуль ядра становится сущностью, которой делегирует функции и/а PAM -модуль, в свою очередь которому делегирует эти функции определенное приложение.
Дополнительно необходимо предусмотреть PAM-модуль для работы с сессиями пользователей с целью отделить механизм и/а и механизм управления сессиями, а также для возможности перехвата момента завершения сессии определенного пользователя (в модуле ядра этот факт должен также фиксироваться).
Также необходимо понимать, что наиболее важным элементов всей подсистемы разграничения доступа является наличие аппаратного компонента [1], с помощью которого на ранних этапах загрузки будет осуществляться:
- контроль целостности важных объектов, используемых в дальнейшем подсистемой разграничения доступа (модуль ядра, БД пользователей, PAM-модули и прочие утилиты, взаимодействующие в модулем ядра);
- контроль целостности файлов, в которых прописывается порядок загрузки ОС и вставлена загрузка модуля ядра до монтирования корневой файловой системы на запись (например, /boot/initrd, порядок загрузки записывается в initrd в файл init);
- контроль целостности ядра ОС (например, /boot/vmlinux);
- контроль целостности настроек загрузчика (например, /boot/grub/grub.cfg) и самого загрузчика, записанного в загрузочный сектор раздела.
Без таких контрольных процедур при использовании существующих штатных средств защиты в ОС всегда существует возможность обхода или отключения этих средств защиты на ранних этапах загрузки, что нивелирует любые механизмы защиты, реализуемые с помощью подсистемы разграничения доступа в ОС, т. к. появляется возможность данную подсистему просто отключить.
1. Бажитов И. А. Возможности ПАК СЗИ НСД «Аккорд-Х» для ОС Linux // Комплексная защита информации. Сборник материалов XIV Международной научно-практической конференции (19-22 мая 2009 года, Могилев). М., 2009. С. 26-27.
2. Бажитов И. А. Обеспечение доверенной среды в ОС Linux с использованием ПАК СЗИ НСД «Аккорд-X» // Комплексная защита информации. Сборник материалов XV Международной научно-практической конференции (1-4 июня 2010 года, Иркутск). М., 2010. С. 32.
Дата публикации: 01.01.2012
Библиографическая ссылка: Каннер А. М. Идентификация и аутентификация пользователей при работе подсистемы разграничения доступа в ОС Linux // Комплексная защита информации. Безопасность информационных технологий. Материалы XVII Международной конференции 15–18 мая 2012 года, Суздаль (Россия). М., 2012. С. 104–105.
Глава 28 Идентификация и аутентификация пользователей
В модели безопасности Linux для идентификации пользователей и групп используются числа, однако люди отдают предпочтение именам. Имена, наряду с другой важной информацией, сохраняются в двух системных базах данных.
Читайте также
Глава 11 Права доступа и ID пользователей и групп
Глава 11 Права доступа и ID пользователей и групп Linux, вслед за Unix, является многопользовательской системой. В отличие от большинства операционных систем для персональных компьютеров,[114] в которых имеется лишь один пользователь и в которых, кто бы ни находился перед
Глава 9 Идентификация и аутентификация
Глава 9 Идентификация и аутентификация Независимо от того, какую систему защиты вы используете, чаще всего первым шагом работы является идентификация и подтверждение подлинности (аутентификация): кто вы такой и можете ли это доказать? Как только компьютер узнает вас, он
9.4.3. Аутентификация
9.4.3. Аутентификация Защита по IP-адресу не гарантирует от его подделки злоумышленником. К тому же, остается вероятность, что кто-то получит физический доступ к компьютеру, имеющему выход во всемирную сеть, и сделает нечто недозволенное.Мне довелось работать в фирме, где
Глава 6 Аутентификация средствами Kerberos
Глава 6 Аутентификация средствами Kerberos В системе Linux обычно используется локальная аутентификация. Пользователь вводит имя и пароль, а компьютер ищет соответствующие данные в своей базе и принимает решение о том, следует ли зарегистрировать пользователя в системе.
3.8.1 Аутентификация
3.8.1 Аутентификация Важным аспектом компьютерной безопасности является выяснение «кто есть кто». Ранее это определяли идентификатор и пароль пользователя. Аналогичным образом в поле «From:» сообщения электронной почты идентифицируется отправитель. Однако пароль может быть
4.8.1 Аутентификация
4.8.1 Аутентификация Протокол PPP часто используется для удаленных коммуникаций и связи мобильного пользователя по коммутируемым соединениям. Коммутируемые соединения (dialup connection) иногда применяются для связи локальных сетей подразделений компании с сетью главного
15.9 Аутентификация в RPC
15.9 Аутентификация в RPC Некоторые службы не нуждаются в защите. Для вывода времени дня на сервере служба RPC может быть оставлена открытой для общего доступа. Однако клиент, обращающийся к личным данным, должен обеспечить некоторую опознавательную информацию (проходить
Глава 11 Настройка контроля учетных записей пользователей
Глава 11 Настройка контроля учетных записей пользователей С механизмом контроля учетных записей пользователей уже успели познакомиться те, кто работал в Windows Vista. Как и в Vista, в Windows 7 данный механизм призван защитить операционную систему от запуска разнообразных
Глава 4 Программы для пользователей
Глава 4 Программы для пользователей Многие крупные интернет-проекты (к примеру, поисковые и почтовые системы), помимо предоставления услуг на своих порталах, предлагают пользователям различные программы, как упрощающие работу с ресурсами самих проектов, так и для работы
Глава 5 Настройка и использование учетных записей пользователей
Глава 5 Настройка и использование учетных записей пользователей В операционной системе Windows 7 учетная запись пользователя – это набор сведений, определяющих, к каким папкам и файлам пользователь имеет доступ, и какие изменения могут вноситься пользователем в работу
Глава 22. Сообщество пользователей Ruby
Глава 22. Сообщество пользователей Ruby …Тот, кто не способен вступить в общение или, считая себя существом самодовлеющим, не чувствует потребности ни в чем, уже не составляет элемента государства, становясь либо животным, либо божеством. Аристотель, «Политика»[19] Уже было
10.5. Аутентификация пользователей
10.5. Аутентификация пользователей Программы, у которых установлен бит SUID, не должны запускаться кем попало. Например, программа su, прежде чем менять идентификатор пользователя, заставляет его ввести пароль. Это называется аутентификацией — программа проверяет, получил
Глава 6 Учетные записи пользователей
Глава 6 Учетные записи пользователей 6.1. Учетная запись root В Windows мы привыкли, что нам разрешено все. Конечно, не всегда, но в большинстве случаев именно так. В Linux все иначе — максимальными полномочиями обладает только пользователь root. Система полностью подвластна этому
Идентификация и аутентификация
Идентификация и аутентификация Идентификацией субъекта называется процесс сопоставления введенной им своей характеристики с некоторым идентификатором, хранимым системой. В дальнейшем идентификатор субъекта используется для предоставления субъекту определенного
Идентификация по ДНК
Идентификация по ДНК Дезоксирибонуклеиновая кислота, более известная под названием ДНК, – молекула, которая одновременно разделяет и объединяет нас. При помощи ДНК наследственные признаки передаются следующим поколениям, сходство ДНК характерно для семей и кланов,