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

Малюйте пакет після розшифрування, а не до нього

Зовнішній шлях — це частина, яку документують постачальники: публічна кінцева точка, транспортна політика, що допускає з'єднання, і служба, яка його завершує. Внутрішній шлях починається в момент, коли пакет втрачає заголовок тунелю, і далі ним керують правила маршрутизації та фільтрації, які не мають нічого спільного з тунелем. Розмістіть обидва на одній сторінці, бо схема лише з першим натякає, що допуск і авторизація — одне рішення. Це не так, і саме розрив між ними — місце, де більшість розміщень помиляється.

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

  1. Віддалений клієнт: пристрій користувача, що створює тунель.
  2. Політика на межі: набір правил, що допускає зовнішній транспорт до публічного слухача.
  3. Термінувальний пристрій: кінцева точка VPN, яка декапсулює пакет і передає його звичайному IP.
  4. Внутрішній фільтр: набір правил пересилання або груп безпеки, що обмежує трафік від клієнта до служби.
  5. Хост застосунку: служба, що приймає розшифрований запит.

Дві політики, два власники

Зовнішня політика відповідає, хто може встановити тунель, і виражається в правилах, що допускають транспорт до термінувальної служби. Внутрішня політика відповідає, до якої служби може дістатися автентифікований користувач, і живе в правилах пересилання, групах безпеки або самому застосунку. Один пристрій може вміщати обидві, і проєкт із кількома пристроями теж має обидві. Саме роздільне найменування дає змогу сказати, яка з них відмовила, коли користувач не досягає застосунку.

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

Розміщення визначає, який кордон перетинає запит

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

PlacementWhat terminates thereWhat sees plaintextWhich control can still denyFailure domain
Termination in a dedicated segmentA dedicated VPN endpointThe endpoint and anything on its segmentThe filter between that segment and the applicationThe segment path can bypass the filter if no rule sits on it
Termination on the edge firewallThe firewall's public listenerThe firewall, after decapsulationThe firewall's inner rule setAdmission and inspection fail together
Termination on the protected LANThe appliance's LAN legEvery host on the protected LANOnly a host control or a downstream gatewayThe appliance and the protected hosts fail together

Третє розміщення — те, яке тихо прибирає застосування, бо ділянка на захищеному сегменті дає пристрою прямий шлях, якого схема може не показувати. Вивчайте інтерфейси та маршрути, а не картинку: ip route get 10.20.5.10 повідомляє, через який інтерфейс пакет вийде, і відповідь часто не та, яку припускав проєкт. Класична роль міжмережевого екрана контролювати трафік між станами, як описано вNIST SP 800-41, тут корисна перевірка, бо пристрій із необмеженою ділянкою до захищеної мережі небагато чим керує. Пошук маршруту — чесніша схема, ніж та, що в презентації.

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

Трансляція змінює те, що бачать нижчі правила

Трансляція джерела зручна і знищує інформацію. Після masquerade кожен клієнт виглядає як пристрій, тому нижче правило, написане для розрізнення користувачів, більше не може цього робити. Це не лише проблема журналів, це проблема політики: правило, прив'язане до адреси клієнта, тихо стає правилом, прив'язаним до шлюзу. Якщо політика за користувачем важлива, збережіть джерело або застосуйте політику до трансляції.

Шлях відповіді заслуговує на таку саму перевірку. Запишіть, який маршрут обирає призначення для зворотного пакета, бо асиметричне повернення обходить перевірку з урахуванням стану і дає з'єднання, яке встановлюється і потім застрягає. Обидва напрямки мають перетинати намальований кордон, інакше кордон — прикраса.

sudo tcpdump -ni inside0 host 10.20.5.10
ip route get 10.20.5.10
sudo iptables -t nat -S POSTROUTING

Прийміть одну дозволену і одну заборонену операцію

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

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

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

Схожі статті