Порты и данные

Компьютеры передают и принимают данные через порты. Наверняка вам уже доводилось подключать принтер к USB или параллельному порту или модем или карманный компьютер к USB или последовательному порту.

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

Виртуальные порты пронумерованы от 0 до 65 536, причем порты от 0 до 1024 зарезервированы для некоторых служб. Например, протокол HTTP (Hypertext Transfer Protocol), обеспечивающий взаимодействие с веб-страницами, обычно использует порт 80. Порт «прослушивает» предназначенные для него данные и автоматически принимает их, если они относятся к правильному типу.

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

Проблема

Мы собираемся установить в сети маршрутизатор со встроенным брандмауэром. В описании некоторых маршрутизаторов говорится, что они поддерживают «проверку с учетом состояния» (stateful inspection). Насколько важна эта возможность и стоит ли за нее платить?

Решение

Проверкой с учетом состояния называется брандмауэрная технология, которая проверяет, что описание проходящих через брандмауэр данных соответствует действительности. Различные типы данных используют разные виртуальные порты компьютера; брандмауэр позволяет данным проходить на одни порты и блокирует доступ к другим портам. Например, брандмауэр может убедиться в том, что на порт HTTP (протокол доступа к веб-страницам Интернета) действительно передается код HTTP, а не вредоносный программный код. Поскольку хакеры не снабжают свои пакеты данных пометкой «особо опасная штука, которая выдает себя за HTTP», проверка с учетом состояния действительно важна. Если вас интересуют технические подробности — обращайтесь к врезке «Порты и данные».