Урок 7. Сетевые устройства

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

 

Концентратор/Хаб
Схематическое изображение хаба/концентратора на диаграммах
Рис. 1. Схематическое изображение хаба/концентратора на диаграммах

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

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

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

Принцип работы хаба. Отправка пакета
Рис. 2. Принцип работы хаба. Отправка пакета
Принцип работы хаба. Пакеты передаются абсолютно всем подключенных хостам
Рис. 3. Принцип работы хаба. Пакеты передаются абсолютно всем подключенных хостам

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

Что это означает?

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

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

 

Мост/Коммутатор
Схематичское изображение коммутатора на схемах
Рис. 4. Схематичское изображение коммутатора на схемах

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

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

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

Принцип работы коммутатора. Отправка пакета
Рис. 5. Принцип работы коммутатора. Отправка пакета
Принцип работы коммутатора. Пакеты передаются только определенному хосту
Рис. 6. Принцип работы коммутатора. Пакеты передаются только определенному хосту

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

Коммутатор содержит таблицу адресов и периодически ее обновляет.

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

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

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

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

 

Маршрутизатор
Схематическое изображение маршрутизатора в схемах
Рис. 7. Схематическое изображение маршрутизатора в схемах

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

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

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

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

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

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

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

Вот как выглядит упрощенный алгоритм работы маршрутизатора:

Упрощенная схема работы маршрутизатора
Рис. 8. Упрощенная схема работы маршрутизатора

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

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

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

Фаервол
Схематическое изображение фаервола на схемах
Рис. 9. Схематическое изображение фаервола на схемах

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

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

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

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

Размещение фаервола в сетях
Рис. 10. Размещение фаервола в сетях

Межсетевые фильтры блокируют/пропускают трафик на основе явно задаваемых правил: accept - пропустить пакет, deny - отбросить пакет без уведомления ICMP, reject - заблокировать пакет с уведомлением “Destination unreachable”. 

 Например, 

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

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

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

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

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

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

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

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

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

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

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

Схема работы фаервола с сохранением состояния
Рис. 11. Схема работы фаервола с сохранением состояния

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

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

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

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

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

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

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

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


Прокси-сервер
Схематическое изображение прокси-сервера на схемах
Рис. 12. Схематическое изображение прокси-сервера на схемах

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

Прокси-серверы могут устанавливаться как в локальной, так и в глобальной сетях.

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

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

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

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



IDS/IPS
Схематическое изображение IPS на схемах
Рис. 14. Схематическое изображение IPS на схемах

IDS (Intrusion Detection System) - Система обнаружения вторжений.

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

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

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

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

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

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

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

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

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

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

Устройство

Уровень OSI

Описание

Хаб

Физический

Усилитель сигнала

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

Канальный

Усиливает сигнал, передает кадры конкретному хосту, предоставляет функции безопасности на уровни порта

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

Сетевой

Поиск оптимального маршрута до сети назначения

Фаервол без сохранения состояния

Сетевой и Транспортный

Блокирование и разрешение трафика на основе IP адресов и портов

Фаервол с сохранением состояния

Сетевой, Транспортный и Прикладной

Блокирование и разрешение трафика на основе IP адресов, портов, протоколов прикладного уровня, отслеживание состояния соединения на всех этапах сеанса связи

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

Прикладной

Фильтрация веб-трафика, отслеживание состояния соединения на всех этапах сеанса связи

IDS/IPS

Прикладной

Фильтрация всех типов трафика на основе определенных сигнатур