
- •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.2Безопасность файловой системы ос unix
Основой идеологии ОС UNIX является понятие файла. Все системные ресурсы для системных и прикладных программ представлены в виде файлов. Такое единообразие позволяет более гибко управлять ресурсами системы и облегчает работу пользователям, прикладным программистам и системному администратору.
При помощи специальной организации файловой системы в UNIX контролируются права доступа пользователей ко всем ресурсам операционной системы, что делает файловую систему одной из важнейших частей системы безопасности ОС UNIX.
4.1.2.1Разграничение доступа к ресурсам
Задачу по разграничению доступа пользователей к ресурсам ОС UNIX позволяет решить набор атрибутов элементов файловой системы, так как файловая система является формой представления всех доступных ресурсов в UNIX.
Набор атрибутов элементов файловой системы ОС семейства UNIX определяет права доступа пользователей к файлам и позволяет решить задачу по разграничению доступа пользователей ко всем ресурсам системы. Права доступа, описывающие допустимое взаимодействие для различных классов пользователей с объектами файловой системы, содержатся в одном из полей индексных узлов.
Целостность данных обеспечивается проверкой и изменением прав доступа к ресурсам. Защищая свои ресурсы путем определения необходимых прав доступа пользователь предотвращает неавторизованный доступ к ним. В ОС UNIX выделяют три класса пользователей по отношению к какому-либо ресурсу:
владелец ресурса;
члены группы ресурса;
другие пользователи системы, не входящие в первые два класса.
Под владельцем ресурса понимается пользователь системы - создатель ресурса либо пользователь, которому данный ресурс был передан во владение системным администратором. Понятие "группа ресурса" связано с владельцем данного ресурса, который может определить ресурс в любую из пользовательских групп для назначения пользователям данной группы специальных прав доступа к ресурсу. Кроме владельца, установить для ресурса группу может только суперпользователь.
Каждому из трех классов пользователей ресурса независимо назначены права доступа к ресурсу:
право доступа к ресурсу для чтения;
право доступа к ресурсу для записи;
право доступа к ресурсу для его исполнения (использования).
Под правом доступа для чтения понимается право пользовательского приложения открывать ресурс и получать из ресурса данные. Под правом доступа для записи понимается право пользовательского приложения перезаписывать и изменять данные ресурса. Право доступа к ресурсу для его исполнения имеет смысл только в том случае, когда ресурсами являются исполняемые модули программ или каталоги файловой системы.
На основе такой системы прав доступа можно построить матрицу доступа пользователей системы ко всем ресурсам и решить проблему разграничения доступа в ОС UNIX. Путем ограничения доступа пользователей к системным файлам, исполняемым модулям, средствам разработки можно построить систему, защищенную от нарушения целостности среды.
В ОС UNIX права доступа к объектам файловой системы отображают в виде строки из девяти символов, сгруппированных в три группы. Каждая из трех групп символов характеризует права доступа к данному ресурсу системы для соответствующего класса пользователей. Первая совокупность трех символов описывает права доступа к ресурсу для его владельца, вторая - права доступа для пользователей, находящихся в одной группе с ресурсом, третья - определяет права доступа для пользователей системы, не входящих в перечисленные выше. В каждом из классов пользователей права доступа к ресурсу обозначаются символами "r", "w" и "х" соответственно для указания возможности доступа для чтения, записи и исполнения или символом "-" - в случае отсутствия такого права.
Для построения произвольной матрицы доступа пользователей к ресурсам системы стандартного деления пользователей системы на три класса может быть недостаточно. Необходимо гибко пользоваться возможностью создания связей к одному файлу. Это позволит для каждой связи определить свою группу ресурса со своими правами доступа. Символические связи для определения прав доступа к ресурсу не могут использоваться. При доступе к ресурсу через символическую связь права процесса зависят только от прав доступа к ресурсу.
Когда ядро операционной системы получает от пользователя, программы или командной оболочки запрос на доступ к файлу, оно первым делом смотрит на UID субъекта, запросившего доступ. Если этот UID совпадает с идентификатором (не именем) владельца файла, ядро определяет набор допустимых операций в отношении файла на основании того, какие из первых трех битов набора разрешений для данного файла установлены. Если UID обращающегося к файлу субъекта не совпадает с UID владельца файла, осуществляется сравнение GID субъекта, обращающегося к файлу с GID группы, к которой принадлежит файл. Если эти два идентификатора совпадают, для определения набора допустимых операций используются разрешения, предоставленные группе, владеющей файлом. Если ни UID, ни GID не совпадают, то субъект, запросивший доступ к файлу, попадает в категорию «остальные». В этом случае используются разрешения, определяемые третьей группой битов.
Предоставление ресурсов системы UNIX через сеть с помощью файловой системы NFS (Network File System) обеспечивает возможность работы с удаленной файловой системой как частью локальной, что непосредственно затрагивает систему безопасности. При таком взаимодействии со стороны сервера отсутствует возможность контроля неизменности среды на клиенте NFS. С точки зрения сервера NFS между запросом на считывание ресурса и запросом на выполнение ресурса не существует разницы. Для исполнения ресурса сервером NFS ресурс должен быть передан клиенту NFS. Поэтому для защиты от несанкционированного доступа серверы NFS позволяют считывать ресурс, когда одновременно установлены права для чтения и исполнения ресурса.
Из-за особой функции каталогов в файловой системе UNIX права доступа к каталогам интерпретируются особым образом.
Каталоги в ОС UNIX являются объектами файловой системы специального вида, содержащими информацию о других вложенных объектах файловой системы. Как и у любого другого файла, у каталога есть владелец и группа. Права доступа к каталогам таким образом влияют на получение информации о вложенных в каталоги объектах и, следовательно, - на разграничение доступа к вложенным объектам файловой системы.
Перечисленные ниже положения позволяют отметить особенности разграничения доступа к каталогам по сравнению с другими объектами файловой системы и раскрывают дополнительные возможности при построении системы разграничения доступа к ресурсам ОС UNIX с точки зрения системы безопасности.
Для получения списка файлов каталога необходимо разрешить пользовательскому приложению доступ к каталогу для чтения.
Возможность добавлять, переименовывать или удалять вложенные элементы каталога дают права доступа к каталогу для записи.
Возможности открытия файлов каталога и его подкаталогов, определения каталога текущим для процесса дают права доступа для исполнения. Права исполнения в отношении каталога определяют возможность получения данных из индексных узлов элементов каталога. При этом приложению разрешается определять владельцев, длину, права доступа и другую информацию о вложенных элементах каталога.
Существует возможность создания скрытых ресурсов в каталоге, когда пользователь не может получить доступ к ресурсам каталога, если не знает точное имя скрытого ресурса. Создание скрытых файлов может являться одной из дополнительных мер по защите ресурсов от несанкционированного доступа. Для создания скрытых ресурсов достаточно определить права доступа к вышестоящему каталогу для исполнения и запретить доступ к каталогу для чтения. При этом в каталоге можно создавать новые файлы, делать каталог текущим или, зная имя какого-либо элемента из содержимого каталога, работать с данным ресурсом.