Управление уязвимостями: от сканирования до закрытия

0
15
Обложка статьи: Управление уязвимостями: от сканирования до закрытия

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

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

Нельзя закрыть уязвимость на сервере, о существовании которого не знаешь. Начните со сканирования своих сетей и сверьте результат с учётом:

nmap -sn 192.168.10.0/24 -oG hosts.txt
nmap -sV -p- --open -oA inventory 192.168.10.0/24

Только свои сети или сети, на сканирование которых у вас есть письменное разрешение. Порядок работы с выводом: Nmap: руководство. Для каждого актива запишите владельца и важность (внешний ли он, есть ли персональные данные).

Шаг 2. Сканируйте регулярно

Для сетевого и авторизованного сканирования подойдут Greenbone (OpenVAS), Nessus, для образов контейнеров Trivy, для зависимостей кода Dependency-Track. Периодичность: внешний периметр еженедельно, внутренняя сеть раз в месяц, после значимых изменений вне очереди. Как выбирать и читать отчёт: отчёт сканера.

Шаг 3. Расставьте приоритеты

Не по одному CVSS. Учитывайте, используется ли уязвимость в атаках (KEV), её вероятность (EPSS), доступность узла из интернета и важность актива. Простая матрица сроков:

Условие Срок исправления
В KEV или есть публичный эксплойт, узел доступен из интернета До 3 дней
Критичная, узел во внутренней сети с важными данными До 14 дней
Высокая До 30 дней
Средняя и ниже В плановых обновлениях

Сроки подберите под себя, но зафиксируйте письменно, иначе их нельзя проверять.

Шаг 4. Исправляйте

# Debian/Ubuntu
apt update && apt upgrade -y
needrestart -r a
# RHEL-совместимые
dnf upgrade --security -y
dnf needs-restarting -r

Критичные обновления сначала установите на тестовый узел. Если обновление невозможно, закройте доступ к сервису правилами firewall (nftables и firewalld) или отключите сервис.

Шаг 5. Подтвердите закрытие

Пересканируйте узел. Запись «исправлено» без повторной проверки ничего не доказывает: сервис мог не перезапуститься, а пакет остаться старым.

Шаг 6. Ведите исключения

Каждое неисправленное замечание фиксируйте с причиной, мерой компенсации, владельцем и датой пересмотра. Бессрочных исключений не должно быть.

Как понять, что процесс работает

  • Доля узлов, просканированных за последний период, близка к 100%.
  • Среднее время закрытия уязвимостей из KEV укладывается в ваш срок.
  • Число просроченных исправлений не растёт от месяца к месяцу.

Если пересканирование показывает те же находки, значит, процесс не дошёл до шага 5. Мониторинг доступности сервисов после обновлений: Zabbix.

Оставьте свой ответ