Как проверить, что защита информационных систем работает: чек-лист аудита

Вендоры ИБ-решений любят одну и ту же картинку: нажали кнопку — и инфраструктура «под защитой». На практике всё сложнее. Лицензия куплена, агент раскатан, галочка в отчёте для регулятора стоит, а при первом реальном инциденте выясняется, что логи писались в никуда, алерты падали в общий ящик поддержки, а последний бэкап успешно восстанавливали года три назад.

Проблема не в том, что средств защиты нет. Проблема в том, что их работу никто не проверял. Рабочий тезис простой: контроль, который ни разу не проходил проверку, считается неработающим. Ниже — чек-лист аудита, который можно прогнать по своей системе за несколько дней и получить не бумажный отчёт, а список конкретных дыр.

Чем аудит отличается от проверки ради галочки

Большинство «аудитов ИБ», которые я видел, отвечают на вопрос «настроено ли?». Нам нужен другой вопрос: «сработает ли?». Разница принципиальная. Антивирус настроен — но обнаружит ли он подозрительную активность сегодня? Бэкап настроен — но сколько займёт восстановление одного сервера?

Хорошая проверка всегда даёт бинарный или измеримый ответ: работает / не работает, 4 минуты / 8 часов, 95% хостов / 60%. Всё, что нельзя так измерить, — это самоуспокоение.

Что подготовить до старта

Аудит защиты без подготовки легко превращается в инцидент, который вы же сами и устроили. Поэтому сначала — бумаги и границы:

  1. Письменное разрешение. Согласованные границы (какие подсети, хосты, сервисы), окно работ и ответственный, который может остановить проверку в любой момент.
  2. Контакты дежурных. Если проверка что-то заденет, поддержка и владельцы сервисов должны знать о ней заранее.
  3. План отката. Что и как вы вернёте, если тест уронит сервис или заполнит диск логами.
  4. Изолированный стенд. Всё, что может навредить, проверяем на копии контура, а не на продакшене.
  5. Фиксация baseline. Зафиксируйте состояние «до»: счётчики, метрики, логи — иначе не докажете, что что-то изменилось.

Чек-лист: десять контуров, которые нужно проверить

1. Инвентаризация и владельцы

Нельзя защитить то, о чём не знаешь. Возьмите данные сканера и сравните с трекером активов: обычно находится с десяток «забытых» серверов, тестовых баз с реальными данными и виртуалок, которые кто-то поднял и не выключил. У каждой критичной системы должен быть владелец — человек, а не отдел.

2. Доступы и привилегии

Проверьте принцип наименьших привилегий на практике: сколько учёток с правами администратора, есть ли generic-аккаунты, живы ли учётки уволенных сотрудников. Отдельно поищите доступы, которые «временно» выдали год назад и забыли закрыть.

3. Аутентификация и MFA

MFA, включённая «в целом», и MFA, которая реально защищает, — разные вещи. Проверьте, что второй фактор обязателен для всех внешних точек входа: VPN, почта, админ-панели, удалённый доступ к серверам. Классическая дыра — старые протоколы аутентификации, которые остались включены на одном сервере и тихо обходят второй фактор.

4. Патчи и управление уязвимостями

Свежесть патчей — это метрика, а не состояние. Считайте долю устранённых критичных уязвимостей и медианное время до закрытия. Отдельно проверьте, доезжают ли обновления до сегментов без интернета: изолированные сети часто остаются с дырами многолетней давности.

5. Защита конечных точек

Здесь проверка простая и честная: агент живой, обновляется, не отключён локальным админом. Проверьте охват — сколько хостов в отчёте и сколько всего в инвентаре. Сходите на пару машин и убедитесь, что модуль действительно запущен, а не просто «висит» иконкой в трее.

6. Резервное копирование и восстановление

Самый недооценённый пункт. Бэкап считается существующим только после успешного восстановления. Поднимите копию на изолированном хосте, замерьте время и запишите его. Отдельно спросите: есть ли неизменяемая (immutable) или офлайн-копия — иначе шифровальщик доберётся и до бэкапов.

7. Логирование, мониторинг, алертинг

Логи должны не просто собираться — кто-то должен их смотреть и реагировать. Проверьте цепочку целиком: событие → нормализация → правило → алерт → дежурный. Самая частая поломка происходит на последнем шаге: алерт падает в канал, за которым никто не следит.

8. Сетевая сегментация

Нарисуйте схему, как она есть, а не как задумана. Проверьте, реально ли рабочая станция из офисного сегмента достаёт до админ-интерфейса базы данных. Сегментация, которую не проверяли, обычно держится только на честном слове одного маршрутизатора.

9. Секреты и цепочка поставок

Поищите пароли и токены там, где им быть не положено: в git-репозиториях, конфигах, переменных CI в открытом виде. Проверьте, сканируются ли зависимости на известные уязвимости и обновляются ли они. Supply chain сегодня — один из самых практичных векторов, и он про ваш код, а не про абстрактного противника.

10. Люди и процессы

Технические контроли без процессов не живут. Проведите легальную фишинг-симуляцию, заранее согласованную с руководством, прогоните учения по сценарию «утечка данных» и посмотрите, кто что делает в первые 30 минут. Обычно выясняется, что у людей нет понятного порядка действий — только общая идея «звонить в ИБ».

Как тестировать, не устраивая катастрофу

Все проверки делятся на безопасные и требующие осторожности. Безопасные можно делать хоть каждый месяц:

  • Проверка антивируса и EDR штатным тестовым файлом EICAR — он не является вредоносным и существует ровно для этой задачи.
  • Контрольные сценарии по MITRE ATT&CK. Фреймворк ATT&CK описывает техники, а легитимные наборы проверок позволяют понять, видит ли ваш SIEM конкретное событие. Это проверка детекта, а не атака.
  • Восстановление из бэкапа на отдельный хост с замером времени.
  • Ревью правил доступа и выгрузка отчётов из сканера уязвимостей.

Всё, что может повлиять на прод, — только на копии контура и в согласованное окно. И да: не храните результаты проверок с реальными данными вне защищённого контура, это тоже часть гигиены.

Метрики: по ним видно, что защита живая

  • MTTD — сколько времени проходит от события до обнаружения.
  • MTTR — сколько времени уходит на реакцию и локализацию.
  • Охват агентов — процент хостов с работающим средством защиты от общего числа в инвентаре.
  • Доля закрытых критичных уязвимостей и медианное время до патча.
  • RTO восстановления — проверенный на практике, а не взятый из документа.
  • Доля ложных срабатываний — если алертов 3000 в день, их перестают читать, и это тоже уязвимость.

Типичные грабли

  • Проверка без письменного разрешения — потом сложно объяснять дежурному, почему его подняли среди ночи.
  • Тесты на продакшене «быстренько». Быстренько не бывает.
  • Формальная проверка: посмотрели, что консоль открывается, и поставили галочку.
  • Бэкапы, которые ни разу не восстанавливали.
  • Отчёты, которые легли в стол: без плана устранения аудит бесполезен.

Итоговый чек-лист

  1. Есть письменный scope, окно работ и ответственный.
  2. Инвентарь сверен со сканером, у критичных активов есть владельцы.
  3. Лишних админских и «спящих» учёток нет, least privilege проверен.
  4. MFA обязательна на всех внешних точках входа.
  5. Критичные патчи закрываются в срок, включая изолированные сегменты.
  6. Агенты защиты живут на всех хостах и обновляются.
  7. Бэкап восстановлен, время замерено, immutable-копия есть.
  8. Логи доходят до дежурного, и по ним есть реакция.
  9. Сегментация проверена с рабочей станции, а не на бумаге.
  10. Секреты не лежат в репозиториях, зависимости сканируются.
  11. Команда знает порядок действий при инциденте.
  12. По результатам есть план работ с ответственными и датами.

Аудит не делает систему неуязвимой — он делает её честно измеряемой. Это скучнее, чем очередная «волшебная кнопка» от вендора, но именно из таких проверок складывается защита, которая срабатывает не в презентации, а в четыре утра, когда дежурному действительно нужно понять, что происходит.

guest

0 Комментарий