faq обучение настройка
Текущее время: Ср авг 06, 2025 18:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: ACL packet_content_mask ip v4/v6 TCP/UDP ports block
СообщениеДобавлено: Ср мар 11, 2009 17:45 
Не в сети

Зарегистрирован: Пт авг 08, 2008 02:12
Сообщений: 43
Немного глупый вопрос.

Задача фильтрация определённых портов назначения TCP/UDP. Вот такое правило будет имет действие на IP v6 так же как на IP v4?

Код:
#IP v4/v6 TCP/UDP dst-port
create access_profile packet_content_mask offset_16-31 0x00005000 0x0 0x0 0x0 offset_32-47 0x0 0x0 0xffff0000 0x0 profile_id 13
#135
config access_profile profile_id 13 add access_id auto_assign packet_content_mask offset_16-31 0x00004000  0x0 0x0 0x0 offset_32-47 0x0 0x0 0x00870000 0x0 port 1-26 deny
#137
config access_profile profile_id 13 add access_id auto_assign packet_content_mask offset_16-31 0x00004000  0x0 0x0 0x0 offset_32-47 0x0 0x0 0x00890000 0x0 port 1-26 deny
#138
config access_profile profile_id 13 add access_id auto_assign packet_content_mask offset_16-31 0x00004000  0x0 0x0 0x0 offset_32-47 0x0 0x0 0x008a0000 0x0 port 1-26 deny
#139
config access_profile profile_id 13 add access_id auto_assign packet_content_mask offset_16-31 0x00004000  0x0 0x0 0x0 offset_32-47 0x0 0x0 0x008b0000 0x0 port 1-26 deny
#445
config access_profile profile_id 13 add access_id auto_assign packet_content_mask offset_16-31 0x00004000  0x0 0x0 0x0 offset_32-47 0x0 0x0 0x01bd0000 0x0 port 1-26 deny


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 18:17 
Не в сети

Зарегистрирован: Чт апр 17, 2008 12:19
Сообщений: 84
в IPv6 заголовок длиннее, соответственно поля портов оказываются смещенными. Но, если не жалко правил, можно сделать проверку на версию протокола и отдельным правилом порезать порты в IPv6.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 18:27 
Не в сети

Зарегистрирован: Пт авг 08, 2008 02:12
Сообщений: 43
Elros писал(а):
в IPv6 заголовок длиннее


Во... ткните пальчиком в RFC еще лучше на пример с упакованным в пакет TCP/UDP.

Я почему спросил - вроде длина заголовка одинакова (320 бит) т.е 320-тый бит это начало поля данных, т.е. по идее там должен лежать инкапсулированный пакет, а "tcp v6" пока вроде не придумали :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 18:53 
Не в сети

Зарегистрирован: Чт апр 17, 2008 12:19
Сообщений: 84
В примере выше вы проверяете байты 40 и 41 как dst port. Перед ними идет 18 байт L2 заголовок, IPv4 заголовок(20 байт), и 2 байта src port. IPv6 заголовок размером 40 байт туда никак не влезет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 19:00 
Не в сети

Зарегистрирован: Чт апр 17, 2008 12:19
Сообщений: 84
Кстати говоря, если в IPv4 подделать пакет и увеличить длину заголовка IP, тем самым сместив L4 заголовок, блокировка портов работать не будет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 12, 2009 00:26 
Не в сети

Зарегистрирован: Пт авг 08, 2008 02:12
Сообщений: 43
Да я неправильно прочитал описание.

Сбила максимальная длина поля options (15*4-20=40 байт).

Извиняюсь за шум.

Кстати говоря, udp(tcp) src(dst)_port_mask парсят заголовок (ну напрмер ориентируясь на IHL) или там тоже используется фиксированная длина заголовка?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 12, 2009 09:21 
Не в сети

Зарегистрирован: Пн сен 27, 2004 18:18
Сообщений: 1642
Откуда: Vault 13
Код:
# протокол IP + пакет не фрагментирован + порт
create access_profile                                        packet_content_mask offset_16-31 0xffff0000 0x0 0x00ff0000 0x0 offset_32-47 0x0 0x0 0xffff0000 0x0 profile_id 1
# 135
config access_profile profile_id 1 add access_id auto_assign packet_content_mask offset_16-31 0x08000000 0x0 0x00000000 0x0 offset_32-47 0x0 0x0 0x00870000 0x0 port 1-24 deny
# 137
config access_profile profile_id 1 add access_id auto_assign packet_content_mask offset_16-31 0x08000000 0x0 0x00000000 0x0 offset_32-47 0x0 0x0 0x00890000 0x0 port 1-24 deny
# 138
config access_profile profile_id 1 add access_id auto_assign packet_content_mask offset_16-31 0x08000000 0x0 0x00000000 0x0 offset_32-47 0x0 0x0 0x008a0000 0x0 port 1-24 deny
# 139
config access_profile profile_id 1 add access_id auto_assign packet_content_mask offset_16-31 0x08000000 0x0 0x00000000 0x0 offset_32-47 0x0 0x0 0x008b0000 0x0 port 1-24 deny
# 445
config access_profile profile_id 1 add access_id auto_assign packet_content_mask offset_16-31 0x08000000 0x0 0x00000000 0x0 offset_32-47 0x0 0x0 0x01bd0000 0x0 port 1-24 deny

добавьте сюда проверку версии протокола и будет Вам счастье ;)

_________________
с уважением, БП


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 12, 2009 12:35 
Не в сети

Зарегистрирован: Пт авг 08, 2008 02:12
Сообщений: 43
Куда добавить?
Проверять нужно либо байт 40-41 для v4, при этом как было замечено выше, если поле options будет иметь не нулевую длину проверка не пройдет, либо 60-61 для v6.

И в этом свете (переменная дли поля options) интересно знать как себя ведут udp(tcp) src(dst)_port_mask.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 69


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB