8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 32 33 34 35 36 37 38 ... 125

сокетом (socket). На рис. 5.4 изображены два компьютера, между которыми установлены два соединения: одно - для Telnet (порт 23), а второе - для FTP (порт 20). В действительности FTP работает с двумя портами - с портом 20 (для обмена данными) и с портом 21 (для обмена командами).

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

В исходной реализации TCP/IP Berkeley порты с номерами 0-1023 назывались привилегированными (privileged ports). Это значит, что они предназначались для использования программами, выполняющимися с правами root, на компьютерах с системой UNIX, которые обычно являлись серверами какой-либо службы. В соответствии с этим соглашением клиентские программы должны были выбирать порты с номерами, превышающими 1023. Хотя данное правило и не было стандартизировано в документах RFC, многие стеки TCP/IP до сих пор придерживаются его.

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

Рассмотрим несколько правил, полезных при разрешении входящих и исходящих SMTP-соединений для работы электронной почты. В первом примере определяется только порт назначения:

ПравилоНаправлениеПротоколАдрес ист.Адрес назн.Порт назн.Действие

1входящиеTCPвнешнийвнутренний25разрешить

2исходящиеTCPвнутреннийвнешний>=1024разрешить

3исходящиеTCPвнутреннийвнешний25разрешить

4входящиеTCPвнешнийвнутренний>=102 4разрешить

5*****запретить Правила 1 и 3 в этом примере разрешаютустановку входящих иисходящих

соединений на порту 25, который обычно используется для SMTP. Правило 1 дает разрешение внешнему узлу посылать запрос на порт 25 внутреннего сервера вашей сети. Правило 2 позволяет серверу SMTP в вашей сети отвечать внешнему узлу, если он применяет порт с номером, превосходящими 1023, поскольку данным правилом разрешена установка соединений только с портами, номера которых больше или равны 1024.

Правила 3 и 4 допускают установку SMTP-соединения в обратном направлении - в случае, когда узел локальной сети хочет подключиться к порту 25 внешнего


SMTP-сервера. Последнее, пятое правило запрещает все остальные соединения. Вроде бы нам удалось создать правила, обеспечивающие безопасность внутренней локальной сети и возможность установки SMTP-соединений в обоих направлениях. Верно?

Нет, неверно. Не забывайте о том, что при формировании набора правил для пакетного фильтра необходим весь набор правил, а не только одно или два из них. Правила 2 и 5 в только что рассмотренном примере разрешают подключения -как входящие, так и исходящие - к любой службе, работающей с портами, номера которых превосходят 1023. Этой «дырой» хакер может воспользоваться для всевозможных целей, в том числе для взаимодействия с «троянским конем».

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

Адрес назн. Порт назн. Порт. ист.

№ Направление

1входящие

2исходящие

3исходящие

4входящие

5*

Протокол Адрес ист.

TCP TCP TCP TCP

внешний внутренний внутренний внешний

внутренний>=102425

внешний25>=102 4

внешний>=102425

внутренний25>=1024

Действие разрешить разрешить разрешить разрешить запретить

Правила 2 и 5 больше не разрешают установку соединения между любыми портами с номерами, большими чем 1023. На другом конце такие соединения должны быть привязаны к порту SMTP с номером 25.

BvitSYN

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

Почему это существенно для настройки брандмауэра? Одной из типичных разновидностей атак является «отказ от обслуживания». Атака SYN flood состоит в том, что хакер непрерывно посылает пакеты с установленным битом SYN, чтобы компьютер, на который она нацелена, тратил все больше процессорного времени на попытки создания новых соединений и выделение памяти для них. Отбрасывать все пакеты с установленным битом SYN, конечно, нельзя, но можно путем мониторинга log-файлов определять узлы, которые пытаются постоянно посылать пакеты этого типа и блокировать их адреса в брандмауэре.

БитАСК

Еще одно битовое поле на рис. 5.2 - это поле АСК, или бит подтверждения (acknowledgement). Такой флаг устанавливается только после создания соединения.


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

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

№ Направление ПротоколАдрес ист.Адрес назн.Порт назн.Порт. ист.АСКДействие

1исходящие TCPвнутреннийвнешний>=1024230 и 1разрешить

2входящие TCPвнешнийвнутренний23>=10241разрешить 5 * *+****запретить

Вы видите, что здесь правило 1 позволяет узлу из внутренней локальной сети посылать пакет серверу Telnet в Internet. Это следует из того, что номер порта назначения соответствует номеру сервера Telnet (порт 23) и через фильтр могут проходить любые пакеты, независимо от того, установлен или сброшен в них бит АСК. В первом пакете, отправленном внутренним узлом на порт 23, этот бит будет сброшен, а в следующих - установлен. Вот почему нужно разрешить в данном правиле оба варианта.

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

См. раздел «Протокол 1СМР» и табл. 2. / в главе 2.

Пакеты ЮМР

Посредством протокола ICMP стеки TCP/IP обмениваются управляющей информацией. Например, если компьютер будет посылать ICMP-сообщения типа source quench (снизить скорость передачи), передающая сторона перестанет отправлять пакеты. Сообщения этого типа служат для управления потоком, чтобы принимающий узел не оказался перегруженным и не начал отбрасывать пакеты. Такие



0 ... 32 33 34 35 36 37 38 ... 125