Інвентаризація VPN: запланований доступ, згенерована конфігурація, активні сеанси
Назва тунелю — це спостереження, а не запис про послугу. Перш ніж щось виводити з експлуатації, з'єднайте орендаря, розгорнуту конфігурацію та дані обліку.
Кожна назва тунелю виглядає як рядок інвентаризації, доки ви не запитаєте, кому вона належить. Назва каже, що щось підключено просто зараз; вона не може сказати, кому належить послуга, що їм дозволено досягати чи та це конфігурація, що породила тунель, яку ви затвердили. У масштабі парку саме ці три питання і є інвентаризацією, а тунель — лише останнє спостереження.
Одна послуга, три записи
Запланована послуга — це те, на що орендар має право: ідентичності, префікси, ресурси та стан життєвого циклу. Розгорнута конфігурація — це згенерована політика, яка має її реалізувати. Спостережуваний сеанс — це доказ часу виконання, що щось підключилося. Якщо вважати їх однією таблицею, три різні види правди зливаються в рядок, який помилковий одразу трьома способами.
| Record | Answers | Goes stale when |
|---|---|---|
| Intended service | Who may reach what | A contract changes and nobody edits the record |
| Deployed configuration | What the gateway was told | A device is edited by hand |
| Observed session | What is running now | Telemetry stops or a session ends |
Практична перевірка — це питання, на яке кожен запис може відповісти самостійно. Запитайте, кому належить цей префікс, і запис запланованої послуги відповість. Запитайте, яка політика у шлюзу, і розгорнутий запис відповість. Запитайте, чи хтось користувався цим тижня, і запис сеансу відповість. Стовпець, який не може відповісти на власне питання, треба виправляти першим.
Записуйте орендаря, а не інтерфейс
Дайте кожній послузі ідентифікатор, який переживає перепідключення. Тимчасовий інтерфейс тунелю або номер сеансу змінюються з причин, що не мають нічого спільного з клієнтом, і інвентаризація, побудована на одному з них, отримує новий рядок щоразу, коли з'єднання тремтить. Будуйте її на орендарі та послузі, а потім прикріплюйте спостереження до цього ключа.
Запису потрібні відповідальні орендар і оператор, прийнята ідентичність партнера або користувача, посилання на облікові дані, а не їхня копія, захищені префікси, контекст маршрутизації, дозволені ресурси та запланований стан життєвого циклу. Матеріал облікових даних належить до підтримуваного сховища секретів; інвентаризація, що носить закриті ключі, стала другою, гірше захищеною копією середовища.
У згенерованої конфігурації є власник і версія
Автоматизація робить це простіше і краще приховує. Успішно запущений генератор доводить, що шаблон відрендерено, а не що кожен пристрій відповідає виводу. Хтось зрештою змінить шлюз вручну під час інциденту, і ця зміна — найцінніше, що треба зафіксувати, бо її не відтворить жоден наступний запуск.
Зафіксуйте, яка ревізія створила розгорнуту політику, і зберігайте прямі правки як розбіжність, яку треба узгодити замість того щоб мовчки їх перезаписувати. Узгодження тут і є продуктом: успіх генератора і фактичний стан пристрою — два факти, які треба порівнювати, а не вважати рівними.
Сеанси — це доказ, а не дозвіл
Там, де розгортання використовує облік RADIUS, RFC 2866 дає конкретні поля для роботи. Acct-Status-Type відрізняє початок від зупинки, а записи одного сеансу поділяють Acct-Session-Id. Ці поля дозволяють відновити, коли сеанс почався і закінчився, не довіряючи зведенню панелі.
Ідентифікатор обліку — це доказ часу виконання. Він не визначає, якому орендарю належить підмережа, і не дає доступу ні до чого. Зіставте його зі шлюзом та ідентичністю послуги, а потім тримайте час збору поруч зі спостереженням. Відсутній звіт може бути збоєм телеметрії, а не відсутністю використання, і старий запис не доводить, що доступ діє прямо зараз.
Виведення з експлуатації використовує те саме з'єднання
Видалити послугу означає видалити запланований доступ, облікові дані та активні сеанси саме в цьому порядку, через власників кожного з них. Потім перевірте, що застаріла конфігурація зникла з пристроїв і що її дозволені шляхи більше не розв'язуються. Клієнт, який пішов минулого кварталу, не повинен залишатися в списку префіксів через те, що назву тунелю видалили, а маршрут ні.
Ніщо з цього не вимагає одного пристрою на функцію або конкретного продукту автоматизації. Операційна вимога вужча й складніша: клієнт, його запланований доступ, розгорнута політика і поточні докази часу виконання мають з'єднуватися, не покладаючись на чиюсь пам'ять про назву тунелю. Спершу збудуйте три записи, потім обирайте інструменти, які їх підтримують.