Исследование уровня безопасности операционной системы Linux
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: налоги и налогообложение, первый реферат
| Добавил(а) на сайт: Budzinskij.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Основные характеристики файловой системы ext2: максимальный объем файловой системы – 4 Тбайт; максимальная длина файла – 2 Гбайт; максимальная длина имени файла – 255 символов; присутствует поддержка трех ячеек времени изменения файла; также имеется возможность расширения файловой системы; присутствуют механизмы защиты информации и возможность изменять размер блока.
2.2.1. Права доступа
Рассмотрим ситуацию, когда пользователь А для хранения очень важных
документов использует свой домашний каталог. Информация, хранящаяся в
документах, является строго конфиденциальной, а по сему никто, кроме ее
владельца, не должен получить к ней доступ. Пользователь В просто из
любопытства, а может и со злобными намерениями, сделал попытку получить
содержимое этих документов. Результатом попытки явилась ошибка с описанием
‘permission denied’ (‘доступ запрещен’). Появлением ошибки послужило
отсутствие у пользователя B прав на чтение документов, принадлежащих
пользователю А. Из приведенного примера можно сделать вывод, что права
доступа позволяют ограничить доступ к определенной информации, или, проще
говоря, оградить некоторую информацию от определенных пользователей.
Концепция файловой политики безопасности Linux строится на том, что любой файл системы имеет 3 категории владельцев: собственно владельца файла или, проще говоря, его создателя, какую-либо группу пользователей, в которую чаще всего входит владелец файла, и всех остальных. Таким образом, привилегированный пользователь или владелец файла, поскольку только он имеют возможность изменять права доступа, может построить политику файловой безопасности, определяя права отдельно для владельца файла, для группы пользователей и для всех остальных пользователей системы.
Права доступа к файлу или каталогу описываются тремя восьмеричными цифрами, самая левая из которых – права доступа владельца, средняя – права группы, правая – права доступа для всех остальных. Каждая из этих восьмеричных цифр представляет собой битовую маску из 3-х бит. Эти биты отвечают за право на чтение, запись и исполнение файла или каталога. Если бит установлен в 1 – операция разрешена, если в 0 – запрещена.
Для различных типов файлов значения прав доступа немного отличаются.
Право на чтение файла позволяет пользователю читать содержимое файла.
Для каталога установка права на чтение позволяет читать файлы, находящиеся
в этом каталоге.
Право на запись файла позволяет пользователю изменять его содержимое.
Для каталога - создавать файлы внутри каталога.
Право на выполнение для файла позволяет запускать файл на выполнение в качестве программы. Для каталога установка этого права дает возможность пользователю входить в каталог и просматривать его содержимое.
Какие права доступа определены для каждого файла, можно узнать, набрав
в терминале команду ls с ключом –l:
[root@app tmpdir]# ls –l
lrwxrwxrwx 1 root users 86 Фев 7 19:49 linkfile -> myfile
drwxr-xr-x 1 root users 4096 Фев 7 19:49 lnk
-rwxr----- 1 anotheruser users 97 Фев 7 19:48 myfile1
-rw-rw-r-- 1 root users 84 Фев 7 19:45 myfile2
В первой колонке представлены права доступа к файлу. Эта колонка содержит 10 символов. Первый из них слева говорит о том, к какому типу принадлежит файл, то есть является ли он файлом, каталогом, ссылкой и так далее. Далее слева направо представлены права доступа соответственно для владельца, для группы, и в конце – для всех остальных. Вторая колонка отображает количество жестких ссылок для этого файла. Третья указывает на имя владельца файла, четвертая – на имя группы-владельца, пятая колонка – размер файла, шестая – дата создания файла, седьмая - имя файла.
Как видно из примера, linkfile является символической ссылкой на файл
myfile. Об этом говорит буква l в самой левой части колонки прав доступа.
Для символических ссылок задание прав доступа возможно, но вряд ли имеет
смысл. Дело в том, что символическая ссылка указывает на файл, который
имеет свои права доступа, поэтому при доступе по символической ссылке
проверяются права конечного файла. Файл lnk является каталогом, о чем
говорит буква d в поле прав доступа. Поле владельца говорит о том, что
владельцем каталога является пользователь root, а группа-владелец – users.
Владелец имеет право на чтение файлов в каталоге, запись файлов и чтение
содержимого каталога. Буква r (от слова Read) говорит о возможности для
данного пользователя выполнять операции чтения файлов каталога, буква w (от
слова Write) – о возможности записи файлов в каталог, последняя буква x (от
слова eXecute) дает право на просмотр содержимого каталога. Пользователи, входящие в группу users, имеют право только на чтение файлов этого каталога
и на получение его содержимого (буквы r и x), право на запись файлов в этот
каталог у них отсутствует. Все остальные пользователи имеют те же права
доступа, что и группа-владелец. Последние два файла myfile1 и myfile2
являются обычными файлами. Файл myfile2 имеет права чтения и записи для
владельца (пользователя root) и группы users, все остальные имеют право
только читать файл. Файл myfile1 имеет права на чтение, запись и выполнение
для владельца, коим в данном случае является пользователь anotheruser.
Группа users имеет право только на чтение этого файла, а все остальные
пользователи вообще не могут выполнять какие-либо действия с этим файлом.
Изменение прав доступа к файлу осуществляется при помощи стандартной
системной команды chmod. Права доступа при вызове команды могут задаваться
как битовой маской в десятичном представлении, так и при помощи символов.
Подробно использование этой команды описано на соответствующей man-
странице.
Помимо прав доступа существуют так называемые модификаторы доступа. К модификаторам доступа относятся Sticky bit, SUID и SGID.
Sticky bit (S). Для файлов установка этого модификатора в современных дистрибутивах потеряла свое значение. Установка Sticky bit для каталога позволяет пользователю записывать файлы в этот каталог, но удалять из этого каталога он может только те файлы, владельцем которых он является, или в том случае, если ему явно заданы права записи.
SUID (s). Если файлу установлен модификатор доступа SUID и файл
исполняемый, то файл при запуске на выполнение получает не права
пользователя, запустившего его, а права владельца файла. Такие приемы
используются для того, чтобы пользователь мог работать с некоторыми
системными файлами, владельцем которых является привилегированный
пользователь. К примеру, для того, чтобы пользователь мог самостоятельно
изменить свой пароль при помощи программы passwd, у этой программы, владельцем которой является пользователь root, должен быть установлен бит
SUID, поскольку она работает с файлом shadow, модификацию которого имеет
право производить только пользователь root.
SGID (s). Если файл имеет модификатор доступа SGID, то это аналогично
установке бита SUID, только вместо владельца файла используется группа, которой принадлежит файл. В случае установки SGID для каталога файлы, содержащиеся в этом каталоге, будут иметь установки группы такие же, как у
каталога.
[root@app mydir]# ls –l
-rwsr--r-x 1 anotheruser users 97 Фев 7 19:48 myfile1
В приведенном примере видно, что файл myfile1 имеет установленный бит
SUID. При запуске файла любым пользователем системы (права на выполнение
установлены для всех) файл будет выполнять действия от имени его владельца, в данном случае от имени пользователя anotheruser.
Модификаторы доступа при правильном использовании представляют очень мощное и гибкое средство. С другой стороны, неправильная настройка системы с использованием этих модификаторов может свести все действия по обеспечению безопасности к нулю. Особенно опасной представляется ситуация, когда тот же SUID установлен на исполняемый файл, принадлежащий привилегированному пользователю. При выполнении файла запустивший его пользователь получает право выполнять операции, доступные только пользователю root. Если даже файл не выполняет никаких системных операций и не работает с системными файлами, неправильное его использование может привести к очень неприятным последствиям.
Практическое применение рассмотренной информации приводится в приложении в примере 2.
2.2.2. Атрибуты файлов
В файловой структуре операционной системы всегда есть файлы, которые не должны изменяться в процессе функционирования системы, например, исполняемые файлы или файлы, которые должны быть откорректированы только однажды при настройке системы и не должны изменяться впоследствии, примером могут служить конфигурационные файлы. Есть и такие, которые могут быть дополнены, но не могут быть удалены или перезаписаны. Наличие средств, гарантирующих выполнение перечисленных условий, позволяет очень сильно повысить безопасность файловой системы, сохранив первоначальную целостность данных при различных типах атак.
Начиная с версии ядра 1.1, в файловой системе Linux помимо прав доступа
присутствует поддержка расширенных атрибутов файлов. В последних версиях
ядра 2.4 присутствует поддержка следующих атрибутов:
. Atime (A). Каждый раз, когда система обращается к файлу, происходит изменение ячейки времени последнего обращения к файлу. Установка атрибута atime позволяет избежать обновления времени последнего обращения и увеличить производительность файловой системы, особенно в тех случаях, когда обращения к файлам происходят очень часто. Однако, отсутствие времени последней модификации файла представляет угрозу изменения файла без последующей регистрации этого действия, что может угрожать безопасности.
. Sync (S). Установка атрибута sync позволяет сразу фиксировать все изменения, происходящие с файлом, на жестком диске синхронно с процессом, который осуществляет эти изменения. Это обеспечивает более безопасную работу, но может также снизить производительность из-за прямой постоянной записи на диск.
. Append (a). Этот атрибут позволяет открывать файл только с целью его дополнения. Усечение или перезапись файла запрещается. Для каталога установка этого атрибута означает, что удалять файлы, содержащиеся в этом каталоге, запрещено, хотя создание новых и модификация существующих возможны.
. Immutable (i). Файл с установленным атрибутом immutable не может подвергаться никаким изменениям вообще. Если установить этот атрибут для каталога, процессы смогут модифицировать файлы, находящиеся в нем, но не смогут создавать или удалять файлы. Для обеспечения безопасности имеет большое значение.
. No Dump (d). Установка атрибута no dump дает указание процессу, осуществляющему создание дампа, игнорировать этот файл и не включать его в создание резервной копии.
. Compress (c). Этот атрибут позволяет производить прозрачное сжатие файлов перед записью их на диск. При доступе к файлу он декомпрессируется и конечному процессу представляется уже в нормальном виде.
. Secure Deletion (s). Если этот атрибут установлен, то при удалении файла все блоки, в которых он располагался, заполняются нулями, то есть производится полное удаление файла, а не только его дескриптора.
. Undelete (u). При удалении файла с этим атрибутом система сохраняет все блоки файла на диске, что позволяет при желании восстановить удаленный файл.
Последние версии ядер, начиная с 2.4, игнорируют значения последних трех атрибутов: compress, secure deletion и undelete. Разработчики посчитали, что их дальнейшее использование не имеет смысла.
Для изменения и просмотра установленных атрибутов в стандартный
системный пакет Linux входят две программы chattr и lsattr. Первая
позволяет изменять атрибуты, добавлять или снимать их, вторая позволяет
получить список установленных атрибутов. Пример работы программы lsattr
показан ниже.
[root@app tmpdir]# lsattr myfile*
---i---------- myfile
----a--------- myfile1
Рекомендуем скачать другие рефераты по теме: сочинение, реферат на тему информация.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата