Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 634 / 33 | Оценка: 4.83 / 5.00 | Длительность: 42:11:00
Лекция 4:

Компоненты и уровни безопасности

Аннотация: Компания Metagroup определяет безопасную архитектуру как "упорядоченную и комплексную систему компонентов безопасности". Что же именно входит в состав упорядоченной системы? Поскольку единственного ответа на этот вопрос не существует, в этой лекции мы представим некоторые инструкции и рекомендации. Наши образцы стратегий и инструкций основаны на передовом опыте компании IBM и нашем опыте работы с заказчиками. Внимание в этой лекции сфокусировано на технических методах, используемых для поддержания описанных нами в предыдущей лекции основных требований к безопасности инфраструктуры. В первой части лекции мы опишем различные типы компонентов инфраструктуры и их функции по обеспечению безопасности. (Возможно, вы уже знакомы с компонентами безопасности и для вас это будет хорошо организованным обзором.) Далее обсудим проект инфраструктуры с точки зрения размещения компонентов и потоков данных. Мы опишем безопасную модель архитектуры для обеспечения безопасности путем использования множества сетевых зон со своими границами для потоков данных, политиками и элементами управления. В заключение мы опишем всестороннюю ("сверху донизу") последовательность технологий и методов, обеспечивающих высокую степень безопасности вычислительной среды

4.1 Компоненты инфраструктуры

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

  • брандмауэры;
  • маршрутизаторы, коммутаторы и концентраторы;
  • прокси-серверы;
  • системы обнаружения вторжения;
  • системы управления доступом предприятия;
  • серверы приложений.

Некоторые из компонентов выполняют только функции поддержания границ сети, другие обеспечивают различные службы внутри сети. Некоторые компоненты, такие, как прокси-серверы прикладного уровня, могут выполнять функции как элементов управления границами, так и серверов приложений сети.

4.1.1 Обзор брандмауэров

Приведем определение из четвертого издания словаря "The American Heritage Dictionary of the English Language":

Брандмауэр (firewall)
  1. Огнестойкая стена, используемая как барьер для предотвращения распространения огня.
  2. Компьютерные науки. Любая схема из числа схем безопасности, которые предотвращают получение доступа в компьютерную сеть неуполномоченными пользователями либо осуществляют мониторинг передачи информации в сеть и из сети.

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

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

  • разрешает поток трафика;
  • блокирует поток трафика.

Существует несколько различных функциональных типов брандмауэров, которые мы рассмотрим в этом разделе:

  • пакетные фильтры;
  • пакетные фильтры с контролем состояния;
  • виртуальные ЛВС (VLAN);
  • прокси сеансового уровня;
  • прокси прикладного уровня.
Пакетные фильтры

Пакетные фильтры перехватывают IP-пакеты в процессе транзита и проверяют их на соответствие набору правил фильтрации. Это позволяет должным образом обеспечить функционирование низкоуровневого механизма первичной защиты. Пакетная фильтрация часто выполняется маршрутизатором, анализирующим направляемые им пакеты (защитный маршрутизатор) лучше, чем специально предназначенный для этого брандмауэр. Пакетные фильтры либо позволяют пакету пройти к получателю, либо блокируют его, основываясь на таких критериях, как:

  • IP-адреса источника и получателя;
  • происхождение пакета;
  • номера портов клиента и сервера;
  • протокол сеансового уровня, передающий пакет (UDP, TCP, ICMP и т. д.).

Рис. 4.1 отображает простой пакетный фильтр, который сконфигурирован на блокировку любого трафика на TCP-порт 80 хоста в доверенной сети.

Простой маршрутизатор пакетной фильтрации

увеличить изображение
Рис. 4.1. Простой маршрутизатор пакетной фильтрации

Обратите внимание на то, что маршрутизаторы, способные осуществлять фильтрацию на основе типа протокола сеансового уровня IP и порта, могут эффективно использоваться для ограничения типов трафика, входящего и исходящего из сети. Хорошим примером протокола, который скорее нуждается в фильтрации по типу запроса, чем по номеру порта, является протокол ICMP, так как он не применяет определенный IP-порт.

Устройства пакетной фильтрации играют важную роль в проектировании сети, несмотря на внедрение устройств, которые способны осуществлять гораздо более сложный контроль и фильтрацию трафика. Главным преимуществом пакетного фильтра как одной из форм брандмауэра является несовершенство исполнения. Так как они не выполняют всесторонний анализ пакета, в большинстве случаев они проще, дешевле и быстрее других типов брандмауэров. В некоторых случаях использование брандмауэров в виде пакетных фильтров (обычно это маршрутизатор) перед брандмауэрами более высокого уровня может улучшить общую производительность за счет уменьшения количества пакетов, подвергающихся анализу более сложными фильтрами-брандмауэрами.

Пакетные фильтры с контролем состояния

Некоторые фильтры могут фильтровать пакеты на основе активности или состояния соединения; эта способность известна как "контроль состояния". Таким образом, в дополнение к рассмотренным ранее основным функциям пакетного фильтрования фильтры состояния применяют элементы управления доступом, основанные на специально ожидаемых и встречающихся в заданном протоколе событиях.

Каждый раз с установлением TCP-соединения для осуществления входящих или исходящих соединений с транзитом через брандмауэр информация о соединении регистрируется в таблице потоков сеанса с учетом контроля состояния. Таблица содержит адреса отправителя и получателя, номера портов, упорядоченную информацию TCP и дополнительные флаги для каждого TCP-соединения, связанные с конкретным соединением. Эта информация создает в комплекте брандмауэра объект соединения. После этого входящие и исходящие пакеты сравниваются с потоками сеанса в таблице соединений и получают разрешение на прохождение через брандмауэр только в том случае, если для подтверждения прохождения в таблице существует соответствующее соединение. Такой объект соединения создается на временной основе до завершения соединения.

Заметьте, что пакетные фильтры с контролем состояния только проверяют пакеты преимущественно на уровне 4 (транспортный уровень), и проверяют только пакеты в начале установления соединения. Если список управления доступом (ACL) маршрутизатора разрешает соединение, в "таблице состояний" маршрутизатора создается запись и далее с этой точки последующие в процессе передачи информации пакеты передаются через маршрутизатор без проверки. Из-за ограничения количества подробно проверяемых пакетов влияние на эксплуатационные показатели пропускной способности маршрутизатора может оставаться относительно низким.

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

Прокси сеансового уровня

Хотя прокси прикладного уровня рассматриваются как более надежные, они требуют осуществления более высокого уровня технической поддержки и конфигурирования. Чтобы помочь решить эту проблему, были разработаны прокси сеансового уровня, также упоминаемые как прокси уровня линии связи (circuit-level proxies). Прокси сеансового уровня во многом подобны прокси прикладного уровня. Шлюз сеансового уровня устанавливает прокси-соединение между внутренним пользователем и внешним хостом. Однако в отличие от прокси прикладного уровня прокси сеансового уровня управляют потоком данных на уровне сеанса. Работа на сеансовом уровне означает, что прокси фактически устанавливает виртуальную линию связи между клиентом и хостом на посеансовой основе. Дискуссии о преимуществах и недостатках каждого из типов можно найти во многих источниках. Например, обратитесь к следующему адресу:

http://www.aventail.com

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

SOCKS

SOCKS является общим прокси-протоколом для приложений на основе TCP/IP, который описан в IETF-стандарте (RFC 1928). Протокол SOCKS предоставляет гибкую структуру для создания безопасного процесса передачи информации благодаря поддержке совокупности других технологий обеспечения безопасности.

SOCKSv5 (версия 5.0) представляет собой принятый стандарт организации IETF (Internet Engineering Task Force) (RFC 1928) и является общим прокси-протоколом для сетевых приложений на основе TCP/IP. Протокол SOCKS предоставляет гибкую структуру для создания безопасного процесса передачи информации благодаря свободной интеграции других технологий обеспечения безопасности.

SOCKS состоит из двух компонентов – сервера и клиента. Прокси-сервер SOCKS выполнен на прикладном уровне, в то время как клиент SOCKS выполнен между транспортным и прикладным уровнями OSI. Это прокси сеансового уровня. Основной функцией SOCKS является разрешение хостам с одной стороны прокси-сервера SOCKS доступа к хостам с другой стороны сервера SOCKS без требования необходимости прямой TCP/IP-связанности. Взаимосвязь прокси-сервера SOCKS со стеком модели OSI показана на рис. 4.2.

Связь SOCKS-клиента с сервером приложений через SOCKS-прокси

Рис. 4.2. Связь SOCKS-клиента с сервером приложений через SOCKS-прокси

Когда клиенту приложения необходимо соединиться с сервером приложений, клиент фактически соединяется с прокси-сервером SOCKS. Затем прокси-сервер соединяется с сервером приложений от лица клиента. Выступая в качестве прокси, он ретранслирует данные между клиентом и сервером приложений. С точки зрения сервера приложений прокси-сервер является клиентом, с которым он взаимодействует.

Существует две версии SOCKS: v4 и v5. Обе версии выполняют запросы на соединение от лица клиента, устанавливают прокси-каналы и ретранслируют данные приложения. Основной разницей между версиями является то, что в SOCKSv5 перед выполнением запроса на соединение с сервером приложений добавлена функция аутентификации клиента. Для способствования развитию прокси-сервиса, который независим от клиента и сервера приложения, инструментарий SOCKS-прокси свободно доступен. Такой инструментарий состоит из SOCKS-клиента и SOCKS-сервера. Обратите внимание на то, что система клиента должна быть "SOCKSированной", т. е. SOCKS-клиент должен быть соединен с транспортным стеком TCP/IP клиента для перенаправления определенных запросов SOCKS-серверу. Заметьте, что использовать SOCKS-клиент могут разнообразные приложения, так как он независим от приложения, а это означает, что отдельный прокси может поддерживать множество приложений на базе TCP/IP.