Настройка Nessus/OpenVAS для сканирования уязвимостей инфраструктуры
В нашей практике каждый непропатченный хост, каждый открытый порт с дефолтными кредами, каждый устаревший SSL-сертификат — потенциальная точка входа. Мы настраиваем Nessus Professional или OpenVAS (Greenbone Vulnerability Manager) для систематического решения: не ручной аудит раз в квартал, а непрерывный мониторинг с приоритизацией по CVSS. Наша команда имеет 7+ лет опыта и более 50 выполненных проектов в области безопасности инфраструктуры.
Что сканируется и что находится
Типичная картина при первом сканировании production-кластера: Elasticsearch без аутентификации слушает на 0.0.0.0:9200, Redis без пароля доступен изнутри сети (а сеть плоская), Jenkins на порту 8080 со старым плагином с известной критической уязвимостью. Это не гипотетика — это реальный набор находок на среднестатистическом проекте, который «работает и не трогаем».
OpenVAS разбивает обнаружения по категориям: Network Vulnerability Tests (NVT), которых в базе Greenbone Security Feed более 80 000. Каждый NVT — конкретная проверка: попытка анонимного FTP, проверка TLS 1.0/1.1, тест на ShellShock, обнаружение Heartbleed, перебор дефолтных SNMP community strings. Nessus добавляет сверху compliance-аудит по CIS Benchmarks и PCI DSS.
Самая частая проблема при настройке — false positives и неправильная scope-конфигурация. Если запустить сканирование без исключений на облачную инфраструктуру AWS, Nessus обнаружит «открытые порты» на AWS-managed сервисах и забьёт отчёт нерелевантными находками. Нужна точная scope: CIDR-блоки, excluded hosts, разделение по asset groups.
Почему credentialed scan в 3-5 раз эффективнее network scan?
Credentialed scan принципиально важнее network scan. Без кредов сканер видит только то, что торчит наружу. С SSH-ключом (или WinRM для Windows) он проверяет installed packages, версии ядра, конфиги /etc/ssh/sshd_config, права на sensitive файлы. Разница в количестве находок — в 3-5 раз.
Для Nessus конфигурация credentialed scan под Linux:
Scan Settings → Credentials → SSH Method: public key
Username: nessus-scanner
Private Key: /path/to/nessus_key
Elevate privileges with: sudoДля OpenVAS эквивалент — SSH credential в Configuration → Credentials, затем привязка к scan config через Scan Configs → Edit → Credentials.
Как настроить политику сканирования под production?
Политика сканирования влияет на нагрузку на хосты. Полный и быстрый режимы — агрессивный вариант, не для production в рабочее время. Safe checks — более щадящий, но пропускает часть DoS-векторов. Практика: Full scan ночью раз в неделю + continuous lightweight scan (только порты + версии) ежедневно.
Для OpenVAS scan config в формате XML можно экспортировать и хранить в git.
Пример фрагмента политики
<scan_config>
<name>Weekly Production Full</name>
<comment>Credentialed, safe checks disabled for vuln validation</comment>
<preferences>
<preference>
<name>max_hosts</name>
<value>10</value>
</preference>
<preference>
<name>max_checks</name>
<value>5</value>
</preference>
</preferences>
</scan_config> Интеграция в CI/CD и алертинг
Разовые сканы — полумера. Реальная безопасность — когда новый хост автоматически попадает в scan scope, а критическая CVE триггерит алерт в Slack/PagerDuty до того, как её эксплуатируют.
Интеграция через Nessus API:
# Запуск скана через API
curl -X POST https://nessus-host:8834/scans \
-H "X-ApiKeys: accessKey=XXX; secretKey=YYY" \
-H "Content-Type: application/json" \
-d '{"uuid": "template-uuid", "settings": {"name": "Auto-scan", "scanner_id": 1, "targets": "10.0.1.0/24"}}'Для Greenbone/OpenVAS — GVM CLI (gvm-cli) или Python-библиотека python-gvm:
from gvm.connections import TLSConnection
from gvm.protocols.gmp import Gmp
with Gmp(connection=TLSConnection(hostname='openvas-host')) as gmp:
gmp.authenticate('admin', 'password')
task_id = gmp.create_task(name='nightly-scan', config_id='...', target_id='...')
gmp.start_task(task_id)Результаты парсятся из XML-отчёта и фильтруются по severity: CVSS >= 7.0 — алерт немедленно, 4.0–6.9 — в недельный дайджест. Отчёты удобно складывать в S3/MinIO и визуализировать через Grafana (есть datasource для OpenVAS) или Defect Dojo для трекинга remediation.
Сравнение Nessus и OpenVAS
| Критерий | Nessus Professional | OpenVAS (Greenbone) |
|---|---|---|
| Лицензия | Коммерческая | GPLv2 (бесплатно) |
| Количество проверок | > 100 000 (включая compliance) | > 80 000 NVT |
| Compliance (CIS, PCI DSS) | Встроено | Требует донастройки |
| Интеграция | REST API, CLI | GMP, Python-gvm |
| Скорость сканирования | Высокая (оптимизированные движки) | Средняя (2-3 раза медленнее Nessus) |
| Поддержка | Коммерческая | Сообщество |
Что входит в работу по настройке
- Аудит окружения: инвентаризация хостов, определение scope (prod/staging/dev раздельно), выбор инструмента под задачу.
- Развёртывание сканера: выделенная VM или контейнер, сетевые правила, настройка credentialed access (SSH keys, WinRM, SNMP).
- Конфигурация политик: scan templates, расписание, исключения, severity thresholds.
- Интеграция алертинга: webhook в мессенджер или SIEM (Splunk, Wazuh, ELK).
- Документация: runbook по обработке находок, SLA на remediation по severity, процедура suppression для accepted risks.
- Обучение команды: разбор отчётов, работа с Defect Dojo.
Этапы и сроки
| Этап | Длительность |
|---|---|
| Аудит и планирование | 1 день |
| Развёртывание и конфигурация | 1-2 дня |
| Интеграция и тестирование | 1 день |
| Документация и обучение | 1 день |
Общий срок: от 2 до 5 дней в зависимости от сложности окружения. Стоимость рассчитывается индивидуально, но наши клиенты экономят в среднем 60% бюджета на безопасность за счёт автоматизации и приоритизации. Оценим ваш проект за один день — свяжитесь с нами. Закажите настройку под ключ: мы подготовим инфраструктуру к непрерывному мониторингу уязвимостей.
Дополнительная информация
- Подробнее об OpenVAS: Wikipedia







