Що може означати правило доступу за іменем хоста на кожному рівні мережі
Ім’я служби можна застосувати на рівні DNS, браузера, проксі або міжмережевого екрана. Виберіть рівень, який бачить ту ідентичність, якою ви хочете керувати.
Троє людей просять те саме тими самими словами: заблокувати доступ до одного імені служби. Один має на увазі, що браузер не повинен відкривати сайт, другий — що настільний голосовий клієнт не повинен досягати свого сервера, а третій — що група підрядників не повинна користуватися певним внутрішнім застосунком. Речення однакове, а механізми виконання майже нічого спільного не мають.
Виберіть рівень за ідентифікатором, який він справді бачить, а потім за клієнтами, які він охоплює. Починати з команди міжмережевого екрана, яку ви вже знаєте, — це шлях, на якому правила зрештою нічого не блокують або блокують занадто багато.
Ім’я — не ідентичність, яку може перевірити кожен рівень
Netfilter і подібні фільтри пакетів бачать адреси, протоколи та порти. Вони не бачать імен хостів, і на момент, коли пакет до них доходить, ім’я вже розв’язане. Правило, написане проти адреси, — це правило про цю адресу, яке б ім’я користувач не ввів, щоб до неї дістатися.
Політика DNS стоїть раніше на шляху і бачить запит, який є іншим об’єктом, ніж з’єднання, що йде за ним. Вона керує відповідями, які повертає контрольований резолвер, а не вже відкритими з’єднаннями і не клієнтами, налаштованими обходити цей резолвер. Розв’язана адреса може змінитися й між переглядом політики та наступним запитом, тому відповідь DNS не є довготривалою заявою про авторизацію.
Вищі рівні бачать більше контексту і охоплюють менше клієнтів. Цей обмін і є вся тема, і він пояснює, чому жоден рядок таблиці ніколи не є правильною відповіддю. Виберіть рядок, який бачить ідентифікатор, про який насправді йдеться у вашій політиці. Потім прийміть охоплення, яке цей рядок передбачає.
Що може ідентифікувати кожен рівень
Читайте таблицю від середнього стовпця назовні: ідентифікатор, який рівень може бачити, визначає політику, яку він може чесно виконувати.
| Layer | Identifier it sees | What it cannot see |
|---|---|---|
| Packet filter | address, protocol, port | the name, or which other services share that address |
| DNS policy | the queried name and the answer handed back | connections made by clients that ignore the resolver |
| Managed browser | supported URL patterns on managed profiles | non-browser clients, or unmanaged devices |
| CONNECT proxy | host and port for tunnelled requests | the path inside an encrypted request |
Рівень належить до політики лише тоді, коли ідентифікатор, який він бачить, збігається з ідентифікатором, яким керуєте ви. Таблиця також пояснює, чому правило, написане на одному рівні, рідко переноситься на інший без нового рішення про те, що воно захищає.
Де очевидне правило зазнає невдачі
Правило адреси точно правильне для служби з виділеною адресою, яку ви контролюєте, і цю власність слід записати в політику. Воно точно неправильне для всього, що стоїть за спільною адресою доставки вмісту, де те саме правило торкається не пов’язаних служб, а оновлена відповідь DNS не перетворює правило на авторизацію за іменем хоста.
Політика керованого браузера виражає веб-обмеження пряміше, ніж скопійований список адрес, але застосовується до браузерів і профілів, якими керує система керування.
Це правило браузера нічого не робить із голосовим клієнтом, що надсилає UDP на інший хост, а його шаблони визначаються цим продуктом, а не запозиченими звідкись угодами про підстановні знаки. Проксі CONNECT також отримує хост і порт для тунельованого запиту і не може прочитати шлях усередині зашифрованого сеансу. Проєктуйте правило навколо того, що розкриває протокол. Потім запишіть, що воно залишає непокритим, бо саме ця прогалина стане джерелом наступного запиту.
Виберіть за клієнтами, а не за командою
Запитайте, яких клієнтів політика повинна охоплювати і яких може пропустити. Політика керованого браузера охоплює те, до чого доходить система керування, і зупиняється на межі браузера. Політика резолвера охоплює все, що використовує ваш резолвер, а це ширша множина, і вона відкрито відмовляє всім, хто цього не робить.
Для служби, якою ви керуєте, авторизація в застосунку сильніша за будь-яку мережеву межу, бо вона йде за обліковим записом, а не за шляхом. Маршрут VPN — це досяжність і ніщо більше: можливість надіслати пакет службі не є дозволом нею користуватися. Там, де важливий ідентифікатор — це користувач або дозвіл каналу, застосовуйте його там, а мережеве правило розглядайте як другий рівень.
Напишіть правило в термінах ресурсу
Політика, яку можна захистити, називає ресурс, ідентичності, застосунки в межах охоплення і шлях, що їх несе, включно з обома сімействами адрес у використанні. Вона також зазначає, що станеться зі спільною інфраструктурою, яку правило зачепить побіжно.
Це формулювання створює рішення, яке хтось зможе перевірити пізніше. Правило, обґрунтоване сьогоднішньою розв’язаною адресою, створює інцидент при першій же зміні адреси, і ніхто не зможе пояснити, чому блокування колись було правильним.