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

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

при|
|                 |password   |определенных действиях.                   |
|pam_wheel        |auth       |Этот модуль позволяет получить права      |
|                 |           |привилегированного пользователя только    |
|                 |           |пользователям определенной группы.        |
|                 |           |Полезные параметры:                       |
|                 |           |group=XXX – задает группу, пользователи   |
|                 |           |которой имеют возможность получить права  |
|                 |           |пользователя root;                        |
|                 |           |deny – этот параметр инвертирует действие |
|                 |           |модуля, другими словами, он запрещает     |
|                 |           |изменение прав на права пользователя root |
|                 |           |для указанной группы;                     |
|                 |           |trust – избавляет пользователей указанной |
|                 |           |группы от необходимости ввода пароля при  |
|                 |           |смене идентификатора на нулевой.          |

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

                               2.4. Брандмауэр

    Локальная безопасность – необходимая  составляющая  общей  безопасности
системы. Она позволяет  устранить  угрозу  локального  взлома.  Однако,  при
работе компьютера в сети возникает  еще  один  тип  угрозы  –  сетевой.  Для
устранения сетевой угрозы, как и для локальной, существуют свои  средства  и
методы. Одним таким средством, наиболее  важным  и  практически  необходимым
при построении сетевой системы безопасности является брандмауэр.
    Брандмауэр, он же сетевой экран, он  же  firewall  (с  англ.  «огненная
стена») - это система или  группа  систем,  реализующих  правила  управления
доступом между двумя сетями. Фактические средства,  с  помощью  которых  это
достигается, весьма различны, но в принципе брандмауэр  можно  рассматривать
как пару механизмов: один для блокирования передачи информации, а  другой  –
для пропуска  информации.  Некоторые  брандмауэры  уделяют  больше  внимания
блокировке передачи информации, другие – ее пропуску. Некоторые  брандмауэры
пропускают только сообщения электронной почты, тем  самым  защищая  сеть  от
любых атак, кроме атак на почтовую службу. Другие  брандмауэры  обеспечивают
менее  строгую  защиту  и  блокируют  лишь  службы,  определенно  угрожающие
безопасности.   Обычно   брандмауэры   конфигурируются   для    защиты    от
неавторизованной интерактивной регистрации из  внешнего  мира.  Именно  это,
больше, чем все остальное, помогает предотвратить  проникновение  взломщиков
в компьютеры внутренней сети. Более развитые брандмауэры блокируют  передачу
информации  извне  в  защищаемую  сеть,   разрешая   при   этом   внутренним
пользователям свободно взаимодействовать с внешним миром.
    Схема сетевого запроса на сервер с установленным брандмауэром  показана
на рисунке 2.4.1.

   Рис. 2.4.1. Пошаговая схема выполнения сетевого запроса с установлением
                            соединения к ОС Linux


Ядро ОС Linux версии 2.4 и более поздних имеет встроенный  межсетевой  экран
netfilter, который располагает следующими возможностями:
 .  позволяет  осуществлять  фильтрацию  входящих,  исходящих  и  транзитных
   пакетов,  основываясь  на  содержании  заголовка  пакета,  типе   пакета,
   определяющего его  состояние  в  соединении  (первый  пакет  установления
   соединения, пакет синхронизации,  пакет  завершения  сеанса),  IP  адресе
   компьютера-отправителя и компьютера-получателя, MAC адресе отправителя  и
   получателя и так далее.
 . позволяет осуществлять трансляцию сетевых адресов  NAT  (Network  Address
   Translation) и подмену портов NPT (Network  Port  Translation).  Действие
   NAT заключается в подмене IP адреса компьютера-отправителя или компьютера-
   получателя  на  указанный.  В   большинстве   случаев   эта   возможность
   используется для  организации  обмена  информацией  между  двумя  сетями,
   имеющими разные диапазоны IP адресов. Действие NPT аналогично NAT  с  тем
   различием, что в последнем производится подмена порта  приложения  вместо
   IP адреса.
 . позволяет менять специальные поля заголовка пакета, такие как  TOS  (Type
   Of  Service),  TTL  (Time  To  Live)  и  так  далее,  что   предоставляет
   расширенные возможности для управления процессом маршрутизации.
    Вся логическая структура экрана netfilter строится на понятиях цепочек,
таблиц и правил доступа.
    Цепочка – определенный набор  правил  управления  доступом.  Попадая  в
цепочку, пакет проходит все ее правила, начиная  с  самого  первого.  Каждое
правило  имеет  критерий  и  действие.  Если  пакет  попадает  под  критерий
правила,  то  с  пакетом  производится  действие,  определенное  для   этого
правила.
    Таблица  –  это  набор  цепочек.  Таблицы  делятся  по  функциональному
назначению и определяют действия, которые  разрешено  выполнять  в  правилах
цепочек этих таблиц.
    Netfilter содержит только три таблицы:
    mangle – эта таблица используется для внесения  изменений  в  заголовки
пакетов. Примером может служить изменение поля TTL, TOS  или  MARK.  Таблица
имеет пять  цепочек:  PREROUTING,  POSTROUTING,  INPUT,  OUTPUT  и  FORWARD.
Цепочка  PREROUTING  используется  для  внесения  изменений   на   входе   в
брандмауэр, перед принятием решения  о  маршрутизации.  Цепочка  POSTROUTING
используется для внесения изменений  на  выходе  из  брандмауэра  уже  после
принятия решения о маршрутизации. Цепочка INPUT  используется  для  внесения
изменений в пакеты перед тем, как они будут переданы  локальному  приложению
внутри брандмауэра. Цепочка OUTPUT используется  для  внесения  изменений  в
пакеты, поступающие от приложений внутри брандмауэра.  И,  наконец,  цепочка
FORWARD используется  для  внесения  изменений  в  транзитные  пакеты  после
первого принятия решения  о  маршрутизации,  но  перед  последним  принятием
решения о маршрутизации. Использование  таблицы  для  других  целей,  нежели
изменения заголовка пакета, является недопустимым.
    nat – эта таблица  используется  для  преобразования  сетевых  адресов,
именуемого также NAT, и подмены  портов  NPT.  Через  эту  таблицу  проходит
только первый  пакет  из  всего  потока  данных  соединения.  Преобразование
адресов автоматически применяется ко всем последующим пакетам.  Эта  таблица
содержит три заранее определенные цепочки. Цепочка  PREROUTING  используется
для внесения изменений в  пакеты  на  входе  в  брандмауэр.  Цепочка  OUTPUT
используется для преобразования адресов в  пакетах,  созданных  приложениями
внутри брандмауэра, перед принятием решения  о  маршрутизации.  И  последняя
третья цепочка в  этой  таблице  –  POSTROUTING,  которая  используется  для
преобразования пакетов  перед  отправкой  их  в  сеть.  Эта  таблица  должна
использоваться только для преобразования адресов и портов в пакете.
    filter –  эта  таблица  используется  главным  образом  для  фильтрации
пакетов.  Таблица  имеет  три  встроенных   цепочки.   Первая   –   FORWARD,
используемая для фильтрации пакетов, не  адресованных  серверу,  на  котором
установлен брандмауэр, то есть идущих транзитом через  него.  Цепочку  INPUT
проходят пакеты, которые  предназначены  локальным  приложениям  сервера.  И
цепочка   OUTPUT   используется   для    фильтрации    исходящих    пакетов,
сгенерированных приложениями на сервере с брандмауэром.
    Структурная схема брандмауэра netfilter показана на рисунке 2.4.2.

               Рис. 2.4.2. Структурная организация брандмауэра


    Для того,  чтобы  брандмауэр  выполнял  те  функции,  которые  на  него
возлагаются, для комплексной сетевой защиты необходимо,  чтобы  все  пакеты,
приходящие по сети и уходящие в сеть, проходили  через  него.  Если  же  это
правило  не  соблюдается,  или  соблюдается  частично,  то   все   действия,
направленные на создание безопасного сервера с  использованием  брандмауэра,
будут бесполезны. Если существует хоть малейшая вероятность, что  брандмауэр
можно  обойти,  эта  возможность   обязательно   рано   или   поздно   будет
использована  взломщиками.  В  Linux  брандмауэр  является  частью  ядра,  а
поскольку все операции при работе с сетью контролирует ядро, гарантию  того,
что все  сетевые  пакеты  пройдут  через  него,  можно  считать  практически
стопроцентной.
    Следуя рисунку 2.4.2, рассмотрим, какой путь  совершает  пакет,  прежде
чем достичь места назначения. Попадая  на  сервер,  пакет  сначала  проходит
цепочки PREROUTING таблиц mangle и nat. Затем, в зависимости от  того,  кому
адресован пакет,  его  направление  может  меняться.  Если  пакет  адресован
локальному процессу сервера,  после  маршрутизации  он  попадает  в  цепочки
INPUT таблиц mangle и filter. Если ему удается успешно пройти  эти  цепочки,
пакет  достигает  локального  процесса.  Ответ  локального  процесса   перед
отправкой проходит сначала цепочку OUTPUT всех трех таблиц,  и,  если  пакет
не был  отфильтрован,  он  попадает  в  заключительную  цепочку  POSTROUTING
таблиц mangle и nat. После этого пакет покидает сервер.
    Если  же  пакет  адресован  другому  компьютеру,   то   есть   является
транзитным, то после маршрутизации он  попадает  в  цепочку  FORWARD  таблиц
mangle и filter,  в  которой  осуществляются  все  необходимые  действия  по
управлению  доступом  для  всех  транзитных  пакетов.  Да
Пред.678910След.
скачать работу

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

 

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

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


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