3.2 Фильтрация трафика протокола OSCAR
Рассмотрим несколько наиболее общих типовых задач.
3.2.1 Блокировка ICQ (запрет трафика протокола OSCAR)
Задача – блокировать функционирование ICQ по протоколу OSCAR, при этом доступ по другим протоколам прикладного уровня должен быть разрешён.
Принцип фильтрации и алгоритм работы:
Фильтрация производится по следующему признаку фильтрации:
-
по заголовку протокола OSCAR, идентифицируемому МЭ на уровне прикладного протокола по бинарным данным:
-
Поле
|
Смещение
|
Длина
|
Значение
|
Данные
|
0x00
|
0x01
|
0x2a
|
Замечание: В результате блокировки ICQ-клиент не сможет установить соединение с сервером, т.к. все пакеты, связанные с клиент-серверным обменом будут удаляться. Со стороны ICQ-сервера осуществляемая блокировка воспринимается как отсутствие клиента на линии. При уже включённом ICQ-клиенте в течении некоторого времени остаётся иллюзия работы сервиса, хотя все пересылки заблокированы. По окончании этой паузы, клиент выдаёт сообщение «Связь Прервана: Проверьте Настройки Подключения». Величина этой задержки зависит от реализации используемого клиента.
Настройка МЭ проводится аналогично 3.1.
1. В соответствии с политикой настраиваются глобальные правила, предпочтительным является подход
«всё что не разрешено – запрещено»
Отличие заключается в АР -правилах
2. Необходимо добавить одно AP-правило для блокировки OSCAR-трафика.
ap:10:drop:nolog:any:olv=0x00/0x01/0x2a:any:any:active:not_ICQ:noalarm
3. Необходимо добавить IP-правило для пропуска TCP-пакетов. Это правило необходимо для организации фильтрации совместно с правилами прикладного уровня (этим обеспечивается создание сессии и привязка к прикладным правилам). Оно должно работать на пропуск пакетов на следующий уровень обработки (действие accept) и содержать номер созданного ранее прикладного правила (в данном примере это номер 10) в соответствующем поле. То есть необходимо «привязать» прикладные правила к IP правилу.
ip:10:accept:nolog:1:0:0:tcp:any:any:any:any:any:any:any:any:any:any:active:for_tcp_all:any:defses:deftout:10:noalarm
Все замечания по поводу IP адресов и номеров портов из п. 4.1.1. справедливы и в этом случае.
4. Работа по созданию набора правил фильтрации завершена.
Список правил для блокировки протокола OSCAR представлен ниже в таблице 3.4.
Результат
|
Правило
|
Передача TCP-пакетов на прикладной уровень
|
ip:10:accept:nolog:1:0:0:tcp:any:any:any:any:any:any:any:any:any:any:active:for_tcp_all:any:defses:deftout:10:noalarm
|
Блокировка OSCAR
|
ap:10:drop:nolog:any:olv=0x00/0x01/0x2a:any:any:active:not_ICQ:noalarm
|
3.2.2 Блокировка входящих/исходящих ICQ-сообщений
Задача – полностью блокировать передачу входящих/исходящих ICQ-сообщений относительно выбранного ICQ-клиента, при этом доступ по другим протоколам прикладного уровня должен быть разрешён.
Принцип фильтрации и алгоритм работы:
Фильтрация производится по признаку фильтрации:
-
по функциональному полю протокола OSCAR, идентифицируемому МЭ на уровне прикладного протокола по следующим бинарным данным:
-
Поле
|
Смещение
|
Длина
|
Значение
|
Данные
|
0x08
|
0x02
|
0x0007/0x0006
|
Замечание: При такой блокировке ICQ-клиент не способен принимать/отправлять входящие/исходящие сообщения.
В первом случае, для внешнего клиента, осуществляющего рассылку, сообщения будут считаться недоставленными. Политика использования этих правил уместна в компаниях, где ICQ может быть использовано только для рассылок.
Во втором случае, клиент работает в режиме только получения сообщений. ICQ-клиент не способен отсылать сообщения. Для пользователя, осуществляющего рассылку сообщений, они будут считаться недоставленными. Политика использования этих правил уместна в компаниях, где ICQ может быть использовано только для оповещения.
Настройка МЭ проводится аналогично 3.1.
1. В соответствии с политикой настраиваются глобальные правила, предпочтительным является подход
«всё что не разрешено – запрещено»
Отличие заключается в АР -правилах
2. Необходимо добавить одно AP-правило для блокировки входящих/исходящих ICQ-сообщений OSCAR-трафика.
ap:10:drop:nolog:any:olv=0x08/0x02/0x0007[0x0006]:any:any:active:not_ICQ:noalarm
3. Необходимо добавить IP-правило для пропуска TCP-пакетов. Это правило необходимо для организации фильтрации совместно с правилами прикладного уровня (этим обеспечивается создание сессии и привязка к прикладным правилам). Оно должно работать на пропуск пакетов на следующий уровень обработки (действие accept) и содержать номер созданного ранее прикладного правила (в данном примере это номер 10) в соответствующем поле. То есть необходимо «привязать» прикладные правила к IP правилу.
ip:10:accept:nolog:1:0:0:tcp:any:any:any:any:any:any:any:any:any:any:active:for_tcp_all:any:defses:deftout:10:noalarm
Все замечания по поводу IP адресов и номеров портов из п. 3.1.1. справедливы и в этом случае.
4. Работа по созданию набора правил фильтрации завершена.
Список правил для блокировки протокола OSCAR представлен ниже в таблице 3.5.
Результат
|
Правило
|
Передача TCP-пакетов на прикладной уровень
|
ip:10:accept:nolog:1:0:0:tcp:any:any:any:any:any:any:any:any:any:any:active:for_tcp_all:any:defses:deftout:10:noalarm
|
Блокировка входящих/исходящих ICQ-сообщений
|
ap:10:drop:nolog:any:olv=0x08/0x02/0x0007[0x0006]:any:any:active:not_ICQ:noalarm
|
3.2.3 Блокировка пользователей по ICQ-номерам
Задача – полностью заблокировать работу конкретного ICQ-клиента по его номеру, при этом другие протоколы прикладного уровня должны быть разрешены. Все пересылки от и для контакта с заданным значением номера будут блокироваться.
Критерием такой фильтрации будет номер ICQ-клиента (его UIN), в трафике передающийся в изменённом виде, поэтому признак фильтрации пользователь должен написать сам. Сделать это крайне просто, для этого достаточно перед каждой цифрой номера поставить цифру «3».
Пример преобразования:
1. Пусть у нас есть ICQ-номер длиной {H} цифр и значением {x1,x2,x3,x4,x5,…,xH} (например, номер 1143574 содержит 7 цифр, значит H=7).
2. Теперь перед каждой цифрой номера помещаем цифру «3» (в нашем примере, 31 31 34 33 34 37 34).
3. На основе проведённых преобразований получаем Длину (0x0{H}) и Значение(3{x1}…3{xH}) для вводимого признака фильтрации (здесь – 0x07 и 0x31313433343734).
Принцип фильтрации и алгоритм работы:
Фильтрация производится по следующему признаку фильтрации:
-
по функциональному полю протокола OSCAR, идентифицируемому МЭ на уровне прикладного протокола по следующим бинарным данным (в общем виде):
Поле
|
Смещение
|
Длина
|
Значение
|
Данные
|
0x1B
|
0x0{H}
|
3{x1}…3{xH}
|
Настройка МЭ проводится аналогично 3.1.
1. В соответствии с политикой настраиваются глобальные правила, предпочтительным является подход
«всё что не разрешено – запрещено»
Отличие заключается в АР -правилах
2. Необходимо добавить одно AP-правило для блокировки OSCAR-трафика отдельного клиента по его ICQ-номеру.
ap:10:drop:nolog:any:olv=0x1B/0x0{H}/0x3{x1}…3{xH}:any:any:active:not_ICQ:noalarm
3. Необходимо добавить IP-правило для пропуска TCP-пакетов. Это правило необходимо для организации фильтрации совместно с правилами прикладного уровня (этим обеспечивается создание сессии и привязка к прикладным правилам). Оно должно работать на пропуск пакетов на следующий уровень обработки (действие accept) и содержать номер созданного ранее прикладного правила (в данном примере это номер 10) в соответствующем поле. То есть необходимо «привязать» прикладные правила к IP правилу.
ip:10:accept:nolog:1:0:0:tcp:any:any:any:any:any:any:any:any:any:any:active:for_tcp_all:any:defses:deftout:10:noalarm
Все замечания по поводу IP адресов и номеров портов из п. 3.1.1. справедливы и в этом случае.
4. Работа по созданию набора правил фильтрации завершена.
Список правил для блокировки протокола OSCAR представлен ниже в таблице 3.6.
Результат
|
Правило
|
Передача TCP-пакетов на прикладной уровень
|
ip:10:accept:nolog:1:0:0:tcp:any:any:any:any:any:any:any:any:any:any:active:for_tcp_all:any:defses:deftout:10:noalarm
|
Блокировка по ICQ-номеру
|
ap:10:drop:nolog:any:olv=0x1B/0x0{H}/0x3{x1}…3{xH}:any:any:active:not_ICQ:noalarm
| Заключение
В пособии рассмотрены вопросы управления сетевым доступом на прикладном уровне стека TCP/IP. В настоящий момент эта задача является одним из актуальных направлений повышения эффективности межсетевых экранов. В работе проведён анализ структур заголовков и полей данных некоторых популярных протоколов с точки зрения организации гибкой фильтрации трафика соответствующих приложений. Продемонстрированы различия между «традиционными» открытыми протоколами со стабильной структурой заголовков (HTTP, FTP и др.) и современными закрытыми протоколами.
Приведенные примеры позволяют оценить сложность анализа таких современных приложений, как SKYPE, BitTorrent, ICQ. Для организации их гибкой фильтрации необходимо иметь постоянно обновляемую эмпирическую базу сигнатур, пополняемую новой информацией.
Авторы пособия надеются, что их работа поможет как в понимании функционирования прикладного уровня стека TCP/IP, так и при решении задач межсетевого экранирования с использованием современных технических средств защиты информации.
Список литературы
1. Специализированный сетевой процессор ССПТ-2. Руководство администратора. СПб: ЗАО «НПО РТК», 2011. - 178 с.
2. В.А.Мулюха., А.Г.Новопашенный, Ю.Е.Подгурский, В.С.Заборовский. Методы и средства защиты компьютерной информации. Межсетевое экранирование: учеб.пособие/ В.А.Мулюха [и др.] - СПб.: Изд-во Политехн. Ун-та, 2010. - 92 с.
Достарыңызбен бөлісу: |