
- •4.1Безопасность ос семейства unix
- •4.1.1Средства идентификации и аутентификации
- •4.1.1.1Этап регистрации пользователя в системе
- •4.1.1.2Иерархия пользователей и групп системы unix
- •4.1.1.3Модули pam
- •4.1.2Безопасность файловой системы ос unix
- •4.1.2.1Разграничение доступа к ресурсам
- •4.1.3Механизмы взаимодействия пользователя с ресурсами
- •4.1.3.1Специальные атрибуты доступа
- •4.1.3.2Изменение прав доступа к ресурсам системы
- •4.1.4Подсистема регистрации и учета
- •4.1.4.1Основные файлы журналов событий
- •4.1.4.2Универсальная подсистема учета System Log
4.1Безопасность ос семейства unix
По историческим причинам ОС семейства UNIX значительно различаются по своей организации. Стандартами на построение ОС семейства UNIX в значительной мере оговариваются подсистемы управления доступом, обеспечения целостности, регистрации и учета. Система безопасности ОС UNIX представляет собой комплекс механизмов, обеспечивающих:
конфиденциальность - защиту ресурсов системы от несанкционированного доступа;
целостность - защиту ресурсов от несанкционированного изменения;
доступность - защиту от несанкционированного захвата и удержания ресурсов.
Подсистема идентификации и аутентификации пользователя выполняет функции защиты от попыток НСД и обеспечения доступности ресурсов для зарегистрированных пользователей. Результатом работы подсистемы идентификации и аутентификации является подготовленная для работы пользователя среда, защищаемая от несанкционированного изменения с помощью присвоенных процессам системы пользовательских и групповых идентификаторов и поставленных в соответствие значениям идентификаторов правил доступа к ресурсам системы.
Механизмы функционирования файловой системы ОС UNIX позволяют защитить ресурсы сиcтемы от несанкционированного доступа и изменения, основываясь на правах доступа к ресурсам системы для разных классов пользователей и установленных на этапе подготовки среды значениях пользовательских и групповых идентификаторов процессов.
Подсистема регистрации и учета обеспечивает неотказуемость выполненных пользователем действий в системе, мониторинг функционирования как системы безопасности, так и всей системы в целом. Такая подсистема необходима для отслеживания возникающих проблем в работе приложений, сигнализации о попытках преодоления системы безопасности и ведения журналов событий для последующего исследования причин их возникновения.
4.1.1Средства идентификации и аутентификации
4.1.1.1Этап регистрации пользователя в системе
Работа пользователя многопользовательской ОС начинается с этапа идентификации и аутентификации. На данном этапе выполняется первоначальный контроль доступа к системным ресурсам. Система идентификации и аутентификации обычно построена на основе паролей.
При создании нового пользователя ему ставится в соответствие уникальное имя (которое иногда называют регистрационным именем пользователя), а также выделяется специальный номер, называемый идентификатором пользователя (user ID, UID). Система определяет привилегии пользователя на основании идентификатора пользователя (user ID, UID). В отличие от имени пользователя, DID может и не быть уникальным, в этом случае для сопоставления ему имени пользователя берется первое найденное имя, UID которого совпадает с данным. UID 0 — это особенный UID. Любой процесс или пользователь с нулевым идентификатором является привилегированным.
Для начала сеанса работы в UNIX любой пользователь должен выполнить процедуру входа в систему. При этом операционной системой устанавливаются идентификатор сеанса и права доступа к ресурсам для данного пользователя.
Процесс входа в систему выводит приглашение на терминал пользователя для запроса системного входного имени, а затем запрос на ввод пароля. Совокупность входного имени пользователя и секретного пароля служит для организации авторизованного доступа к системе и определяет учетную запись пользователя.
Процесс подключения пользователя к системе UNIX продолжается проверкой наличия входного имени в файле зарегистрированных пользователей и проверкой введенного пароля.
В целях безопасности пароли пользователей в системе не хранятся. Хранится значение функции необратимого криптографического преобразования некоторой строки символов. Это значение служит своеобразной криптографической контрольной суммой секретного пароля. Ключом данного необратимого криптографического преобразования является пароль пользователя. При подключении к системе на введенном пользователем пароле шифруется строка, и результат затем сравнивается с эталонным значением криптографической контрольной суммы. По совпадению зашифрованной строки с эталоном делается вывод о правильности введенного пароля.
Длина входных имен пользователей в UNIX обычно ограничена восемью символами. Входное имя может состоять из произвольной последовательности символов. В некоторых системах на набор символов, из которого допустимо составлять входные имена, накладываются дополнительные ограничения. Часто входное имя пользователя должно состоять только из строчных букв и цифр, обязательно начинаясь с буквы. Очевидно, что в одной системе имена пользователей для входа должны быть уникальными.
Требование уникальности не распространяется на пароли, но совпадение паролей разных пользователей показывает, что пользователи выбрали "слабый" пароль, который может быть подобран злоумышленником.
Существует опасность дешифровки и подбора пароля злоумышленником при получении доступа к базе данных с эталонными значениями криптографических контрольных сумм паролей зарегистрированных пользователей. Для ограничения доступа к такой информации в современных системах UNIX эталонные значения выносят в отдельные скрытые от обычных пользователей "теневые" файлы контрольных сумм паролей.
Использование паролей - самый простой и достаточно эффективный способ организации аутентификации пользователя. Но процедура авторизации с постоянным паролем широко применяется, хотя имеет существенные недостатки при организации доступа с удаленных терминалов. При входе в систему через сеть пароль передается открыто, может быть перехвачен и впоследствии использован даже не очень изощренным злоумышленником. В большинстве систем UNIX для снижения возможных последствий такого проникновения в защищенную систему системному администратору запрещен вход с правами суперпользователя с удаленного терминала.
Следует регулярно менять пароли, используемые в системе. В некоторых версиях UNIX администратор может включить в выполняющийся при входе пользователя в систему сценарий команду, заставляющую пользователя сменить пароль при каждом подключении к системе. В системах семейства UNIX для защиты от подбора пароля злоумышленником, ограничивается максимальное число последовательных неверных попыток входа в систему пользователем. Действия системы в ситуации, когда такое число достигнуто, зависят от реализации.
В некоторых версиях UNIX, если превышено число неуспешных попыток входа в систему, учетная запись пользователя будет заблокирована. Это означает, что любые дальнейшие попытки входа в систему с данным входным именем будут игнорироваться системой даже при вводе верного пароля. Разблокировать учетную запись может только системный администратор. Блокировка учетной записи выполняет две важные функции: защищает систему от злоумышленников, пытающихся подобрать пароль, и сообщает пользователю, что кто-то пытался получить доступ к его учетной записи. Практика показывает, что подобная автоматическая блокировка учетной записи малополезна.
Система автоматической блокировки может быть использована злоумышленником для выполнения атак, направленных на нарушение доступности ресурсов системы для зарегистрированных пользователей. Злоумышленник может многократно подключаться к системе и вводить неверный пароль для намеренной блокировки данной учетной записи.
Значительно лучшие результаты по защите пароля пользователя от попыток его подбора дает метод увеличения задержки вывода приглашения к вводу пароля между последовательными неверными попытками подключения к системе. После нескольких неуспешных попыток может быть установлена увеличивающаяся задержка между очередными выдаваемыми приглашениями к входу или вводу пароля. Реализация подобного механизма должна сохранять время последней попытки входа для данной учетной записи и число неуспешных попыток для учета возможности кратковременного отключения злоумышленника от системы авторизации и повторного входа.
Методика увеличения задержки вывода приглашения к вводу пароля между последовательными неверными попытками подключения к системе выполняет ту же задачу, что и блокировка учетной записи, но позволяет ограничить последствия атак на доступность ресурсов системы для зарегистрированных пользователей.