Как исправить ошибку «Nessus download failed» при загрузке плагинов
Краткое описание
Nessus — популярный сканер уязвимостей от Tenable. Ошибка загрузки плагинов означает, что компонент, отвечающий за обновление сигнатур/плагинов, не смог загрузить или установить их корректно. Это приводит к неполным или пустым результатам сканирования.
Что такое Nessus (одно предложение)
Nessus — это инструмент для поиска уязвимостей и управления ими: он загружает плагины и сигнатуры, чтобы обнаруживать известные проблемы в сети и хостах.
Основные причины ошибки
- Проблемы сети: нестабильное соединение или блокировка доступа к серверам Tenable (plugins.nessus.org).
- Недостаточно места на диске для хранения новых плагинов.
- Прокси/фильтрация или межсетевой экран блокируют скачивание.
- Неправильные права доступа или SELinux/AppArmor препятствуют записи файлов.
- Частично установленные плагины или повреждённые файлы в каталоге плагинов.
Быстрая пошаговая инструкция (самый распространённый и безопасный путь)
- Остановите службу Nessus.
# systemd (обычно)
sudo systemctl stop nessusd.service
# или старый стиль init
sudo /etc/init.d/nessusd stop- Убедитесь, что у вас достаточно места и просмотрите логи.
# Проверить свободное место
df -h
# Посмотреть список разделов и устройств
lsblk
# Просмотреть последние строки журналов Nessus (путь может отличаться)
sudo tail -n 200 /opt/nessus/var/nessus/logs/nessusd.messages || sudo tail -n 200 /opt/nessus/var/nessus/logs/nessusd.log- Попробуйте обновить плагины вручную через CLI Nessus.
sudo /opt/nessus/sbin/nessuscli update --all- Запустите службу снова.
sudo systemctl start nessusd.service
# или
sudo /etc/init.d/nessusd start- Проверьте статус службы и логи после запуска.
sudo systemctl status nessusd.service
sudo tail -n 200 /opt/nessus/var/nessus/logs/nessusd.messagesДетальная проверка и устранение причин
1) Проверка сети и доступа к серверам плагинов
- Попробуйте скачать файл напрямую с сервера плагинов, чтобы исключить блокировку:
curl -v https://plugins.nessus.org/ || wget --spider https://plugins.nessus.org/- Если соединение закрывается или тайм-аут — проверьте прокси и межсетевой экран.
- Убедитесь, что DNS работает: попробуйте ping или nslookup для plugins.nessus.org.
2) Прокси и переменные окружения
- Если вы используете корпоративный прокси, проверьте переменные окружения http_proxy, https_proxy и NO_PROXY для пользователя, под которым запускается Nessus.
- В некоторых средах нужно добавить исключение/разрешение для plugins.nessus.org на прокси или в антивирусном шлюзе.
3) Место на диске и файловые системы
- Плагины занимают место в каталоге установки /opt/nessus/var/nessus/* — проверяйте раздел, где расположен /opt.
- Если виртуальная машина, увеличьте диск в гипервизоре, затем расширьте раздел в системе (например, используя growpart + resize2fs или соответствующие инструменты для LVM).
- Команды для проверки:
df -h /opt/nessus
sudo ls -lh /opt/nessus/var/nessus/plugins | head4) Права доступа и безопасность ОС
- Проверьте права и владельца каталогов Nessus: файлы должны принадлежать пользователю/группе, под которыми запускается служба (обычно root, но проверяйте документацию вашей сборки).
sudo stat -c "%U:%G %a %n" /opt/nessus/var/nessus /opt/nessus/var/nessus/plugins- Если SELinux включён, посмотрите AVC-сообщения в /var/log/audit/audit.log; временно можно перевести в permissive для теста, но лучше добавить правильные контексты.
5) Повреждённые плагины — очистка и повторное скачивание
- Иногда помогает удалить (или переместить) текущую директорию плагинов и повторно выполнить обновление.
sudo mv /opt/nessus/var/nessus/plugins /opt/nessus/var/nessus/plugins.bak
sudo /opt/nessus/sbin/nessuscli update --all- Сохраняйте резервную копию перед удалением.
Альтернативные подходы
- Если CLI не скачивает, попробуйте подключиться к другой сети (например, мобильный хотспот) — это быстро проверит, связан ли сбой с сетью.
- Для офлайн-установки в корпоративных средах можно использовать официальные пакеты и синхронизировать плагины через прокси/репозиторий, если Tenable предоставляет такую опцию для вашей подписки.
- Временное решение — перезапуск службы и повторный запуск обновления спустя несколько минут: иногда проблема кратковременная на стороне CDN.
Контрольный чеклист для разных ролей
Для системного администратора:
- Проверить и освободить место на диске.
- Расширить диск VM и обновить разделы в гостевой ОС.
- Убедиться в корректных правах и SELinux контекстах.
Для сетевого инженера:
- Проверить правила межсетевого экрана и прокси.
- Разрешить адреса и хосты Tenable (plugins.nessus.org).
- Проверить DNS и маршрутизацию к CDN Tenable.
Для инженера по безопасности:
- Проверить логи Nessus после обновления.
- Убедиться, что новые плагины применены и тестовый скан всё ещё находит ожидаемые уязвимости.
Критерии приёмки (как понять, что всё исправлено)
- Команда обновления завершилась без ошибок.
- Логи не содержат ошибок загрузки плагинов.
- В веб-интерфейсе Nessus отображается актуальная дата последнего обновления плагинов.
- Тестовый скан показывает плагины и правила, ожидаемые в вашей среде.
Быстрая таблица проверок (мини‑методология)
- Проверить сеть (curl/wget). 2. Проверить свободное место (df -h). 3. Остановить службу. 4. Сделать резервную копию каталога plugins. 5. Запустить nessuscli update –all. 6. Запустить службу и проверить логи.
Decision flowchart (упрощённый)
flowchart TD
A[Ошибка: 'Nessus download failed'] --> B{Доступ к plugins.nessus.org?}
B -- Да --> C{Достаточно места?}
B -- Нет --> D[Проверить прокси/файрвол/интернет]
C -- Нет --> E[Освободить/увеличить диск и повторить]
C -- Да --> F[Остановить сервис и запустить nessuscli update --all]
F --> G[Запустить сервис и проверить логи]
G --> H{Ошибки в логах?}
H -- Да --> I[Просмотреть логи, прав доступа, SELinux]
H -- Нет --> J[Проверка: успешное сканирование]Частые ошибки и когда это не сработает
- Если провайдер блокирует трафик на уровне CDN, локальные операции не помогут — нужен доступ через разрешённую сеть.
- При неисправности на стороне Tenable (редкая, но возможная) обновление не пройдёт до восстановления сервиса Tenable.
- Если дисковая подсистема повреждена (ошибки файловой системы), сначала нужно исправить «нижний» уровень: fsck, замена диска.
Короткий глоссарий (1 строка each)
- Плагины — правила и подписи, которые используют сканеры для обнаружения уязвимостей.
- nessuscli — командный интерфейс Nessus для управления обновлениями и настройками.
- plugins.nessus.org — основной хост для загрузки обновлений плагинов.
Примечания по безопасности и приватности
- Не пересылайте лог-файлы с конфиденциальными данными вне доверенной среды. Логи могут содержать IP‑адреса и срезы инфраструктуры.
- При временном отключении SELinux/AppArmor тестируйте в контролируемой среде и восстановите политики после проверки.
Итог и рекомендации
Если вы последовали шагам: остановили службу, убедились в доступе к plugins.nessus.org, проверили дисковое пространство и запустили sudo /opt/nessus/sbin/nessuscli update –all, то в большинстве случаев проблема будет решена. В корпоративных сетях согласуйте действия с командой, управляющей прокси/файрволом. Если ничего не помогает — обратитесь в поддержку Tenable с логами и описанием действий.
Important: всегда сохраняйте резервные копии текущих плагинов и конфигураций перед удалением или массовыми операциями.
Короткое резюме:
- Проверьте сеть и прокси.
- Убедитесь в достаточном месте на диске.
- Запустите обновление через nessuscli и следите за логами.
- Если проблема остаётся — соберите логи и обратитесь в поддержку Tenable.