Как провести аудит защиты информации своими силами: чек-лист на 10 шагов

Зачем делать аудит своими руками, а не звать подрядчика

Внешний аудит ИБ в среднем проекте стоит от 300–500 тысяч рублей, а пентест — дороже, и к нему ещё нужно подготовить согласования, NDA и окно простоя. При этом львиная доля реальных проблем лежит на поверхности: забытые учётные записи уволившихся, панель администрирования, открытая в интернет, админы без второго фактора, секреты в репозитории, бэкапы, которые ни разу не восстанавливали.

Всё это находится без сканеров за миллион и без команды красных. Так что прежде чем выписывать счёт на внешний аудит — пройдите базовый цикл сами. Он не даст юридически значимого заключения и не заменит пентест, но закрывает тот уровень, с которого начинается большинство инцидентов. Ниже — десять шагов, которые sysadmin или DevOps может пройти за две-три недели, не отрываясь от текучки.

Шаг 1. Составьте карту активов

Без инвентаризации аудит превращается в блуждание по тёмной комнате. Выпишите всё, что у вас есть, даже если кажется, что вы и так это знаете.

  • внешние сервисы и поддомены, включая забытые тестовые стенды;
  • серверы, VPS, облачные инстансы и их владельцев;
  • базы данных и бэкапы к ним;
  • домашние и удалённые рабочие места сотрудников;
  • подрядчики и интеграции со сторонним доступом.

Сверить список удобно по журналам обратного прокси и по DNS-зоне: почти всегда там всплывает что-то, о чём команда забыла.

Шаг 2. Проверьте доступы и права

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

  • у каждого ли администратора персональная учётка или есть общий root/admin;
  • кто имеет доступ к продовой инфраструктуре и базе клиентов;
  • остались ли аккаунты уволенных и стажёров;
  • включён ли принцип минимальных привилегий.

Шаг 3. Наведите порядок в аутентификации

Парольная политика без второго фактора — это вчерашний день. Проверьте, что 2FA включён хотя бы там, где есть доступ к деньгам, данным и инфраструктуре: почта, VPN, панели облаков, Git, админки БД. Инженерную часть вопроса разбирает OWASP, но на практике вам достаточно ответить на вопрос: сможет ли сотрудник зайти в прод, зная только пароль.

Отдельно посмотрите на пароли в открытом виде: конфиги, скрипты деплоя, wiki. Всё, что найдёте, — не в файлы, а в менеджер секретов.

Шаг 4. Просканируйте внешний периметр

Соберите то, что видно снаружи. Открытые порты, панели управления, забытые файлы. Для инвентаризации подойдут массовые сканеры вроде nmap, но помните: сканировать чужие системы без разрешения нельзя, а свои — только с согласования владельца инфраструктуры и в письменном виде.

  • не торчат ли наружу SSH, RDP, БД;
  • нет ли доступа к админкам из интернета без VPN;
  • не открыты ли бэкапы и каталоги с листингом.

Шаг 5. Проверьте уязвимости и версии

Здесь не нужно геройствовать с эксплойтами — достаточно сверить версии компонентов с официальными бюллетенями. Полезные источники: база БДУ ФСТЭК России и международная NVD. Составьте список того, что обновляется, и того, что давно застыло на мёртвой версии.

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

Шаг 6. Пройдитесь по зависимостям и CI/CD

Атакуют не только серверы, но и цепочку поставки. Проверьте:

  • подключены ли сканеры зависимостей в пайплайне (Dependabot, Trivy, OWASP Dependency-Check);
  • есть ли посторонние в правах на репозитории и пайплайны;
  • не хранятся ли токены и ключи в переменных сборки в открытом виде;
  • кто может пушить в прод напрямую, минуя ревью.

Шаг 7. Оцените работу с секретами

Простая проверка: возьмите историю коммитов и поищите ключи, пароли, токены. Даже если вы их удалили из текущего файла, в истории они остались. Всё найденное считается скомпрометированным и подлежит ротации, а не просто удалению.

Дальше — переезд секретов в специализированное хранилище (Vault, SOPS, менеджер секретов облака). Ручное копирование .env по серверам — прямой путь к утечке.

Шаг 8. Проверьте бэкапы и восстановление

Бэкап — это не факт наличия архива, а факт успешного восстановления. Убедитесь, что:

  • копии хранятся отдельно от основной инфраструктуры;
  • доступ к ним не сводится к тому же паролю, что и к прод;
  • вы хотя бы раз в квартал разворачивали данные из бэкапа на тестовом стенде;
  • есть копия вне площадки — на случай шифровальщика.

Шаг 9. Посмотрите на логирование и мониторинг

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

Шаг 10. Оформите отчёт и план исправлений

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

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

  1. Инвентаризация активов и поддоменов.
  2. Ревизия учётных записей и прав доступа.
  3. Включение 2FA на критичных сервисах.
  4. Сканирование внешнего периметра.
  5. Сверка версий с бюллетенями уязвимостей.
  6. Проверка зависимостей и безопасности CI/CD.
  7. Вынос секретов из кода в хранилище.
  8. Тест восстановления из бэкапа.
  9. Настройка логирования и алертов.
  10. Отчёт с приоритетами и сроками.

Вместо вывода

Внутренний аудит не отменяет внешний — он делает его дешевле и осмысленнее. Когда вы уже знаете свою инфраструктуру, подрядчику остаётся искать действительно сложные вещи, а не показывать вам забытую админку за ваш же счёт. Главное правило простое: нашли проблему — не откладывайте в бесконечный бэклог, а закрывайте. Отсутствие процесса исправления убивает больше проектов, чем самые изощрённые атаки.

guest

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