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

Перевірка 1: чи може цей артефакт узагалі залишити машину

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

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

Перевірка 2: вибирайте команду зведення, а не дамп стану

Для strongSwan swanctl --list-sas показує зведення асоціації: ідентичності, встановлені дочірні SA, стани та лічильники. Йому не потрібен сирий дамп ключів, і саме його вставляють у тикет першим. На боці ядра iproute2 підтримує ip xfrm state list nokeys у версіях, де цей параметр задокументовано, що приховує ключовий матеріал, зберігаючи поля асоціації.

Підтвердьте синтаксис у локальному посібнику, перш ніж покладатися на нього, бо параметр є не в кожному випуску, а загальний список стану без нього — інша команда з іншим виводом. Запуск ip xfrm state на старій збірці, щоб побачити, чи існує прапорець, — саме та помилка, про яку цей чек-ліст.

Перевірка 3: записуйте лише те, що потрібно розслідуванню

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

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

Є проміжний шлях, який варто знати: зведення теж може бути чутливим. Ідентичності, адреси партнерів і назви дочірніх SA описують вашу топологію, і в деяких організаціях це саме по собі закрита інформація. Вирішіть, хто аудиторія, перш ніж вставляти, і віддавайте перевагу каналу з належним контролем доступу перед публічною проблемою. Безпечна команда — не те саме, що безпечне призначення.

Перевірка 4: зіставте одну спробу на обох кінцях

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

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

Перевірка 5: що робити, якщо матеріал уже розкрито

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

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

Стала практика — невеликий шаблон, який ви заповнюєте перед вставленням: який кінець, який ідентифікатор асоціації, який напрямок, який лічильник і що вже виключено. документація swanctl list-sas описує поля зведення, і саме це потрібно більшості тикетів. Усе інше доступне на запит тому, кому це потрібно. Діагностичний звіт має містити докази, а не доступ.

Схожі статті