Перейти к содержимому
Калькуляторы

безопасность вещания в multicast как бороться с чужим вещанием на тот же адрес?

Доброго дня!

 

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

Что посоветуете? Как вообще с этим бороться?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ACL multicast (например на DES-3526/3550)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

MVR , на Д-Линке оно зовётся ISM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На DES-3526 (25 порт аплинк, работает в версиях начиная с 6.хх.хх):

 

Определяем диапазоны мультикаста которые вообще могут быть на коммутаторах доступа:

create multicast_range 1 from 224.0.0.1 to 224.0.0.2 (Служебный диапазон, требуется для подключения к IGMP группе)

create multicast_range 2 from 234.1.1.1 to 234.1.1.255 (сеть вещания)

create multicast_range 3 from 239.255.0.1 to 239.255.3.255 (сеть вещания)

 

Разрешаем сети на клиентских портах

config limited_multicast_addr ports 1-24 add multicast_range 1

config limited_multicast_addr ports 1-24 add multicast_range 2

config limited_multicast_addr ports 1-24 add multicast_range 3

config limited_multicast_addr ports 1-24 access permit state enable

 

Выключаем фильтеринг на аплинке (на всякий случай)

config limited_multicast_addr ports 25,26 access deny state disable

 

=== Вот на этом месте клиенты еще могут что-то вещать на диапазонах указанных выше

 

Выключаем всю фигню которая может идти от клиентов:

config cpu_filter l3_control_pkt 1-26 rip ospf vrrp pim dvmrp igmp_query state enable

Включаем на аплинке, единственно что из вышеописанной фигни может потребоватся клиентам:

config cpu_filter l3_control_pkt 25 igmp_query state disable

 

=== Вот на этом месте уже не могут, вернее к их группам никто не сможет подписаться.

 

Конфигурим снупинг:

config multicast port_filtering_mode all filter_unregistered_groups

config multicast port_filtering_mode 25 forward_unregistered_groups

 

Включаем снупинг, чтобы мультикаст не валил во все порты подрят

enable igmp_snooping

config igmp_snooping all host_timeout 260 router_timeout 260 leave_timer 2 state enable

config igmp_snooping querier all query_interval 125 max_response_time 10 robustness_variable 2

config igmp_snooping querier all last_member_query_interval 1 state disable

 

Говорим что мультикаст может валить только с 25 порта

config router_ports default add 25

А следовательно запрещаем принудительную отправку мультикаста на клиентские порты если по какой то причине с них пришел пакет которые похож на пакет от мультикаст роутера

config router_ports_forbidden default add 1-24,26

 

Повышаем QOS для мультикаста:

create access_profile ip destination_ip_mask 255.255.0.0 profile_id 1

config access_profile profile_id 1 add access_id 1 ip destination_ip 234.1.1.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 2 ip destination_ip 239.255.0.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 3 ip destination_ip 239.255.1.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 4 ip destination_ip 239.255.2.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 5 ip destination_ip 239.255.3.0 port 25 permit priority 5 replace_dscp_with 48

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ого, какой развернутый ответ. А можно тоже самое только для настройки через snmp? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все в ваших руках, оптимальный способ: Запускаем Dview, через него конфигурим устройство, паралельно снифирим SNMP трафик например с помошью WildPackets Etherpeek NX 3.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
create multicast_range 1 from 224.0.0.1 to 224.0.0.2 (Служебный диапазон, требуется для подключения к IGMP группе)

 

config limited_multicast_addr ports 1-24 add multicast_range 1

config limited_multicast_addr ports 1-24 access permit state enable

config limited_multicast_addr ports 25,26 access deny state disable

Можно поподробней на счет вот этого диапазона 224.0.0.1 to 224.0.0.2, как он влияет на возможность подключаться к группе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
create multicast_range 1 from 224.0.0.1 to 224.0.0.2 (Служебный диапазон, требуется для подключения к IGMP группе)

 

config limited_multicast_addr ports 1-24 add multicast_range 1

config limited_multicast_addr ports 1-24 access permit state enable

config limited_multicast_addr ports 25,26 access deny state disable

Можно поподробней на счет вот этого диапазона 224.0.0.1 to 224.0.0.2, как он влияет на возможность подключаться к группе?

http://athena.vvsu.ru/net/book/mcast.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

224.0.0.1 – все узлы в данной сети;

224.0.0.2 – все маршрутизаторы в данной сети;

Вот это и смущает, зачем пользователям иметь доступ к этим группам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Маршрутизатор при своем включении и далее периодически рассылает по адресу 224.0.0.1 общий запрос Membership Query, при этом поле "Group Address" обнулено. Период этих рассылок может меняться администратором; значение по умолчанию – 125 с. Приняв такой запрос, каждый получатель групповых дейтаграмм выжидает случайное время. Если за это время кто-то другой уже ответил сообщением Membership Report, то данный хост не отвечает, иначе он сам посылает такое сообщение. Значение поля "Max Response Time" в Membership Query указывает максимальное время, на которое хост может задержать Membership Report (обычно 10 с). Описанный подход используется, чтобы избежать посылки многочисленных ответов с адресом одной и той же группы: маршрутизатору не нужно знать, сколько именно членов данной группы есть у него в сети, ему требуется лишь сам факт их наличия.

 

Сообщение Membership Report посылается по адресу группы, и этот же адрес помещается в поле "Group Address". Следует отметить, что маршрутизатор является членом всех групп, то есть получает сообщения, направленные на любой групповой адрес.

 

Если хост является членом нескольких групп, то вышеописанная процедура с выжиданием и отправкой ответа выполняется независимо для каждой группы.

 

При подключении хоста к новой группе он самостоятельно отправляет сообщение типа Membership Report, не дожидаясь очередного запроса от маршрутизатора.

 

Для каждой группы, члены которой обнаружились в сети, маршрутизатор ведет отсчет времени неактивности. Если ни одного Membership Report для этой группы не было получено за определенный период (по умолчанию – 260 с), то маршрутизатор считает, что членов этой группы в сети больше нет.

 

Когда хост отсоединяется от группы, он может послать сообщение Leave Group по групповому адресу 224.0.0.2 ("всем маршрутизаторам"); адрес группы содержится в поле "Group Address". Хосту следует сделать это, если на последний запрос Membership Query от имени данной группы отвечал именно этот хост. Получив сообщение Leave Group, маршрутизатор генерирует частный запрос Membership Query для членов только этой группы. Если за время, указанное в поле "Max Response Time" запроса (по умолчанию – 1 с), маршрутизатор не получил ни одного ответа Membership Report, он считает, что членов данной группы в сети больше нет. Для надежности запрос посылается 2 раза.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Повышаем QOS для мультикаста:

create access_profile ip destination_ip_mask 255.255.0.0 profile_id 1

config access_profile profile_id 1 add access_id 1 ip destination_ip 234.1.1.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 2 ip destination_ip 239.255.0.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 3 ip destination_ip 239.255.1.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 4 ip destination_ip 239.255.2.0 port 25 permit priority 5 replace_dscp_with 48

config access_profile profile_id 1 add access_id 5 ip destination_ip 239.255.3.0 port 25 permit priority 5 replace_dscp_with 48

спасибо за дельный пост

вопрос: зачем красить его на доступе если можно покрасить на входе, а дальше везде доверять prec или cos?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да у меня он везде красится, на всякий случай, если прижмет уберу, вдруг забуду где прописать по дороге :) у меня слава богу на аплинке свободных ACL дофига :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

config igmp_snooping querier all query_interval 125 max_response_time 10 robustness_variable 2

config igmp_snooping querier all last_member_query_interval 1 state disable

а зачем настраивать querier и оставлять его выключеным?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас