Фільтр трафіку VPN чи правило IPsec: де Windows застосовує порт
Маршрут бачить призначення, а не службу. Вирішіть, чи потрібен вам фільтр доступу в профілі VPN або правило IPsec, що вимагає захисту для потоку.
Один користувач VPN у Windows має потрапляти на HTTPS на сервері й не потрапляти на SMB на тому самому сервері, а маршрут не може це виразити. Обидва запити несуть ту саму адресу призначення, тому префікс, що надсилає трафік у тунель, несе й той потік, який ви хотіли виключити. Щоб розділити їх, потрібне правило, яке перевіряє щось тонше за призначення.
Два різні наміри будуються двома різними механізмами Windows. Їх змішування дає політику, що виглядає повною, але застосовує половину задуманого.
Маршрут не може розділити дві служби на одній адресі
Власна маршрутизація VPN ґрунтується на префіксах: вона вирішує, які призначення проходять тунелем, а які лишаються зовні. Це правильний інструмент, щоб тримати одну підмережу всередині, а іншу зовні, і за своєю будовою він сліпий до портів. Фільтр трафіку в профілі VPN додає другий вимір: він зіставляє протокол, віддалену адресу й віддалений порт з тим, що може перетнути цей інтерфейс. Правило IPsec працює в третьому місці й виражає, які потоки потребують захисту і з ким вони автентифікуються. Усі три відповідають на різні питання, і жодне не замінює інших.
Почніть із запису потрібного речення. Дозволити лише HTTPS — це речення про доступ, а вимагати IPsec для HTTPS — речення про захист, і обидва ведуть до різної конфігурації.
Обмеження доступу й вимога захисту розходяться
Обмеження доступу каже, що може використовувати інтерфейс, і застосовується дозволом набору та відмовою всьому іншому. Вимога захисту каже, які потоки мають бути зашифровані й автентифіковані, і застосовується узгодженням асоціацій безпеки, що їм відповідають. Перше дає заблокований запит, коли чогось немає в списку, а друге — з'єднання, яке або несе потрібний захист, або не встановлюється. Сприймати одне як інше — це шлях до політики, яка зрештою нічого не блокує або нічого не захищає.
Практичний наслідок у тому, що список фільтра — це замкнений набір. Щойно в профілі є список, трафік через цей інтерфейс, що не відповідає жодному запису, відхиляється, тому DNS, обміни автентифікації й будь-яка залежність, потрібна застосунку, вимагають власних записів. Додавання одного широкого правила, щоб заглушити відмови, знову відкриває весь інтерфейс і тихо скасовує обмеження. Список має бути таким коротким, як дозволяє вимога, і таким повним, як вимагає застосунок.
Побудуйте список фільтра як повний набір
Профілі VPNv2 несуть список фільтра окремо від списку маршрутів, і його записи — це властивості профілю, а не команди. Для прикладу з HTTPS запису потрібні протокол 6, віддалена адреса й віддалений порт, розгорнуті через канал керування або ProfileXML для використовуваного типу профілю. Визначення фільтра трафіку VPNv2 від Microsoft зазначає, що умови всередині одного правила поєднуються, а окремі ідентифікатори правил діють як альтернативи.
TrafficFilterList/0/Protocol = 6
TrafficFilterList/0/RemoteAddressRanges = 10.60.4.20/32
TrafficFilterList/0/RemotePortRanges = 443
RouteList/0/Address = 10.60.4.0/24
Значення портів у цьому списку описують порт служби на дальньому кінці, а локальний порт має лишатися необмеженим, щоб ефемерний порт джерела клієнта не відфільтровувався. Зворотний порядок дає правило, що ні з чим не збігається, і головоломку на півдня.
Запишіть маршрут і фільтр як два окремі рішення. Маршрут вирішує, що цей сервер доступний через тунель, а фільтр вирішує, які служби можуть користуватися цим шляхом.
Доведіть обидва результати двома запитами
Перевірте дозволений потік і відхилений потік окремо й читайте збій, а не відсутню сторінку. Швидка відмова — це рішення політики, а час очікування радше означає відсутній маршрут або службу, що не слухає. Команди нижче виконують обидва запити й показують чинні правила.
Test-NetConnection 10.60.4.20 -Port 443
Test-NetConnection 10.60.4.20 -Port 445
Get-NetIPsecRule -DisplayName *Vpn*
Get-VpnConnection -Name Corp
Швидка відмова в тесті SMB за успішного тесту HTTPS — це результат, який фільтр мав дати. Відмова на обох портах означає, що в списку бракує чогось потрібного сеансу, а час очікування на обох указує на маршрутизацію, а не на фільтрацію. Якщо захищені потоки показують відсутність асоціації безпеки у виводі IPsec, вимогу захисту не виконано навіть за успішного з'єднання. Читайте всі чотири виводи разом, бо кожен окремо підтримує іншу історію.
Записуйте чинний профіль, набір правил і політику другої сторони разом із результатами. Історичні нотатки про сумісність зі старішими клієнтами Windows не описують, що сьогоднішні функції керованого профілю підтримують на конкретному шлюзі. Поведінка, залежна від версії, належить до запису, а не до припущення.