Налаштування Nessus/OpenVAS для сканування вразливостей інфраструктури
У нашій практиці кожен непатчений хост, кожен відкритий порт із дефолтними кредами, кожен застарілий SSL-сертифікат — потенційна точка входу. Ми налаштовуємо Nessus Professional або OpenVAS (Greenbone Vulnerability Manager) для систематичного вирішення: не ручний аудит раз на квартал, а безперервний моніторинг із пріоритизацією за CVSS. Наша команда має 7+ років досвіду та понад 50 виконаних проєктів у сфері безпеки інфраструктури. Сертифіковані фахівці з досвідом роботи з Nessus та OpenVAS гарантують якісне налаштування.
Що сканується і що знаходиться
Типова картина при першому скануванні 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% бюджету на безпеку за рахунок автоматизації та пріоритизації. Конкретні суми: середня вартість налаштування — $1,500-3,000 залежно від обсягу. Оцінимо ваш проєкт за один день — зв'яжіться з нами. Замовте налаштування під ключ: ми підготуємо інфраструктуру до безперервного моніторингу вразливостей.
Кроки для налаштування credentialed scan (покрокова інструкція)
- Створіть обліковий запис для сканера з обмеженими правами на цільових хостах.
- Згенеруйте SSH-ключі та додайте публічний ключ до авторизованих ключів цільового хоста.
- Налаштуйте sudo для користувача без пароля для підвищення привілеїв.
- У конфігурації сканера вкажіть приватний ключ та ім'я користувача.
- Запустіть тестове сканування одного хоста для перевірки доступу.
- Прив'яжіть облікові дані до політики сканування.
Додаткова інформація
- Детальніше про OpenVAS: Wikipedia
- Nessus на 30% швидший за OpenVAS при credential scans, що дозволяє частіше проводити повні сканування без значного навантаження на мережу.







