На каком уровне сетевой модели osi не работает межсетевой экран

Обновлено: 01.07.2024

Сетевая модель OSI (англ. open systems interconnection basic reference model) - концептуальная модель, которая обобщает и стандартизирует представление средств сетевого взаимодействия в телекоммуникационных и компьютерных системах, независимо от их внутреннего устройства и используемых технологий. Модель OSI была разработана в 1984 году Международной организацией стандартизации (ISO). Основной целью ее создания был поиск решения проблемы несовместимости устройств, использующих различные коммуникационные протоколы, путем перехода на единый, общий для всех систем стек протоколов.

OSI состоит из двух основных частей:

  • абстрактная модель сетевого взаимодействия (семиуровневая модель)
  • набор специализированных протоколов взаимодействия


Концепция семиуровневой модели была описана в работе Чарльза Бахмана. Данная модель подразделяет коммуникационную систему на уровни абстракции (англ. "abstraction layers"). В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень:

  • имеет дело с совершенно определенным аспектом взаимодействия сетевых устройств
  • обслуживает уровень, находящийся непосредственно над ним, и обслуживается уровнем, находящимся под ним


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

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

Прикладной уровень выполняет следующие функции:

  • Позволяет приложениям использовать сетевые службы (например удалённый доступ к файлам)
  • Идентификация пользователей по их паролям, адресам, электронным подписям
  • Предоставление приложениям информации об ошибках
  • Определение достаточности имеющихся ресурсов
  • Управление данными, которыми обмениваются прикладные процессы и синхронизация взаимодействия прикладных процессов

К числу наиболее распространенных протоколов верхних трех уровней относятся:

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

  • Генерация запросов на установление/завершение сеансов взаимодействия прикладных процессов
  • Согласование представления данных между прикладными процессами
  • Конвертация форм представления данных
  • Шифрование данных

Примеры протоколов данного уровня:

  • AFP — Apple Filing Protocol
  • ICA — Independent Computing Architecture
  • LPP — Lightweight Presentation Protocol
  • NCP — NetWare Core Protocol

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

На сеансовом уровне определяется, какой будет передача между двумя прикладными процессами:

  • полудуплексной (процессы будут передавать и принимать данные по очереди)
  • дуплексной (процессы будут передавать данные, и принимать их одновременно)

Примеры протоколов сеансового уровня:

  • ADSP (AppleTalk Data Stream)
  • ASP (AppleTalk Session)
  • RPC (Remote Procedure Call)
  • PAP (Password Authentication Protocol)

Транспортный уровень предназначен для передачи надежной последовательностей данных произвольной длины через коммуникационную сеть от отправителя к получателю. Уровень надежности может варьироваться в зависимости от класса протокола транспортного уровня. Так например UDP гарантирует только целостность данных в рамках одной датаграммы и не исключает возможности потери/дублирования пакета или нарушения порядка получения данных; TCP обеспечивает передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот, склеивая фрагменты в один пакет.

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

  • Управление передачей по сети и обеспечение целостности блоков данных
  • Обнаружение ошибок, частичная их ликвидация
  • Восстановление передачи после отказов и неисправностей
  • Разбиение данных на блоки определенного размера
  • Предоставление приоритетов при передаче блоков (нормальная или срочная)
  • Подтверждение передачи.

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

  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)
  • SCTP (Stream Control Transmission Protocol)

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

Сетевой уровень выполняет функции:

  • Обнаружение и исправление ошибок, возникающих при передаче через коммуникационную сеть
  • Упорядочение последовательностей пакетов
  • Маршрутизация и коммутация
  • Сегментирование и объединение пакетов

Наиболее часто на сетевом уровне используются протоколы:

  • IP/IPv4/IPv6 (Internet Protocol) сетевой протокол стека TCP/IP
  • IPX (Internetwork Packet Exchange, протокол межсетевого обмена)
  • AppleTalk

Канальный уровень предназначен для передачи данных между двумя узлами, находящихся в одной локальной сети. Роль PDU исполняют фреймы (англ. frame). Фреймы канального уровня не пересекают границ локальной сети, что позволяет данному уровню сосредоточиться на локальной доставке (фактически межсетевой доставкой занимаются более высокие уровни).

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

Канальный уровень состоит из двух подуровней: LLC и MAC.

Канальный уровень выполняет функции:

  • LLC Multiplexing: Интерфейс между сетевым уровнем и MAC, чтобы несколько различных протоколов сетевого уровня могли сосуществовать.
  • LLC Flow control: Механизм ограничении скорости передачи данных при медленном приёмнике
  • LLC Error control: Определение (и иногда исправление) ошибок с помощью чексумм
  • MAC Adressing mechanism: Адрессация на основе уникальных MAC-адресов
  • MAC Channel access control mechanism: Предоставляет протокол множественного доступа

Наиболее часто на канальной уровне используются протоколы:

  • PPP (Point-To-Point Protocol, протокол прямого соединения между двумя узлами)
  • SLIP (Serial Line Internet Protocol, предшественник PPP, который всё ещё используется в микроконтроллерах)
  • Ethernet II framing

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

Здесь специфицируются такие низкоуровневые параметры как частота, амплитуда и модуляция.

Физический уровень выполняет функции:

  • Побитовая доставка
  • Физическое кодирование (способ представления данных в виде импульсов)
  • LLC Error control: Определение (и иногда исправление) ошибок с помощью чексумм
  • MAC Adressing mechanism: Адрессация на основе уникальных MAC-адресов
  • MAC Channel access control mechanism: Предоставляет протокол множественного доступа

Наиболее часто на физическом уровне используются протоколы:

  • Ethernet physical layer (семейство стандартов с оптическими или электрическими свойствами соединений между устройствами)
  • USB

Аналогичный пример инкапсуляции данных в UDP

Инкапсуляция (англ. encapsulation) -- метод проектирования протоколов в которой логически независимые функции сети не зависят от реализации нижележащих механизмов с помощью включения этих механизмов в более высокоуровневые объекты.

Физический уровень ответственен за физическую передачу данных. IP предоставляет глобальный способ адресации устройств. TCP добавляет возможность выбора приложения (порт).

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

Простое пособие по сетевой модели OSI для начинающих

Открытая сетевая модель OSI (Open Systems Interconnection model) состоит из семи уровней. Что это за уровни, как устроена модель и какова ее роль при построении сетей — в статье.

Модель OSI является эталонной. Эталонная она потому, что полное название модели выглядит как «Basic Reference Model Open Systems Interconnection model», где Basic Reference Model означает «эталонная модель». Вначале рассмотрим общую информацию, а потом перейдем к частным аспектам.


Принцип устройства сетевой модели

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

На седьмом уровне информация представляется в виде данных, на первом — в виде бит. Процесс, когда информация отправляется и переходит из данных в биты, называется инкапсуляцией. Обратный процесс, когда информация, полученная в битах на первом уровне, переходит в данные на седьмом, называется декапсуляцией. На каждом из семи уровней информация представляется в виде блоков данных протокола — PDU (Protocol Data Unit).

Рассмотрим на примере: пользователь 1 отправляет картинку, которая обрабатывается на седьмом уровне в виде данных, данные должны пройти все уровни до самого нижнего (первого), где будут представлены как биты. Этот процесс называется инкапсуляцией. Компьютер пользователя 2 принимает биты, которые должны снова стать данными. Этот обратный процесс называется декапсуляция. Что происходит с информацией на каждом из семи уровней, как и где биты переходят в данные мы разберем в этой статье.

Первый, физический уровень (physical layer, L1)

Начнем с самого нижнего уровня. Он отвечает за обмен физическими сигналами между физическими устройствами, «железом». Компьютерное железо не понимает, что такое картинка или что на ней изображено, железу картинка понятна только в виде набора нулей и единиц, то есть бит. В данном случае бит является блоком данных протокола, сокращенно PDU (Protocol Data Unit).

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

Устройства физического уровня оперируют битами. Они передаются по проводам (например, через оптоволокно) или без проводов (например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее).

Второй уровень, канальный (data link layer, L2)

Когда два пользователя находятся в одной сети, состоящей только из двух устройств — это идеальный случай. Но что если этих устройств больше?

У канального уровня есть два подуровня — это MAC и LLC. MAC (Media Access Control, контроль доступа к среде) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control, контроль логической связи) занимается проверкой и исправлением данных, управляет их передачей.

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

Третий уровень, сетевой (network layer, L3)

На третьем уровне появляется новое понятие — маршрутизация. Для этой задачи были созданы устройства третьего уровня — маршрутизаторы (их еще называют роутерами). Маршрутизаторы получают MAC-адрес от коммутаторов с предыдущего уровня и занимаются построением маршрута от одного устройства к другому с учетом всех потенциальных неполадок в сети.

На сетевом уровне активно используется протокол ARP (Address Resolution Protocol — протокол определения адреса). С помощью него 64-битные MAC-адреса преобразуются в 32-битные IP-адреса и наоборот, тем самым обеспечивается инкапсуляция и декапсуляция данных.

Четвертый уровень, транспортный (transport layer, L4)

Все семь уровней модели OSI можно условно разделить на две группы:

  • Media layers (уровни среды),
  • Host layers (уровни хоста).

Уровни группы Media Layers (L1, L2, L3) занимаются передачей информации (по кабелю или беспроводной сети), используются сетевыми устройствами, такими как коммутаторы, маршрутизаторы и т.п. Уровни группы Host Layers (L4, L5, L6, L7) используются непосредственно на устройствах, будь то стационарные компьютеры или портативные мобильные устройства.

Четвертый уровень — это посредник между Host Layers и Media Layers, относящийся скорее к первым, чем к последним, его главной задачей является транспортировка пакетов. Естественно, при транспортировке возможны потери, но некоторые типы данных более чувствительны к потерям, чем другие. Например, если в тексте потеряются гласные, то будет сложно понять смысл, а если из видеопотока пропадет пара кадров, то это практически никак не скажется на конечном пользователе. Поэтому, при передаче данных, наиболее чувствительных к потерям на транспортном уровне используется протокол TCP, контролирующий целостность доставленной информации.

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

При передаче по протоколу TCP, данные делятся на сегменты. Сегмент — это часть пакета. Когда приходит пакет данных, который превышает пропускную способность сети, пакет делится на сегменты допустимого размера. Сегментация пакетов также требуется в ненадежных сетях, когда существует большая вероятность того, что большой пакет будет потерян или отправлен не тому адресату. При передаче данных по протоколу UDP, пакеты данных делятся уже на датаграммы. Датаграмма (datagram) — это тоже часть пакета, но ее нельзя путать с сегментом.

Главное отличие датаграмм в автономности. Каждая датаграмма содержит все необходимые заголовки, чтобы дойти до конечного адресата, поэтому они не зависят от сети, могут доставляться разными маршрутами и в разном порядке. Датаграмма и сегмент — это два PDU транспортного уровня модели OSI. При потере датаграмм или сегментов получаются «битые» куски данных, которые не получится корректно обработать.

Первые четыре уровня — специализация сетевых инженеров, но с последними тремя они не так часто сталкиваются, потому что пятым, шестым и седьмым занимаются разработчики.

Пятый уровень, сеансовый (session layer, L5)

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

Службы сеансового уровня зачастую применяются в средах приложений, требующих удаленного вызова процедур, т.е. чтобы запрашивать выполнение действий на удаленных компьютерах или независимых системах на одном устройстве (при наличии нескольких ОС).

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

Шестой уровень, представления данных (presentation layer, L6)

О задачах уровня представления вновь говорит его название. Шестой уровень занимается тем, что представляет данные (которые все еще являются PDU) в понятном человеку и машине виде. Например, когда одно устройство умеет отображать текст только в кодировке ASCII, а другое только в UTF-8, перевод текста из одной кодировки в другую происходит на шестом уровне.

Шестой уровень также занимается представлением картинок (в JPEG, GIF и т.д.), а также видео-аудио (в MPEG, QuickTime). Помимо перечисленного, шестой уровень занимается шифрованием данных, когда при передаче их необходимо защитить.

Седьмой уровень, прикладной (application layer)

Седьмой уровень иногда еще называют уровень приложений, но чтобы не запутаться можно использовать оригинальное название — application layer. Прикладной уровень — это то, с чем взаимодействуют пользователи, своего рода графический интерфейс всей модели OSI, с другими он взаимодействует по минимуму.

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

Критика модели OSI

Семиуровневая модель была принята в качестве стандарта ISO/IEC 7498, действующего по сей день, однако, модель имеет свои недостатки. Среди основных недостатков говорят о неподходящем времени, плохой технологии, поздней имплементации, неудачной политике.

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

Вторым недостатком называют плохую технологию. Как основной довод в пользу того, что OSI — это плохая технология, приводят распространенность стека TCP/IP. Протоколы OSI часто дублируют другу друга, функции распределены по уровням неравнозначно, а одни и те же задачи могут быть решены на разных уровнях.

Разделение на семь уровней было скорее политическим, чем техническим. При построении сетей в реальности редко используют уровни 5 и 6, а часто можно обойтись только первыми четырьмя. Даже изначальное описание архитектуры в распечатанном виде имеет толщину в один метр.

Кроме того, в отличие от TCP/IP, OSI никогда не ассоциировалась с UNIX. Добиться широкого распространения OSI не получилось потому, что она проектировалась как закрытая модель, продвигаемая Европейскими телекоммуникационными компаниями и правительством США. Стек протоколов TCP/IP изначально был открыт для всех, что позволило ему набрать популярность среди сторонников открытого программного кода.

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

Вывод, роль модели OSI при построении сетей

В статье мы рассмотрели принципы построения сетевой модели OSI. На каждом из семи уровней модели выполняется своя задача. В действительности архитектура OSI сложнее, чем мы описали. Существуют и другие уровни, например, сервисный, который встречается в интеллектуальных или сотовых сетях, или восьмой — так называют самого пользователя.

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

Модель OSI служит инструментом при диагностике сетей. Если в сети что-то не работает, то гораздо проще определить уровень, на котором произошла неполадка, чем пытаться перестроить всю сеть заново.

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

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

Чаще всего комплексный экран функционирует на сетевом, сеансовом и прикладном уровнях эталонной модели. Соответственно различают такие неделимые МЭ (рис. 9.5), как:
• экранирующий маршрутизатор;
• шлюз сеансового уровня (экранирующий транспорт);
• шлюз прикладного уровня (экранирующий шлюз).

9.5

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

Рассмотрим более детально особенности их функционирования.

Прикладной шлюз

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

9.6

Шлюз прикладного уровня обладает следующими достоинствами:

• обеспечивает высокий уровень защиты локальной сети благодаря возможности выполнения большинства функций посредничества;

• защита на уровне приложений позволяет осуществлять большое число дополнительных проверок, уменьшая тем самым вероятность проведения успешных атак, возможных из-за недостатков программного обеспечения;

• при нарушении его работоспособности блокируется сквозное прохождение пакетов между разделяемыми сетями, в результате чего безопасность защищаемой сети не снижается из-за возникновения отказов.

К недостаткам прикладного шлюза относятся:

• высокие требования к производительности и ресурсоемко-сти компьютерной платформы;

• отсутствие «прозрачности» для пользователей и снижение пропускной способности при реализации межсетевых взаимодействий.

Варианты исполнения МЭ

Существует два основных варианта исполнения МЭ — программный и программно-аппаратный. В свою очередь программно-аппаратный вариант имеет две разновидности — в виде специализированного устройства и в виде модуля в маршрутизаторе или коммутаторе.

В настоящее время чаще используется программное решение, которое на первый взгляд выглядит более привлекательным. Это связано с тем, что для его применения достаточно, казалось бы, только приобрести программное обеспечение (ПО) МЭ и установить на любой компьютер, имеющийся в организации. Однако на практике далеко не всегда в организации находится свободный компьютер, удовлетворяющий достаточно высоким требованиям по системным ресурсам. Поэтому одновременно с приобретением ПО приобретается и компьютер для его установки. Затем следует процесс установки на компьютер операционной системы (ОС) и ее настройка, что также требует времени и оплаты работы установщиков. И только после этого устанавливается и настраивается ПО системы обнаружения атак. Нетрудно заметить, что использование обычного персонального компьютера далеко не так просто, как кажется на первый взгляд.

Поэтому в последние годы значительно возрос интерес к программно-аппаратным решениям, которые постепенно вытесняют «чисто» программные системы. Широкое распространение стали получать специализированные программно-аппаратные решения, называемые security appliance. Программно-аппаратный комплекс межсетевого экранирования обычно состоит из компьютера, а также функционирующих на нем ОС и специального ПО. Следует отметить, что это специальное ПО часто называют firewall. Используемый компьютер должен быть достаточно мощным и физически защищенным, например находиться в специально отведенном и охраняемом помещении. Кроме того, он должен иметь средства защиты от загрузки ОС с несанкционированного носителя. Программно-аппаратные комплексы используют специализированные или обычные ПО (как правило, на базе FreeBSD, Linux или MicrosoftWindows NT (2000)), «урезанные» для выполнения заданных функций и удовлетворяющие ряду требований:
• иметь средства разграничения доступа к ресурсам системы;
• блокировать доступ к компьютерным ресурсам в обход предоставляемого программного интерфейса;
• запрещать привилегированный доступ к своим ресурсам из локальной сети;
• содержать средства мониторинга/аудита любых административных действий.

Достоинства специализированных программно-аппаратных решений:

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

• простота управления. Данные средства могут управляться с любой рабочей станции Windows 9х, NT, 2000 или Unix. Взаимодействие консоли управления с устройством осуществляется либо по стандартным протоколам, например Telnet или SNMP, либо при помощи специализированных или защищенных протоколов, например SSH или SSL;

• отказоустойчивость и высокая доступность. Исполнение МЭ в виде специализированного программно-аппаратного комплекса позволяет реализовать механизмы обеспечения не только программной, но и аппаратной отказоустойчивости и высокой доступности;

• высокая производительность и надежность. За счет исключения из ОС всех «ненужных» сервисов и подсистем, программно-аппаратный комплекс работает более эффективно с точки зрения производительности и надежности;

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

Эта статья была опубликована Пятница, 11 сентября, 2009 at 14:44 в рубрике Технологии межсетевых экранов. Вы можете следить за ответами через RSS 2.0 feed.

Цель статьи: показать базовый подход к сегментации сети компании при разработке новых либо модернизации текущих автоматизированных систем.

В статье рассмотрим:

Демилитаризованная зона (DMZ, уровень I)

Начнем рассмотрение принципов межсетевого экранирования и сегментации сети со следующей схемы:

Пограничный маршрутизатор - соединяет нашу корпоративную сеть с пограничным межсетевым экраном, фильтрует трафик по ACL на 3-м уровне модели OSI;

Межсетевой экран - защищает сеть на 4-м уровне модели OSI, "терминирует" соединения;

Веб сервер - первичный сервер реализующий обработку входящих запросов.

Зона (зона безопасности) - набор сегментов сети содержащих серверы одного назначения, например, сегменты содержащие только базы данных, или сегменты содержащие только персональные рабочие станции, и т.д.

DMZ - сегмент сети, предназначенный для размещения сетевых устройств взаимодействующих с внешними сетями, в частности с сетью интернет.

Логическая схема одноуровневой сети:

Первый уровень

Первый уровень

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

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

Правила межсетевого экранирования

Правила межсетевого экранирования

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

Максимально широкие правила

Максимально широкие правила

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

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

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

Грубо говоря, в демилитаризованной зоне размещается то, что не жалко потерять, что потенциально может быть легко скомпрометировано.

Давайте пойдем дальше и перейдем к сегменту приложений (APP).

Сегмент приложений (APP, уровень II)

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

Второй уровень сети

Второй уровень сети

Схема для удобства упрощена до 3-х серверов:

Сервер с балансировщиком нагрузки;

Сервер с веб сервером;

Сервер с веб приложением.

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

Последствия DDoS пограничного МЭ

Последствия DDoS пограничного МЭ

Чтобы больше понять что же такое сегмент, а что такое зона, усложним схему: представим, что наша компания разрешает аутентификацию пользователей через внешнего провайдера аутентификации, пускай это будет Единая система идентификации и аутентификации (ЕСИА). В таком случае? у нас появляется еще один сервис помимо того, что у нас уже имеется - сервис аутентификации:

Усложненная схема

Усложненная схема

Как видим, пунктирный прямоугольник логически объединяет все сетевые сегменты уровня 2 - сегменты приложений, в данном примере в каждом из сегментов по одному серверу.

В демилитаризованной зоне у нас так же 2 сетевых сегмента, в исходном размещено 2 сервера, в новом - 1.

Давайте вернемся к упрощенной схеме с одним сервисом. Давайте взглянем на наше монолитное приложение с огромным количеством строк кода в разрезе сервера:

Монолитная архитектура

Монолитная архитектура

Мы видим, что на серверах могут быть размещены какие-то файлы необходимые для работы приложений, могут быть запущены сами приложения. Давайте представим, что у нас не одно монолитное приложение, а множество маленьких приложений и все они вместе решают всё ту же задачу, только размещены на разных серверах:

Микросервисная архитектура

Микросервисная архитектура

Теперь у изначального сервиса может в единственном сетевом сегменте приложений быть уже N серверов.

Мы можем разрабатывать наши сервисы так:

Один DMZ только для входящих соединений из внешних сетей;

Другой DMZ только для исходящих соединений.

Такая хитрость позволит уменьшить возможные векторы атаки на нашу базу данных, но увеличит количество серверов и правил межсетевого экранирования:

2 типа DMZ

2 типа DMZ

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

В таком случае становится возможным разрешить исходящие доступы во внешние сети из сегментов уровня 2 - APP минуя DMZ, так как особо демилитаризованная зона не дает какой-либо защиты:


APP -> внешние сети

При этом стоит предполагать, что доступ открывается на известные DNS имена, а не на IP адреса либо во весь интернет. IP адрес может быть выдан нескольким владельцам, один из которых окажется злоумышленником То есть создавать можно только точечные доступы до доверенных сервисов в сети интернет.

Сегмент баз данных (DB, уровень III)

В процессе работы с данными, их необходимо где-то хранить, это могут быть различные базы данных SQL и no-SQL, файловые хранилища, каталоги LDAP, хранилища криптографических ключей, паролей и т.д.

Так мы переходим к зоне третьего уровня - DB.

Третий уровень, уровень данных

Третий уровень, уровень данных

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

Третий уровень, уровень данных (без сетевых устройств)

Третий уровень, уровень данных (без сетевых устройств)

Если есть желание отображать межсетевые экраны, их можно рисовать так:

Отображение межсетевых экранов цветами

Отображение межсетевых экранов цветами

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

Межсервисное взаимодействие

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

Идеальная ситуация если в организации между серверами сервисов взаимодействие происходит всегда через демилитаризованную зону:

Идеальное межсервисное взаимодействие

Идеальное межсервисное взаимодействие

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

В таком случае, логичным будет разрешить такие взаимодействия:

Межсервисное взаимодействие с учетом рисков

Межсервисное взаимодействие с учетом рисков

То есть мы разрешаем условно любые взаимодействия между зонами DMZ и APP всех сервисов внутри компании.

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

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

Правила межсетевого взаимодействия

Правила межсетевого взаимодействия

Читайте также: