Межсетевое экранирование
Покупка
Издательство:
ИНТУИТ
Автор:
Лапонина Ольга Робертовна
Год издания: 2016
Кол-во страниц: 298
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 5-94774-603-4
Артикул: 829171.01.99
В курсе рассматриваются вопросы обеспечения безопасности при подключении корпоративной сети к интернету. Основное внимание уделяется классификации межсетевых экранов (firewall’ов), систем обнаружения проникновений, а также обеспечению безопасности сервисов DNS и web серверов.
В курсе основное внимание уделено проблемам безопасности, возникающим при подключении корпоративной сети к интернету. При этом основное внимание следует уделять выбору типов межсетевого экрана, систем обнаружения вторжений, топологии демилитаризованной зоны, а также защите основных серверов, доступных из интернета, таких, как web сервер и DNS сервер. Обеспечению безопасного функционирования сервисов DNS следует уделять большое внимание, чтобы нарушитель не мог получить информацию о ресурсах корпоративной сети, которая помогла бы ему проникнуть в локальную сеть. Самым распространенным, с одной стороны, и самым уязвимым, с другой стороны, на сегодняшний день является web сервер. Поэтому обеспечению его безопасности приходится уделять особое внимание.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 10.03.01: Информационная безопасность
- ВО - Магистратура
- 09.04.01: Информатика и вычислительная техника
- 09.04.02: Информационные системы и технологии
- 10.04.01: Информационная безопасность
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Межсетевое экранирование 2-е издание, исправленное Лапонина О.Р. Национальный Открытый Университет “ИНТУИТ” 2016 2
УДК 004.056.5(07) ББК 15 Л24 Межсетевое экранирование / Лапонина О.Р. - M.: Национальный Открытый Университет “ИНТУИТ”, 2016 (Основы информационных технологий) ISBN 5-94774-603-4 В курсе рассматриваются вопросы обеспечения безопасности при подключении корпоративной сети к интернету. Основное внимание уделяется классификации межсетевых экранов (firewall’ов), систем обнаружения проникновений, а также обеспечению безопасности сервисов DNS и web серверов. В курсе основное внимание уделено проблемам безопасности, возникающим при подключении корпоративной сети к интернету. При этом основное внимание следует уделять выбору типов межсетевого экрана, систем обнаружения вторжений, топологии демилитаризованной зоны, а также защите основных серверов, доступных из интернета, таких, как web сервер и DNS сервер. Обеспечению безопасного функционирования сервисов DNS следует уделять большое внимание, чтобы нарушитель не мог получить информацию о ресурсах корпоративной сети, которая помогла бы ему проникнуть в локальную сеть. Самым распространенным, с одной стороны, и самым уязвимым, с другой стороны, на сегодняшний день является web сервер. Поэтому обеспечению его безопасности приходится уделять особое внимание. (c) ООО “ИНТУИТ.РУ”, 2006-2016 (c) Лапонина О.Р., 2006-2016 3
Классификация firewall’ов и определение политики firewall’а Исследуются существующие технологии firewall’ов: пакетные фильтры, stateful inspection firewall’ы, прокси прикладного уровня. Рассматривается также сервис NAT. Приводятся примеры использования firewall’ов различного типа: выделенные проксисерверы, host-based firewall’ы, персональные firewall’ы. Введение Firewall’ы защищают компьютеры и сети от попыток несанкционированного доступа с использованием уязвимых мест, существующих в семействе протоколов ТСР/IP. Дополнительно они помогают решать проблемы безопасности, связанные с использованием уязвимых систем и с наличием большого числа компьютеров в локальной сети. Существует несколько типов firewall’ов, начиная от пакетных фильтров, встроенных в пограничные роутеры, которые могут обеспечивать управление доступом для IP-пакетов, до мощных firewall’ов, которые могут закрывать уязвимости в большом количестве уровней семейства протоколов ТСР/IP, и еще более мощных firewall’ов, которые могут фильтровать трафик на основании всего содержимого пакета. Технологические возможности firewall’ов с начала 1990-х годов существенно улучшились. Сперва были разработаны простые пакетные фильтры, которые постепенно развивались в более сложные firewall’ы, способные анализировать информацию на нескольких сетевых уровнях. Сегодня firewall’ы являются стандартным элементом любой архитектуры безопасности сети. Современные firewall’ы могут работать совместно с такими инструментальными средствами, как системы обнаружения проникновений и сканеры содержимого e-mail или web с целью нахождения вирусов или опасного прикладного кода. Но в отдельности firewall не обеспечивает полной защиты от всех проблем, порожденных Интернетом. Как результат, firewall’ы являются только одной частью архитектуры информационной безопасности. Обычно они рассматриваются как первая линия обороны, однако их лучше воспринимать как последнюю линию обороны в организации; организация в первую очередь должна делать безопасными свои внутренние системы. Для внутренних серверов, персональных компьютеров и других систем должны своевременно выполняться все обновления как самих систем, так и других систем обеспечения безопасности, например, антивирусного ПО. Займемся основными понятиями, связанными с firewall’ами и политикой firewall’а, на основании которой реализуется обеспечение безопасности сети. Рассмотрим понятия, относящиеся к выбору, развертыванию и управлению firewall’ом и его функциональному окружению. Рассмотрим также возможные подходы к созданию различных топологий сети с использованием firewall’ов. Данное описание в основном предназначено для технических специалистов, а также для управляющего персонала, которому могут потребоваться технические знания для принятия решений. 4
Сначала сделаем обзор стека протоколов OSI и покажем, на каком уровне функционируют различные типы firewall’ов, такие как пакетные фильтры, stateful inspection firewall’ы и прикладные прокси. Затем опишем различные окружения firewall’а, например, комбинации конкретных компонентов обеспечивающие то или иное решение. Приведем примеры расположения firewall’ов и их взаимодействий с другими инструментальными средствами безопасности. Также опишем прочие функции современных firewall’ов, такие как использование их в качестве конечных точек VPN, трансляция IP-адресов, фильтрация содержимого web или e-mail. Далее рассмотрим принципы, используемые при администрировании firewall’ов и конфигурировании политики firewall’а. Опишем политику firewall’а, которой он должен соответствовать в контексте общей политики безопасности, а также сформулируем минимальную политику, которая может соответствовать многим окружениям. Наконец, опишем предложения по реализации и поддержке администрирования firewall’а. Классификация firewall’ов Firewall’ы являются устройствами или системами, которые управляют потоком сетевого трафика между сетями с различными требованиями к безопасности. В большинстве современных приложений firewall’ы и их окружения обсуждаются в контексте соединений в Интернете и, следовательно, использования стека протоколов ТСР/IP. Однако firewall’ы применяются и в сетевых окружениях, которые не требуют обязательного подключения к Интернету. Например, многие корпоративные сети предприятия ставят firewall’ы для ограничения соединений из и во внутренние сети, обрабатывающие информацию разного уровня чувствительности, такую как бухгалтерская информация или информация о заказчиках. Ставя firewall’ы для контроля соединений с этими областями, организация может предотвратить неавторизованный доступ к соответствующим системам и ресурсам внутри чувствительных областей. Тем самым, использование firewall’а обеспечивает дополнительный уровень безопасности, который иначе не может быть достигнут. В настоящее время существует несколько типов firewall’ов. Одним из способов сравнения их возможностей является перечисление уровней модели OSI, которые данный тип firewall’а может анализировать. Модель OSI является абстракцией сетевого взаимодействия между компьютерными системами и сетевыми устройствами. Рассмотрим только уровни модели OSI, относящиеся к firewall’ам. Стек протоколов модели OSI определяется следующим образом: Таблица 1.1. Стек протоколов модели OSI Уровень 7 Application Уровень 6 Presentation 5
Уровень 5 Session Уровень 4 Transport Уровень 3 Network Уровень 2 Data Link Уровень 1 Physical Уровень 1 представляет собой реальную аппаратуру физического соединения и среду, такую как Ethernet. Уровень 2 — уровень, на котором сетевой трафик передается по локальной сети (LAN). Он также является первым уровнем, обладающим возможностью адресации, с помощью которой можно идентифицировать отдельную машину. Адреса назначаются на сетевые интерфейсы и называются МАС (Media Access Control) адресами. Ethernet-адрес, принадлежащий Ethernet-карте, является примером МАС-адреса уровня 2. Уровень 3 является уровнем, отвечающим за доставку сетевого трафика по WAN. В Интернете адреса уровня 3 называются IP-адресами; адреса обычно являются уникальными, но при определенных обстоятельствах, например, при трансляции сетевых адресов (NAT) возможны ситуации, когда различные физические системы имеют один и тот же IP-адрес уровня 3. Уровень 4 идентифицирует конкретное сетевое приложение и коммуникационную сессию в дополнение к сетевым адресам; система может иметь большое число сессий уровня 4 с другими ОС. Терминология, связанная с семейством протоколов ТСР/IP, включает понятие портов, которые могут рассматриваться как конечные точки сессий: номер порта источника определяет коммуникационную сессию на исходной системе; номер порта назначения определяет коммуникационную сессию системы назначения. Более высокие уровни (5, 6 и 7) представляют приложения и системы конечного пользователя. Стек протоколов TCP/IP соотносится с уровнями модели OSI следующим образом: Таблица 1.2. Взаимосвязь уровней стека протоколов TCP/IP и OSI Уровень 7 Application Почтовые клиенты, web-браузеры Уровень 4 Transport ТСР-сессии Уровень 3 Network IP-адресация Уровень 2 Data Link Ethernet-адресация Современные firewall’ы функционируют на любом из перечисленных уровней. Первоначально firewall’ы анализировали меньшее число уровней; теперь более мощные из них охватывают большее число уровней. С точки зрения функциональности, firewall, имеющий возможность анализировать большее число уровней, является более совершенным и эффективным. За счет охвата дополнительного уровня также увеличивается возможность более тонкой настройки конфигурации firewall’а. Возможность анализировать более высокие уровни позволяет firewall’у предоставлять сервисы, которые ориентированы на пользователя, например, аутентификация пользователя. Firewall, который функционирует на уровнях 2, 3 и 4, не имеет дело с подобной аутентификацией. 6
Независимо от архитектуры firewall может иметь дополнительные сервисы. Эти сервисы включают трансляцию сетевых адресов (NAT), поддержку протокола динамической конфигурации хоста (DHCP) и функции шифрования, тем самым являясь конечной точкой VPN-шлюза, и фильтрацию на уровне содержимого приложения. Многие современные firewall’ы могут функционировать как VPN-шлюзы. Таким образом, организация может посылать незашифрованный сетевой трафик от системы, расположенной позади firewall’а, к удаленной системе, расположенной позади корпоративного VPN-шлюза; firewall зашифрует трафик и перенаправит его на удаленный VPN-шлюз, который расшифрует его и передаст целевой системе. Большинство наиболее популярных firewall’ов сегодня совмещают эти функциональности. Многие firewall’ы также включают различные технологии фильтрации активного содержимого. Данный механизм отличается от обычной функции firewall’а тем, что firewall теперь также имеет возможность фильтровать реальные прикладные данные на уровне 7, которые проходят через него. Например, данный механизм может быть использован для сканирования на предмет наличия вирусов в файлах, присоединенных к почтовому сообщению. Он также может применяться для фильтрации наиболее опасных технологий активного содержимого в web, таких как Java, JavaScript и ActiveX. Или он может быть использован для фильтрации содержимого или ключевых слов с целью ограничения доступа к неподходящим сайтам или доменам. Тем не менее компонент фильтрации, встроенный в firewall, не должен рассматриваться как единственно возможный механизм фильтрации содержимого; возможно применение аналогичных фильтров при использовании сжатия, шифрования или других технологий. Установление ТСР-соединения ТСР является надежным протоколом в сетях, основанных на коммутации пакетов. Так как и пакетные фильтры, и stateful inspection firewall’ы анализируют параметры ТСРпротокола, рассмотрим подробно этот протокол. Стек протоколов TCP/IP выглядит следующим образом: Таблица 1.3. Стек протоколов TCP/IP Прикладной уровень ТСР IP Коммуникационная сеть Протокол IP обеспечивает способ адресации источника и получателя. IP также имеет дело с фрагментацией и реассемблированием пакетов, которые передаются на транспортный уровень. Протокол ТСР обеспечивает надежность и упорядоченность для получателя потока 7
данных, посылаемого по ТСР-соединению. Надежность обеспечивается с помощью того, что каждый пакет содержит свой последовательный номер и номер полученного пакета. С каждым пакетом данных связывается последовательный номер. Этот номер указывается для первого пакета данных в передаваемом сегменте. Сегменты также содержат номер подтверждения, который является последовательным номером следующего ожидаемого октета данных, передаваемых в обратном направлении. Когда один из концов ТСР-соединения передает сегмент, содержащий данные, он помещает его копию в очередь повторной передачи и запускает таймер; когда подтверждение о получении этих данных получено, сегмент удаляется из очереди. Если подтверждение не получено по истечении таймера, сегмент передается повторно. Для идентификации начальной и конечной точек ТСР-соединения вводится понятие номера порта. Номера портов выбираются независимо для каждого соединения ТСР, при этом они могут не быть уникальными. Для обеспечения уникальной идентификации внутри каждого соединения ТСР, выполняется конкатенация IP-адреса и номера порта. Эта конкатенация определяет сокет. Соединение полностью определяется парой сокетов на своих концах. Локальный сокет может участвовать во многих соединениях с различными удаленными сокетами. Соединение используется для пересылки данных в обоих направлениях. ТСР может использовать любые номера портов. Тем не менее определены некоторые базовые принципы назначения номеров портов. Существуют “хорошо известные” номера портов, которые ТСР связывает только с “соответствующими” процессами. Каждый конец ТСР-соединения является либо клиентом, либо сервером. Соединение инициируется клиентом. Сервер ждет установления соединения от клиента. Поэтому ТСР-соединение может быть открыто либо в пассивном режиме — сервером, либо в активном — клиентом. Запрос пассивного открытия означает, что процесс сервера ждет запросов на входящие соединения, а не пытается сам инициировать соединение. Часто процесс, запрашивающий пассивное открытие, будет принимать запросы соединения от любого вызывающего. Процесс, который хочет предоставлять сервис другим неизвестным процессам, создает запрос пассивного открытия. При этом будет создаваться соединение с любым процессом, который запросил соединение с данным локальным сокетом. Процедура установления соединений использует флаг управления синхронизацией ( SYN ) и включает обмен тремя сообщениями. Соединение инициируется при получении сегмента, содержащего установленный флаг SYN. При инициализации соединение устанавливается между локальным и удаленным сокетами. Оно становится “установленным”, когда последовательные номера пакетов синхронизованы в обоих направлениях. 8
Очистка соединения включает обмен сегментами, содержащими управляющий флаг FIN. ТСР-сегменты посылаются в виде датаграмм. Заголовок IP содержит несколько полей, включая адреса хостов источника и получателя. ТСР-заголовок следует за IPзаголовком и содержит информацию, специфичную для ТСР. Таблица 1.4. Формат заголовка ТСР Порт источника Порт получателя Sequence Number Acknowledgement Number Data Offset Reserved URG ACK PSH RST SYN FIN Window Checksum Urgent Pointer Options Padding Данные Порт источника – 16 бит. Порт получателя – 16 бит. Sequence Number – 32 бита. Последовательный номер первого октета данных в данном сегменте. Исключением является случай, когда присутствует флаг SYN. В этом случае последовательный номер есть начальный последовательный номер (Initial Sequence Number — ISN), и номер первого октета данных равен ISN+1. Acknowledgement Number – 32 бита. Если установлен управляющий бит ACK, то данное поле содержит значение следующего последовательного номера, который ждет получатель. Это значение посылается всегда, если соединение установлено. Data Offset – 4 бита. Число 32-битных слов в ТСР-заголовке. Оно определяет положение начала данных. Длина ТСР-заголовка всегда кратна 32. Управляющие биты: 6 бит. URG — указывает, что сегмент содержит экстренные данные и поле Urgent Pointer заголовка определяет их положение в сегменте. ACK — указывает, что поле номера подтверждения содержит номер последнего полученного сегмента. PSH — указывает, что данные из буфера могут быть переданы немедленно. RST — указывает на необходимость сброса соединения. SYN — указывает, что выполняется синхронизация последовательных номеров. FIN — указывает, что от отправителя больше не будут передаваться данные. 9
Window — 16 бит. Количество октетов данных, начиная с номера, указанного в подтверждении, которое отправитель данного сегмента может получить. Используется для управления интенсивностью передаваемого потока данных. Checksum – 16 бит. Контрольная сумма всех слов в заголовке и данных. Urgent Pointer – 16 бит. Данное поле содержит положительное смещение экстренных данных относительно последовательного номера в данном сегменте. Options – переменной длины. Опции могут быть указаны в конце ТСР-заголовка. Определены два варианта формата опций: Один октет для типа опции. Октет типа опции, октет длины опции и октеты с конкретными данными опции. Padding – переменной длины. Данное добавление ТСР-заголовка используется для того, чтобы гарантировать, что ТСР-заголовок кончается, и данные начинаются на 32битной границе. Установление ТСР-соединения происходит с использованием так называемого “тройного рукопожатия”. Соединение инициирует клиент, посылая сообщение с установленным битом SYN. Сервер отвечает клиенту сообщением с установленными битами SYN и ACK. Сервер также указывает начальный порядковый номер в поле Sequence Number. Наконец, клиент посылает серверу сообщение с установленным битом ACK, в поле Sequence Number указывает свой начальный номер, в поле Acknowledgement Number указывает полученный от сервера начальный порядковый номер, увеличенный на единицу. В течение своего жизненного цикла соединение проходит через несколько состояний. На стороне клиента: CLOSED SYN-SENT ESTABLISHED FIN-WAIT-1 CLOSE-WAIT CLOSING LAST-ACK CLOSED, На стороне сервера: CLOSED 10