В сети работают множество устройств. Каждое устройство выполняет определенное действие и работает на определенном уровне модели OSI.

Концентратор/Хаб

Концентратор/Хаб

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

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

Концентратор/Хаб

Концентратор/Хаб

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

Благодаря данному принципу работы хаб осуществляет передачу данных в полудуплексном режиме (half-duplex).

Что это означает полудуплексный режим?

Это значит, что 2 и более узлов не могут одновременно передавать данные. Только один узел передает в определенный момент времени, в то время как остальные только слушают и принимают данные.

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

 

Мост/Коммутатор

Мост/Коммутатор

Работает на канальном уровне, однако существуют модели, которые работают и на сетевом уровне, то есть работают в качестве маршрутизатора. Такие коммутаторы называются L3 Switch.

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

Ниже представленные рисунки иллюстрируют принцип работы коммутаторов. 

Мост/Коммутатор

Мост/Коммутатор

Но как коммутатор может знать какое устройство подключено к его портам?

Коммутатор содержит таблицу адресов и периодически ее обновляет. Вот как выглядит таблица коммутации (Cam table).

Cam table

Могут ли хосты, подключенные к коммутатору одновременно передавать и принимать данные?

Конечно, коммутаторы практически предоставляют выделенный канал для каждого хоста, то есть они работают в полнодуплексном режиме (full-duplex).

В чем отличие моста от коммутатора?

Мост имеет только 2 порта, в то время как коммутатор — более 2-х. В настоящее время мосты практически не используются. Коммутаторы полностью заменили хабы и мосты.

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

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

 

Маршрутизатор

Маршрутизатор

Маршрутизатор работает на сетевом уровне и оперирует IP адресами. Он способен перенаправлять пакеты через сотни сетевых устройств, находящиеся в разных частях света.

То есть маршрутизаторы знают где в сети может находится определенный хост?

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

Маршрутизаторы используются как в локальных, так и в глобальных сетях.

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

А что произойдет, если в маршрутизаторе нет записи об адресе получателя, то есть он не знает куда отправить пакет?

Тогда пакет будет уничтожен, а маршрутизатор cгенерирует ICMP сообщение Сеть недостижима (Destination net unreachable) и отправит его отправителю пакета. Вот как выглядит упрощенный алгоритм работы маршрутизатора.

упрощенный алгоритм работы маршрутизатора

А откуда берется сама таблица маршрутизации?

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

таблица маршрутизации

 

Фаервол

Фаервол

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

Фаерволы (иначе сетевые экраны или пакетные фильтры) работают в локальных сетях и устанавливаются сразу после граничного маршрутизатора, который напрямую подключен к провайдеру/интернету. Такой тип фаервола называется сетевым (Network-based Firewall).
Однако сетевые экраны можно установить и на компьютере. В данном случае имеет место программная разработка. Такие фильтры называются хостовые экраны или брандмауэры (Host-based Firewall).

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

Фаервол

 

Межсетевые фильтры блокируют/пропускают трафик на основе явно задаваемых правил:

  1. accept — пропустить пакет
  2. deny — отбросить пакет без уведомления ICMP
  3. reject — заблокировать пакет с уведомлением “Destination unreachable”.

 

Например, рассмотрим 2 правила.

1) заблокировать входящий Telnet трафик с сервера 20.134.35.90
2) разрешить любой входящий HTTP трафик с любого сервера

 

Вот как будет выглядеть первое правило:

deny tcp host 20.134.35.90 any eq telnet

 

А так выглядит второе правило

accept tcp any any eq http

То есть за основу блокирования или разрешения трафика берутся следующие данные с IP и TCP/UDP заголовков:

— IP адрес получателя
— IP адрес отправителя
— порт получателя
— порт отправителя

Таких правил можно написать десятки и сотни.

Существуют 3 типа фаерволов:

— с сохранением состояния (stateful firewall)
— без сохранения состояния (stateless firewall)
— с инспекцией передаваемой полезной нагрузки

Рассмотрим сначала фаервол с сохранением состояния. Представим себе фаервол, который блокирует весь входящий трафик.

Как же пользователи смогут работать в интернете, если фаервол блокирует весь входящий трафик?

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

Подобные фаерволы анализируют и контрольные биты TCP, которые используются при установлении и завершении соединений.

Рассмотрим небольшой пример. Компьютер Х решил установить HTTP соединение с сервером www.mysite.com. Для этого он сначала отправит пакет с установленным битом SYN.

пакет с установленным битом SYN

Фаервол заносит информацию о запросе, а именно:

— адрес отправителя
— адрес получателя
— порт получателя
— порт отправителя
— время отправки пакета
— состояние соединения, в данном случае по биту SYN делает вывод, что это начало 3-х этапного квитирования.

Исходя из этого фаервол ожидает от сервера www.mysite.com пакет с установленными битами SYN/ACK. Пакеты с любыми другими комбинациями битов (кроме RST) фаервол будет блокировать.

После получения этих пакетов фаервол обновит свою таблицу. Работает такой фаервол на сетевом и транспортном уровнях.

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

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

Работает такой фаервол также на сетевом и транспортном уровнях.

Фаервол на прикладном уровне анализирует тип трафика и передаваемых данных. Поэтому такой тип является наиболее гибким.

 

Прокси-сервер

Прокси-сервер

Работает на прикладном уровне и используется для фильтрации веб-трафика. Помимо фильтрации веб-трафика поддерживает функции фаервола и преобразования сетевых адресов NAT (Network Address Translation). Фаервол в данном случае называется WAF (Web Application Firewall).

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

Принцип работы прокси-сервера

Пользователь желает войти на сайт www.mysite.com. Компьютер устанавливает соединение с прокси-сервером, а прокси в свою очередь устанавливает от своего имени соединение с сервером www.mysite.com. Причем сервер www.mysite.com ничего не знает о компьютере пользователя, так как в качестве отправителя используется адрес прокси-сервера.

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

Прокси-серверы могут устанавливаться как в локальной, так и в глобальной сетях. Глобальные прокси-серверы нередко используют, когда хотят скрыть свой адрес при посещении закрытого ресурса. Часто их используют офисные работники для обхода корпоративного фаервола, когда хотят посетить заблокированный системным администратором сайт, например Facebook, ВКонтакте или Youtube.

 

IDS/IPS

IDS/IPS

IDS (Intrusion Detection System) — Система обнаружения вторжений.
IPS (Intrusion Prevention System) — Система предотвращения вторжений.

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

То есть по сути, данное устройство ищет аномалии в принимаемом и передающем трафике по заранее заданным критериям и условиям. Без явного указания шаблонов или сигнатур аномального трафика IDS/IPS не способно фильтровать трафик.

В чем же отличие фаерволов от IDS/IPS?

Чтобы понять различия, проведем некоторую аналогию с face control на входе в роскошный клуб.

Фаервол — это охранник, который впускает гостей по списку или по знакомствам. То есть список — это те самые правила, которыми руководствуется фаервол, а гости — пакеты данных, их имена — атрибуты пакетов (адреса, порты).

Среди гостей могут быть люди с неадекватным поведением, например, пьяные, буйные. Второй охранник следит за поведением людей и если ему покажется, что их поведение не соответствует нормам клуба, то он может предупредить полицию или выставит их за дверь. Здесь прослеживается аналогия с сигнатурами IDS/IPS.

IDS/IPS устанавливаются сразу после фаервола. Для всех сетевых устройств IDS/IPS являются невидимыми, так как не маршрутизирует и не коммутирует трафик, не уменьшает TTL.

Большой популярностью служат SNORT IDS/IPS. SNORT является специальным языком, с помощью которого пишут сигнатуры. Он является абсолютно бесплатным и поэтому любой сможет настроить свою IDS/IPS на основе SNORT.

В настоящее время граница между фаерволами и системами обнаружения вторжений постепенно стирается, так как появляются фаерволы с функциями IDS/IPS.

 

Итак, подведем итоги по основным устройствам сети:

Устройство Уровень OSI Описание
Хаб Физический  Усилитель сигнала
Мост/Коммутатор Канальный Усиливает сигнал, передает кадры конкретному хосту, предоставляет функции безопасности на уровни порта
Маршрутизатор Сетевой Поиск оптимального маршрута до сети назначения
Фаервол без сохранения состояния Сетевой и Транспортный Бокировка и разрешение трафика на основе IP адресов и портов
Фаервол с сохранением состояния Сетевой, Транспортный и Прикладной Блокировка и разрешение трафика на основе IP адресов, портов, протоколов прикладного уровня, отслеживание состояния соединения на всех этапах сеанса связи
Прокси-сервер Прикладной Фильтрация веб трафика, отслеживание состояния соединения на всех этапах сеанса связи
IDS/IPS Прикладной Фильтрация всех типов трафика на основе определенных сигнатур

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