скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Исследование уровня безопасности операционной системы Linux

<параметр> <значение>

и могут быть использованы для установки таких параметров работы, как, например, необходимость использования аутентификации сервера на базе имени компьютера, аутентификации пользователя с помощью пароля, протокол какой версии SSH (на сегодня существует две основные версии: SSH версии 1.0 и SSH версии 2.0) необходимо использовать при обмене информацией. Для серверной программы в конфигурационном файле sshd_config существует возможность указать, на каком порту демон sshd будет принимать соединения (по умолчанию для этой цели используется порт с номером 22), а также на какой IP адрес должны приходить запросы. Все параметры конфигурационных файлов очень подробно описаны в документации, поставляемой с пакетом OpenSSH.

Практическое применение рассмотренной информации приводится в приложении в примере 7.

Вывод.

В этой главе работы были рассмотрены основные средства безопасности, которыми располагает ОС Linux. В первой части главы приводится описание средств обеспечения локальной безопасности, то есть без учета подключения компьютера с ОС Linux  к сети. Вторая часть ориентирована на проблемы обеспечения сетевой безопасности. Первая часть освещает основные возможности файловой системы ext2, приводится описание программ изменения прав доступа и владельца файла chmod и chown, подробно рассматриваются атрибуты файлов, программы работы с атрибутами chattr и lsattr. В дополнение ко всему приводится описание пакета lcap для настройки некоторых параметров ядра ОС. Далее рассматривается концепция пользовательских дисковых квот, пакет для работы с пользовательскими квотами quota. В последнем разделе, посвященном локальной безопасности, приводится современная технология аутентификации с использованием библиотеки PAM, рассматриваются ее возможности, приводится перечень модулей, входящих в эту библиотеку, и их описание. Подробно рассматривается формат конфигурационных файлов PAM. Во второй части главы рассматривается принцип защиты системы от сетевого вмешательства посредством межсетевого экрана netfilter, описывается алгоритм функционирования межсетевого экрана, рассматривается концепция построения правил фильтрации. Далее приводится общий обзор протоколов удаленного администрирования и большое внимание уделяется протоколу ассиметричного шифрования SSH, рассматриваются принципы работы этого протокола, его назначение и основные характеристики.


3. Средства усиления безопасности в Linux

Помимо стандартных средств организации безопасной работы Linux существует огромное количество дополнительного системного программного обеспечения, позволяющего расширить возможности стандартных средств и добавить новые, более гибкие и приспособленные к специфическим условиям. В большинстве случаев стандартные средства Linux позволяют добиться необходимого уровня защиты. Но бывают ситуации, когда к системе предъявляются повышенные требования, и стандартных средств обеспечения безопасности может оказаться недостаточно. В таких случаях простым решением может служить использование дополнительных программных пакетов.

3.1. Linux ACLs

Иногда в процессе работы администратор сервера может столкнуться с проблемой правильной установки прав доступа. Например, возникла ситуация, когда на один файл необходимо установить право на чтение трем пользователям разных групп и право на чтение и выполнение для пользователя четвертой группы. Решение этой проблемы стандартными средствами является достаточно сложной задачей. Права доступа в Linux задаются девятью битами, что предполагает установку прав только для пользователя-владельца, группы-владельца и всех остальных. Какие-либо дополнительные возможности по установке прав доступа к файлу в стандартной конфигурации ОС Linux отсутствуют.  В результате для решения задачи может потребоваться внесение пользователей в общие группы или создание дополнительных групп, что является не всегда приемлемым и помимо всего прочего создает дополнительные проблемы управления.

Оптимальным решением в ситуации такого рода может послужить программная разработка Linux ACLs.

Linux ACLs (Access Control Lists) – это набор заплаток для ядра операционной системы и приложений для работы с файловой системой и несколько дополнительных программ, дающих возможность устанавливать права доступа к файлам не только для пользователя-владельца и группы-владельца файла, но и для любого пользователя и группы.

Linux ACLs использует расширенные атрибуты для хранения данных о правах доступа к файлам пользователей и групп. Список расширенного контроля доступа существует для каждого файла в системе и состоит из шести компонентов. Первые три являются копией стандартных прав доступа к файлу. Они содержаться в единственном экземпляре в ACL и есть у каждого файла в системе:

·     ACL_USER_OBJ – режим доступа к файлу пользователя-владельца;

·     ACL_GROUP_OBJ – режим доступа к файлу группы-владельца;

·     ACL_OTHER – режим доступа к файлу остальных пользователей.

Следующие два компонента устанавливаются для каждого файла в отдельности и могут присутствовать в ACL в нескольких экземплярах:

·     ACL_USER – содержит UID и режим доступа к файлу пользователя, которому установлены права, отличные от основных. На каждого пользователя со своими правами на данный файл хранится отдельная запись. Не может существовать более одной записи на одного и того же пользователя;

·     ACL_GROUP – содержит те же самые данные, что и ACL_USER, но для группы пользователей;

·     ACL_MASK – маска действующих прав доступа для расширенного режима.

При установке дополнительных прав доступа присваивается значение и элементу ACL_MASK.

Каталоги также могут иметь список контроля доступа по умолчанию. В отличие от основного ACL, он действует на создаваемые внутри данного каталога файлы и каталоги. При создании файла внутри такого каталога файл получает ACL, равный ACL по умолчанию этого каталога.

Для использования Linux ACLs необходимо получить на сайте разработчика пакет Linux ACLs и заплатки к ядру ОС Linux и некоторым программам системного окружения. Сначала необходимо наложить заплатку на исходные файлы ядра, чтобы получить поддержку листов доступа, затем собрать ядро с поддержкой расширенных атрибутов и листов контроля доступа. После сборки ядра с поддержкой листов доступа нужно наложить заплатки  на некоторые системные программы и пересобрать их. Далее необходимо собрать пакет приложений ACL, который тоже находится на сайте разработчика. С помощью приложений этого пакета производится управление расширенными правами доступа. Весь процесс установки Linux ACLs, начиная наложением заплаток и заканчивая сборкой пакета ACL, подробно описан в документации программного пакета.

После включения в системе поддержки Linux ACLs манипулирование расширенными атрибутами производится с помощью двух программ, входящих в пакет ACL – getfacl и setfacl. Первая программа позволяет получить информацию о расширенных правах доступа файла. Вторая производит изменение этих прав доступа. Синтаксис командных строк этих программ подробно описан в соответствующих man-руководствах пакета.

3.2. LIDS

LIDS (Linux Intrusion Detection/Defence System) – система обнаружения и защиты от вторжения. Эта система представляет собой дополнение к ядру операционной системы Linux, добавляющее дополнительные возможности для увеличения безопасности операционной системы. LIDS позволяет запретить или ограничить доступ к файлам, памяти, устройствам, сетевым интерфейсам и запущенным приложениям привилегированному пользователю, что дает возможность надежно оградить даже взломанную операционную систему от дальнейшего вмешательства.

В отличие от других средств защиты операционной системы Linux, эту систему невозможно отключить, не зная пароля администратора LIDS, который в зашифрованном виде хранится в специальном файле, видимом только программой администрирования LIDS. Таким же образом защищены и конфигурационные файлы LIDS. Помимо этого система имеет одно очень существенное преимущество: зная пароль администратора LIDS, систему можно отключить только с локальной консоли компьютера.

Для того, чтобы установить LIDS, необходимо включить поддержку этой системы в ядре, что требует наложения заплаток на исходные файлы ядра и включение возможностей LIDS при конфигурировании ядра до его сборки. После включения в ядре поддержки LIDS станет доступным список параметров LIDS. Также пакет LIDS включает программы для настройки этой системы.

После установки LIDS в каталоге /etc появится каталог lids, содержащий следующие конфигурационные файлы:

lids.cap – этот файл предназначен для хранения текущих значений установок способностей.

lids.net – файл предназначен для настройки отправки электронных сообщений системой LIDS.

lids.pw – в этом файле записан в зашифрованном виде пароль администратора. Изменять этот файл можно только с помощью программы lidsadm пакета LIDS.

lids.conf – этот файл содержит текущие установки правил доступа. Изменять этот файл может только программа lidsadm.

При установке различных ограничений LIDS использует так называемые способности.

Способность – это возможность программ совершать какие-либо действия.

Все способности устанавливаются в файле /etc/lids/lids.cap. Этот файл имеет следующий формат:

[ + | - ] <номер>:<способность>

“+” включает соответствующую способность, а “–“ выключает ее.

номер – порядковый номер способности.

способность – наименование способности.

Редактирование файла /etc/lids/lids.cap можно производить с помощью любого текстового редактора. Включение способностей влияет на все программы без исключения, а выключение влияет на все программы, кроме тех, которым напрямую указана данная способность с помощью правил доступа lidsadm.

После установки файл /etc/lids/lids.cap содержит включенными следующие способности:

·     CAP_CHOWN – устанавливает способность программ изменять владельца и группу-владельца файла;

·     CAP_DAC_OVERRIDE – разрешает программам, запускаемым привилегированным пользователем, не принимать во внимание режимы доступа к файлам. При отключении этой способности пользователь root теряет возможность изменять файлы, если ему напрямую не заданы права доступа;

·     CAP_DAC_READ_SEARCH – определяет то же самое, что и CAP_DAC_OVERRIDE, только в данном случае ограничение распространяется только на каталоги;

·     CAP_FOWNER – разрешает операции с файлами, когда владелец файла должен совпадать с пользователем, совершающим операцию;

·     CAP_FSETID – разрешает установку бит SUID и SGID на файлах, не принадлежащих пользователю root;

·     CAP_KILL – разрешает процессам привилегированного пользователя уничтожать другие процессы;

·     CAP_SETGID, CAP_SETUID – управляет способностью программ привилегированного пользователя изменять группу и пользователя, под которыми работает программа;

·     CAP_SETPCAP – позволяет программам менять способности;

·     CAP_LINUX_IMMUTABLE – управляет способностью снимать расширенные атрибуты immutable и append с файлов;

·     CAP_NET_BIND_SERVICE – разрешает программам, выполняющимся не от имени пользователя root, использовать сетевой порт ниже 1024;

·     CAP_NET_BROADCAST – управляет способностью программ рассылать широковещательные пакеты;

·     CAP_NET_ADMIN – параметр управляет большим количеством различных способностей: конфигурирование сетевых интерфейсов, изменение правил брандмауэра, изменение таблиц маршрутизации и других способностей, связанных с сетевыми настройками Linux;

·     CAP_NET_RAW – управляет способностью программ использовать гнезда;

·     CAP_IPC_LOCK – управляет способностью процессов привилегированного пользователя блокировать сегменты разделяемой памяти;

·     CAP_IPC_OWNER – управляет доступом программ пользователя root к ресурсам межпроцессорного взаимодействия процессов, не принадлежащих пользователю root;

·     CAP_SYS_MODULE – управляет способностью загружать модули ядра;

·     CAP_SYS_RAWIO – управляет низкоуровневым доступом на чтение/запись к таким устройствам, как /dev/mem, /dev/kmem, /dev/port, /dev/hd*, /dev/sd*;

·     CAP_SYS_CHROOT – управляет способностью устанавливать корневой каталог для текущей командной оболочки;

·     CAP_SYS_PTRACE – позволяет программам использовать вызов функции ptrace(), которая позволяет процессу-родителю управлять выполнением процессов-потомков;

·     CAP_SYS_PACCT – управляет способностью конфигурировать учет процессов;

·     CAP_SYS_ADMIN – управляет множеством способностей: управление устройством /dev/random, создание новых устройств, конфигурирование дисковых квот, настройка работы klogd, установка доменного имени компьютера, сброс кэша, монтирование и размонтирование дисков, включение и отключение раздела виртуальной памяти, установка параметров последовательных портов и многое другое;

·     CAP_SYS_BOOT – управляет способностью перезагружать систему;

·     CAP_SYS_NICE – управляет способностью изменять приоритет процессов, не принадлежащих привилегированному пользователю;

·     CAP_SYS_RESOURCE – управляет способностью изменять предельные значения использования ресурсов системы: дисковые квоты, зарезервированное пространство на разделах с файловой системой ext2, максимальное количество консольных программ и так далее;

·     CAP_SYS_TIME – управляет способностью изменять системное время;

·     CAP_SYS_TTY_CONFIG – управляет способностью изменять настройки устройств tty;

·     CAP_HIDDEN – управляет способностью программ становится невидимыми в списке выполняемых процессов. Не влияет на все программы;

·     CAP_INIT_KILL – управляет способностью уничтожать процессы-потомки процесса init;

Для вступления в действие способностей, необходимо сразу после загрузки системы и запуска всех сервисов выполнить команду

lidsadm –I

Эта команда обычно записывается в один из файлов сценариев, выполняемых при загрузке системы.

Помимо способностей система LIDS позволяет задавать правила доступа к дисковым ресурсам. Все управление LIDS осуществляется с помощью программы lidsadm. Эта программа способна работать в двух режимах: режиме настройки правил доступа и режиме ввода команд администрирования. Все установки правил доступа находятся в файле /etc/lids/lids.conf. Для их просмотра необходимо запустить программу lidsadm с параметром –L.

[root@app /]# lidsadm –L

LIST

Subject       ACCESS   TYPE     Object

-------------------------------------------------------------

Any File      READ     /sbin

Any File      READ     /bin

Any File      READ     /boot

Any File      READ     /lib

Any File      READ     /usr

Any File      DENY     /etc/shadow

/bin/login    READ     /etc/shadow

/bin/su       READ     /etc/shadow

Any File      APPEND   /var/log

Any File      WRITE    /var/log/wtmp

Правила доступа состоят из трех элементов: субъекта, объекта и цели. Объектом является любой файл или каталог, на который должны действовать правила доступа и защита LIDS. Если в качестве объекта указан каталог, то все файлы в нем и вложенные подкаталоги с их файлами автоматически становятся объектами.

Субъектом является любая защищенная программа, которой дают доступ к защищаемому объекту. Поэтому, прежде чем использовать программу в качестве субъекта, ее саму надо защитить средствами LIDS, применив к ней правила доступа как к объекту. Если субъект не указан, субъектом является любая программа.

Целью является тип доступа субъекта к объекту. Существуют следующие типы доступа:

·     READ – доступ на чтение;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.