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

Управление уязвимостями — это повторяющийся процесс, а не разовое сканирование. Ниже цикл из шести шагов, который можно запустить в небольшой инфраструктуре без дорогих продуктов.
Шаг 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.




















