Реалізація тестування на проникнення інфраструктури: перевірка на проникнення

Інфраструктура обростає зв'язками, і один відкритий контур знецінює решту захисту. Ми проводимо тестування на проникнення під ключ: зовнішній контур, внутрішня мережа, веб-застосунки — від узгодження меж до звіту з планом усунення. Клас ризиків, що ведуть до відмови, закриваємо до виходу в робочу експлуатацію.
Часті запитання

Тестування на проникнення: де інфраструктура дає збій

Уразливості інфраструктури рідко виглядають як помилка в коді.

Частіше збій приходить із боку, який ніхто не вважав бойовим: тестовий стенд, опублікований назовні «на час», панель адміністрування з конфігурацією за замовчуванням, порт, відкритий для налагодження і забутий після релізу. Формально все працює, але зовнішній контур ширший, ніж передбачає команда.

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

Такі записи не видно в інвентаризації і вони не заважають продукту — вони просто чекають, поки їх знайдуть.

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

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

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

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

Що змінюється після перевірки контурів і прав доступу

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

Вікно уразливості скорочується з тижнів до годин

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

Частка успішних спроб входу падає

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

Час реакції вимірюється хвилинами

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

Клас ризику Що перевіряємо Що змінюється
Зовнішній контур опубліковані сервіси зайвий доступ закриваємо
Права доступу надлишкові привілеї та спільні облікові записи звужуємо до необхідного
Сегментація досяжність критичних вузлів правила звужуємо до потрібних напрямів
Реакція наявність регламенту і власника призначаємо власника і клас відмов

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

Формати робіт: зовнішній контур, внутрішня мережа, веб-застосунки

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

Варіант Коли підходить Обмеження
Зовнішній контур Є публічні адреси та сервіси, доступні з інтернету Перевірку бачать системи захисту й моніторинг: потрібні узгоджені вікна й точний перелік адрес
Внутрішня мережа Потрібно зрозуміти, що доступно атакуючому після компрометації однієї робочої станції Потрібна точка входу в сегмент і окремий доступ; є ризик зачепити продуктивні сервіси
Веб-застосунки Продукт з особистим кабінетом, платежами, завантаженням файлів Потрібні тестові облікові записи всіх ролей і копія даних; руйнівні перевірки виключаємо
Програмні інтерфейси Сервіси обмінюються даними й віддають їх зовнішнім споживачам Частина логіки прихована від спостерігача; потрібні ключі й ліміт на кількість запитів
Мобільні клієнти Є застосунок під мобільні платформи Потрібна тестова збірка і стенд; окремо перевіряємо зберігання даних на пристрої

Зовнішній периметр

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

Внутрішні сегменти

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

Етапи: від узгодження меж до передачі звіту

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

Порядок робіт

  1. Аудит контурів: інвентаризація зовнішніх адрес, внутрішніх підмереж і точок інтеграції — карта поверхні атаки з власником на кожному вузлі.
  2. Узгодження меж: діапазони адрес, вікна робіт, заборона на руйнівні сценарії, контакт чергового — усе фіксуємо письмово.
  3. План перевірки: сценарії розкладаємо за класами ризику й переносимо копію конфігурацій на тестовий стенд, де перевіряємо небезпечні гіпотези.
  4. Робота в продуктивному середовищі — за узгодженими сценаріями всередині дозволеного вікна, з фіксацією часу й результату кожного кроку.
  5. Верифікація знахідок: кожну гіпотезу підтверджуємо другим незалежним способом, інакше у звіт потрапляє хибне спрацювання.
  6. Повторна перевірка: після усунення повертаємося до тих самих точок за тим самим сценарієм і переконуємося, що уразливість закрита.
  7. Передача звіту з пріоритетами, кроками відтворення й рекомендаціями, окремо — що свідомо залишилося поза перевіркою.

Верифікація й повторна перевірка

Письмові межі, план і підтверджені знахідки дають відтворюваний маршрут: перевірку можна повторити й порівняти зрізи, а не покладатися на пам’ять учасників.

Артефакти перевірки: звіт, докази, план усунення

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

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

Читабельність для інженерів. Кожна позиція описана в чотирьох блоках: знахідка, відтворення, вплив, виправлення — цього достатньо, щоб завести задачу без уточнень у команди перевірки.

Для керівника окремо йде зведення за критичністю й матриця трасування, де видно, яка саме перевірка підтвердила закриття.

Кейс: як закрили клас відмов у контурі інтеграцій

Замовник — платформа з розподіленим контуром інтеграцій: зовнішні інтерфейси для партнерів, черга подій, сервісні облікові записи, повідомлення від зовнішніх систем.

Тестування на проникнення до цього робили раз на рік і лише за зовнішнім периметром, а зв’язки між сервісами всередині вважалися закритими мережевою сегментацією.

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

Метрики до і після

За минулою перевіркою у звіті значилися 4 знахідки, і закрили з них близько половини — правки впиралися в узгодження, а термін реакції на нову знахідку вимірювався тижнями. Після інвентаризації точок входу стало 34, з них 9 з підтвердженою можливістю вийти за межі сервісу.

Усунення уразливостей ішло за пріоритетом: ротація ключів сервісних облікових записів, розмежування прав між сервісами, винесення адміністративних інтерфейсів в окремий сегмент.

Повторний тест не підтвердив жодної з 9, а час реакції на знахідку скоротився з тижнів до кількох днів.

Чому знахідки не лагодять за один прохід

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

Розмітку знахідок вели за OWASP, щоб пріоритети не залежали від того, хто читає звіт. Частку закритих рахували не за самим звітом, а за повторною перевіркою — вона ж показала, що залишилося за межами контуру.

Чим тестування на проникнення відрізняється від сканування

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

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

Ручна перевірка починається там, де закінчується сигнатура.

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

Методичну рамку задає OWASP, але результат дає не список перевірок, а гіпотеза про конкретну систему та її дані.

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

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

Глибина перевірки теж різна: сканер повідомляє про одиничну уразливість, інженер показує, до яких даних вона доводить.

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

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

Обмеження й ризики: що уточнюємо до старту робіт

До старту фіксуємо письмово межі перевірки: перелік адрес і сервісів, вікно робіт, винятки й стоп-правила.

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

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

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

Чи впаде продуктивний сервіс через перевірку?

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

Що робити зі знахідками, які не можна закрити одразу?

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

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

Кому доступні результати перевірки?

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

Обговоримо задачу: що потрібно для оцінки й плану

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

Щоб повернутися з планом робіт, а не з уточнювальними питаннями, потрібен такий мінімум:

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

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

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1395
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142