воскресенье, 21 мая 2023 г.

Фильтрация по MAC-адресам в межсетевых экранах

MAC-адрес виден только внутри одного broadcast домена

Иногда встречаю требования фильтровать MAC-адреса на обычном межсетевом экране или даже на NGFW. MAC-адрес приписан каждой сетевой карте производителем, пользователь может его изменить. Он используется для адресации в локальных сетях (LAN), а если быть точным внутри одного широковещательного домена или VLAN. Про широковещательные домены и VLAN хорошо рассказывает автор блога "Сети для самых маленьких". Для примера этот адрес важен для работы ARP протокола или старых забытых IPX/SPX. Таблицы MAC-адресов хранят у себя коммутаторы, чтобы знать на какой порт передавать фреймы (кадры) Ethernet. Каждое устройство в сети отправляет кадры Ethernet коммутатору и он уже передает кадры нужному адресату по его MAC-адресу, как это показано на картинке ниже:

IP-адреса видны глобально во всей сети интернет

IP-адреса используются для адресации в глобальных сетях (WAN). Соответственно на этом уровне работает статическая и динамическая маршрутизация. Таблицы маршрутизации на основе IP адресов хранят у себя маршрутизаторы. На каждом маршрутизаторе происходит переход из одного широковещательного домена в другой, поэтому какой именно MAC-адрес у сетевой карты на этом уровне абстракции уже невозможно проверить, потому что информация о MAC-адресах из соседнего широковещательного домена стирается маршрутизатором в заголовке фрейма (кадра) и недоступна в другом широковещательном домене. Подробно как это происходит описано в статье https://habr.com/ru/articles/707598/ 



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

Приведу аналогию

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

Вывод

Если кто-то хочет фильтрацию по MAC-адресам - то лучше  почитать "сети для самых маленьких" и "что меняется во фреймах Ethernet при передаче информации от роутера к роутеру" чтобы разобраться почему это не работает в реальных сетях.