Перехоплення, зроблені на інтерфейсі тунелю, ніколи не покажуть VLAN ID філії, і це властивість архітектури, а не прогалина в інструменті. Маршрутизований тунель TUN передає IP-пакети, тому позначений кадр Ethernet, який ніс їх на лінії філії, закінчується на маршрутизаторі, який їх маршрутизував. Якщо питання вашої політики стосується сегментів, позицію сенсора потрібно вибрати для цього питання до початку перехоплення. Поле VLAN, якого ви очікували, має бути замінене контекстом, який ви можете захистити.

Погляньте, що насправді передає інтерфейс тунелю

TUN доставляє IP-пакети хосту; TAP доставляє кадри Ethernet. Маршрутизована схема використовує перше, а отже, пакет, що надходить після розшифрування, взагалі не має заголовка канального рівня, і тому немає тега 802.1Q для читання. У дорозі нічого не знімалося, бо тег ніколи не потрапляв у тунель. Внутрішній пакет починається зі свого IP-заголовка, тому кожне поле, якого очікує правило з урахуванням VLAN, просто відсутнє.

Підтвердьте тип інтерфейсу, перш ніж сперечатися про перехоплення, оскільки пристрій TAP у тому самому розгортанні поводитиметься інакше і приведе до неправильного висновку.

ip -d link show tun0
tcpdump -i tun0 -nn -e -c 20

Перша команда друкує тип пристрою та його прапорці. Друга друкує заголовки канального рівня для перших двадцяти пакетів, і на пристрої TUN вивід починається з IP без блоку Ethernet, що і є все пояснення на одному екрані.

Вибір TAP також не відновлює тег. Пристрій TAP передає кадри мосту, і те, що відбувається з тегом, залежить від VLAN-фільтрації моста та налаштованого членства порту. Це окреме проєктне рішення з власними режимами відмови.

Станьте в одному з трьох місць і прийміть те, що воно може бачити

На сегменті Ethernet філії тег присутній, але сенсор бачить лише локальний трафік на цьому сегменті. У зовнішній мережі VPN трафік захищений, тому спостерігач дізнається кінцеві точки й обсяг і нічого про внутрішній пакет. На шляху TUN після розшифрування внутрішній IP-пакет доступний разом із його адресацією та портами і без кадру філії. Тому перехоплення на транку й маршрутизоване перехоплення одного потоку виглядають як дві різні розмови.

Ці три позиції відповідають на три різні питання, і одне перехоплення не може бути всіма одразу.

tcpdump -i eth0 -nn -e 'vlan' -c 10
tcpdump -i tun0 -nn -c 10

Запустіть пару та порівняйте. Перше показує позначені кадри та їхні VLAN ID там, де лінію філії підключено транком до хоста; друге показує ту саму розмову як звичайний IP після маршрутизації. Якщо перше взагалі нічого не поверне, перевірте, чи порт хоста є портом доступу, бо тоді тег уже видалено комутатором і жодне перехоплення на хості його ніколи не покаже.

Замініть відсутній тег зіставленням, яке ви можете захистити

Якщо політика розрізняє сегменти за префіксом IP, запишіть це зіставлення разом з його межами. Діапазони адрес, що перекриваються, трансляція джерела й спільний шлюз можуть кожен зробити одного префікса недостатньо, щоб визначити, звідки пакет насправді прийшов.

Довіряйте інтерфейсу та контексту маршрутизації, які ви контролюєте, а не мітці, яку надає клієнт. Поле заголовка, яке може встановити партнер, не є доказом членства, і правило перевірки, яке трактує його як таке, легко обійти.

ip route get 10.20.30.40
ip -br addr show

Перша команда повідомляє інтерфейс і джерело, які ядро використало б для призначення, і це локальний погляд на приєднання до сегмента. Друга перелічує адреси за інтерфейсами, щоб префікси у вашому зіставленні можна було перевірити щодо реальності, а не щодо схеми.

Перевірте зворотний шлях і корисне навантаження, перш ніж довіряти результату

Точка перевірки, яка бачить лише один напрямок, пропустить половину розмови, а асиметрична маршрутизація є звичайною, щойно задіяно VPN. Підтвердьте, що відповіді проходять через той самий сенсор, перш ніж вважати одностороннє перехоплення повним.

Відновлення внутрішнього IP-пакета також не розшифровує сеанс HTTPS усередині нього. Якщо питання політики стосується вмісту, а не потоків, позицію сенсора треба знову зсунути, і це рішення належить до того самого проєктного документа.

Продовження необмеженого транку до сенсора лише для того, щоб з'явилося поле VLAN, розширює межу мережі, не відповідаючи на початкове питання. Виберіть позицію для інформації, якої потребує політика, запишіть, чого вона не може бачити, і перегляньте вибір, коли питання зміниться.

Схожі статті