Сетевые технологии (8). Файрволлы.

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

В основе многих компьютерных атак лежит стратегия, известная как «Stack Buffer Overflow» (переполнение буфера стека). Её идея в заполнении входного буфера сервера длинной строкой данных из внешней сети.  Атакующий посылает в буфер очень длинную строку, сервер её считывает и сохраняет в памяти. При  этом происходит переполнение буфера памяти и и эта строка замещает предыдущие порции памяти, в которых обычно содержатся указатели стека (stack-frame pointers), которые управляют течением программы компьютера. Цель атаки в том, что когда сервер заканчивает выполнение текущей функции, управление передаётся не вызвавшей эту функцию программе, а коду в буфере, который ввел злоумышленник в длинной строке.

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

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

В настоящее время файрволлы встраиваются не только в маршрутизаторы, но в рабочие компьютеры. Пользователь может сконфигурировать свою рабочую станцию так, чтобы не принимать вообще никаких соединений извне ни на какие порты, независимо от того, что программы на рабочий станции могут такое соединение запрашивать. Во многих случаях, блокируются также и исходящие соединения. Типичный домашний компьютер, кроме файрволла, иногда выполняет т.н. трансляцию сетевых адресов NAT (Network Address Translation), в дополнение к адресации IPv4.

Мидлбоксы (Middleboxes)

Файрволлы и маршрутизаторы NAT иногда называют «мидлбоксами» (англ.: middleboxes, «ящики посередине»). Это общее наименование сетевых устройств, которые блокируют, ограничивают или модифицируют трафик, который в сети не является необходимыми. Мидлбоксы играют важную роль в компьютерной безопасности, но иногда они нарушают нормальную работу некоторых услуг, например, Интернет-телефонии VoIP. Термин “middlebox”, в отличие от “router” или “firewall”, в инженерной среде часто имеет отрицательную коннотацию.

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

About Алексей Шалагинов

Независимый эксперт
Gallery | This entry was posted in Сетевые технологии and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.