Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Исследование уровня безопасности операционной системы Linux

воляет
получить список установленных  атрибутов.  Пример  работы  программы  lsattr
показан ниже.
[root@app tmpdir]# lsattr myfile*
---i---------- myfile
----a--------- myfile1

    В примере первый файл имеет установленный атрибут immutable,  второй  –
атрибут atime. Подробно использование программ lsattr и  chattr  описывается
в соответствующих man-руководствах.
    При   определенных   условиях   процессы,    выполняемые    от    имени
привилегированного пользователя, могут игнорировать эти атрибуты.  С  другой
стороны, атрибуты ext2 учитываются некоторыми  системными  вызовами,  такими
как sys_open() для открытия файла  или  sys_truncate()  для  его  отсечения,
причем  вне  зависимости  от  идентификатора  пользователя,  вызываемого  их
процесса  и  прочих  условий.  Например,  присутствие  флага   immutable   в
дескрипторе  файла  приводит  к  тому,  что  системные  вызовы,   касающиеся
модификации файлов, просто перестают  работать  вне  зависимости  от  других
условий. Наличие данных атрибутов и специальных режимов работы ядра в  Linux
позволяет просто и  эффективно  укрощать  абсолютные  возможности,  которыми
обладает  привилегированный   пользователь.   Цель   комплексной   настройки
заключается  в  том,  чтобы  атрибуты  накладывали  ограничения   для   всех
процессов независимо от их прав  доступа  и  уровня  привилегий.  Они  могут
служить в качестве эффективной низкоуровневой защиты против  атак  на  любой
привилегированный  процесс,  в  котором  могут   присутствовать   какие-либо
неизвестные уязвимости.
    Однако, сама политика безопасности, построенная на установке  атрибутов
типа immutable и append, является только одной  стороной  монеты.  Хотя  эти
атрибуты и предотвратят изменение защищенных  ими  файлов  даже  со  стороны
процессов, которые выполняются от имени привилегированного  пользователя,  в
обычных обстоятельствах пользователь root все равно может убрать  эти  флаги
и продолжить работу с файлами  уже  без  этих  атрибутов.  Другими  словами,
ничто не мешает программе, исполняемой от  имени  пользователя  root,  перед
началом работы выполнить проверку файла на наличие этих атрибутов  и  просто
их отменить.
    Дополняющим компонентом, или  второй  стороной  монеты,  можно  считать
специальные возможности ядер  2.4,  позволяющие  конфигурировать  систему  в
режиме полной защиты файлов с  атрибутами  immutable  и  append  до  момента
перезагрузки в однопользовательский режим. Для установки  этих  и  множества
других  параметров  ядра   используется   программа   lcap   (Linux   Kernel
Capabilities Bounding Set Editor).
    Пример использования lcap
[root@app /]# lcap CAP_LINUX_IMMUTABLE
[root@app /]# lcap CAP_SYS_RAWIO

    Первый вызов lcap с параметром CAP_LINUX_IMMUTABLE отменяет возможность
у привилегированных процессов  снимать  флаги  immutable  и  append.  Второй
вызов с параметром CAP_SYS_RAWIO запрещает низкоуровневый доступ  к  блочным
устройствам, таким как диски, для предотвращения прямого доступа к файлам.
    После того, как с помощью lcap был изменен  какой-либо  параметр  ядра,
его повторное изменение возможно  только  после  перезагрузки  системы.  Эта
особенность дает уверенность в  том,  что  в  системе  не  смогут  незаметно
производиться изменения без получения физического доступа и  перезагрузки  в
однопользовательский режим.
    Подробную документацию по программе lcap можно найти в  соответствующих
man-руководствах.
    Практическое   применение   рассмотренной   информации   приводится   в
приложении в примере 3.

                            2.2.3. Механизм квот

    Пожалуй, каждый администратор многопользовательской  системы  знаком  с
понятием «дисковой квоты». Попробуем разобраться, что же это такое, и  какое
отношение это понятие имеет к безопасности системы.
    Дисковая квота – заранее определенное, фиксированное количество  блоков
дискового пространства и/или количество  файловых  дескрипторов,  выделяемое
каждому пользователю или группе пользователей для работы и хранения данных.
    Использование  дисковых  квот  позволяет   ограничивать   два   аспекта
дискового пространства: количество файловых дескрипторов,  другими  словами,
количество файлов, которое может  быть  создано  пользователем  или  группой
пользователей, и часть от всего объема  диска,  которую  может  использовать
пользователь или группа для хранения  своих  файлов.  Идея  состоит  в  том,
чтобы определить для каждого пользователя или группы определенную  часть  от
общего объема диска, чтобы  ни  при  каких  условиях  пользователь  не  смог
превысить тот объем  используемой  дисковой  памяти,  который  ему  выделен.
Таким  образом,  устраняется  проблема  переполнения  диска   или   нехватки
дискового пространства для других пользователей и процессов.
    Концепция разделения дискового пространства оперирует тремя  понятиями:
мягкое ограничение (soft limit), жесткое ограничение (hard limit)  и  период
отсрочки (grace period).
    Мягкое   ограничение   определяет   максимальный    размер    дискового
пространства, который может быть занят  данными  определенного  пользователя
или группы пользователей.
    Жесткое ограничение работает, только если  установлен  период  отсрочки
grace period.
    Если период отсрочки установлен в значение, отличное от нуля, то, когда
занятый объем превышает объем  мягкого  ограничения,  пользователю  выдается
сообщение, что  его  дисковое  пространство  на  исходе.  Если  пользователь
игнорирует это предупреждение и  его  дисковая  квота  продолжает  превышать
значение мягкого ограничения, то  по  истечении  периода  отсрочки  дисковая
квота  считается исчерпанной. При этом обязательно должно  быть  установлено
жесткое ограничение.  Жесткое  ограничение  является  абсолютным  максимумом
использования пространства файловой системы пользователем.
    Управление механизмом квот осуществляет ядро  операционной  системы.  В
последних  версиях  Linux  в  стандартное  ядро,  идущее   в   дистрибутиве,
поддержка квот включена по умолчанию. Если  же  производится  сборка  нового
ядра,  поддержку  квот  необходимо  включить   явно.   Включение   поддержки
механизма   квот   осуществляется   установкой   параметра   Quota   Support
(CONFIG_QUOTA) в разделе FileSystems при конфигурировании ядра  до  процесса
сборки. Если такого параметра в ядре нет, это означает,  что  данная  версия
ядра не поддерживает механизм квот. В этом  случае  для  поддержки  квот  на
ядро необходимо наложить «заплатку» - специальное дополнение  в  стандартный
код ядра. Заплатку можно загрузить с Интернета.
    Поддержка  квот  распространяется  на   логический   раздел   диска   и
указывается при его  монтировании.  Для  монтирования  раздела  используется
файл  /etc/fstab,  в  котором   и   задаются   параметры,   указывающие   на
использование квот. Это параметры usrquota и grpquota.
    Для управления и настройки дисковых квот используется  пакет  quota.  В
современных дистрибутивах Linux этот пакет входит  в  стандартную  поставку,
но можно загрузить последнюю версию с Интернета.
    На момент написания работы последней стабильной  версией  пакета  quota
была версия 3.11. Далее перечислены основные  программы  пакета  quota-3.11,
необходимые для настройки механизма квот:
    quota – программа  позволяет  отображать  текущее  состояние  механизма
квот. По умолчанию  отображается  только  квота  пользователя,  запустившего
программу на выполнение. Эту программу может  запускать  любой  пользователь
системы.
    convertquota  –  программа  производит  перевод  файлов  quota.user   и
quota.group  в  файлы  aquota.user  и  aquota.group.  Файлы   quota.user   и
quota.group являются файлами пользовательских квот старого формата.  Начиная
с версии ядра 2.4.0,  в  Linux  используется  новый  формат  дисковых  квот,
который обладает, в отличие от старой версии, следующими преимуществами:
     - поддержка 32-битных идентификаторов пользователей (UID);
     - установка квоты для привилегированного пользователя;
     - установка дисковой квоты в байтах (в старой версии единицей дисковой
квоты служил килобайт);
      -  поддержка  дисковой  квоты  для  журналируемой  файловой   системы
ReiserFS.
    Для  настройки  новой  версии   механизма   квот   используются   файлы
aquota.user и aquota.group. Проще говоря, программа  convertquota  позволяет
перевести файлы настройки  квот  из  старого  формата  в  новый,  тем  самым
позволяя перейти к использованию новой версии с  минимальной  перенастройкой
системы.
    edquota – программа  является  редактором  пользовательских  квот.  При
вызове этой  программы  запускается  текстовый  редактор,  установленный  по
умолчанию в системе. В этом редакторе можно сделать необходимые изменения  в
файле дисковой квоты.
    qout – программа выводит статистику в  килобайтах  по  пользовательским
квотам  для  конкретной  файловой  системы.  На  момент   написания   работы
программа quot, входящая в пакет версии 3.11, поддерживала  только  файловую
системы XFS.
    quotacheck – программа для проверки  целостности  дисковой  квоты.  При
интенсивной  работе  механизма  квот  в  файловой  системе  могут  возникать
различные неточности,  связанные  с  использованием  дискового  пространства
пользователей. Программа  quotacheck  проводит  проверку  файловой  системы,
определяя размер доступного и занятого пространства,  производит  построение
таблицы  текущего  использования   дискового   пространства   и   сравнивает
полученные данные с записями в файле дисковой квоты. Если  имеются  какие-то
несоответствия, эти несоответствия устраняются  путем  исправления  неверных
значений в файлах дисковой квоты.
    quotaon – программа для включения пользовательских  квот  на  указанной
файловой системе. До использования этой программы необходимо  для  требуемой
ф
12345След.
скачать работу

Исследование уровня безопасности операционной системы Linux

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ