Гид по технологиям

Установка и настройка Vuls на Ubuntu 18.04

• 5 min read • Безопасность • Обновлено 22 Nov 2025
Vuls на Ubuntu 18.04 — установка и настройка
Vuls на Ubuntu 18.04 — установка и настройка

Интерфейс Vuls — пример консольного отчёта

Vuls — открытый сканер уязвимостей на Go для ежедневного анализа пакетов и библиотек. В этой инструкции показано, как установить Vuls и связанные словари (NVD/OVAL), настроить базу данных SQLite и запустить сканирование на Ubuntu 18.04.

Ключевые шаги: обновление системы, установка зависимостей и Go, сбор локальных словарей (go-cve-dictionary и goval-dictionary), установка Vuls, запуск scan и просмотр отчёта через vuls tui.

О чём этот материал

Этот пошаговый гид подходит для администратора Linux/DevOps, которому нужно быстро настроить автономный сканер уязвимостей на Ubuntu 18.04. Здесь сохранены все команды и примеры вывода, добавлены практические советы по автопросмотру баз и контрольный чеклист.

Важно: инструкция использует Go 1.13 и команды из оригинального руководства. Перед применением в продакшне проверьте требования безопасности и совместимость версий.

Что такое Vuls (в двух словах)

Vuls — бесплатный и открытый инструмент для сканирования известных уязвимостей в приложениях, ОС, промежуточном ПО, сетевых устройствах и библиотеках на языках программирования. Он уведомляет администратора при обнаружении уязвимости и умеет работать локально и по ssh.

Краткое определение: Vuls — агентless сканер уязвимостей с поддержкой SQLite для локальных словарей уязвимостей.

Требования

  • Сервер с Ubuntu 18.04.
  • Доступ root или учётная запись с sudo правами.
  • Доступ в интернет для загрузки исходников и словарей.

Быстрый план действий

  1. Обновить систему.
  2. Установить зависимости (sqlite3, git, gcc и проч.).
  3. Установить Go (в примере — go1.13).
  4. Установить и заполнить go-cve-dictionary (NVD → sqlite).
  5. Установить и заполнить goval-dictionary (OVAL Ubuntu → sqlite).
  6. Установить Vuls, создать config.toml и протестировать.
  7. Запустить vuls scan и просмотреть через vuls tui / vuls report.

Обновление системы

Перед началом обновите пакеты и перезагрузите систему:

apt-get update -y
apt-get upgrade -y

После обновления рекомендуется перезагрузить сервер для применения обновлений.

Установка зависимостей

Vuls использует SQLite для локальных словарей уязвимостей. Установите набор утилит:

apt-get install sqlite3 git debian-goodies gcc make wget -y

Далее нужно установить Go.

Установка Go

Скачайте указанную в исходнике версию Go:

wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz

Распакуйте архив в /usr/local:

tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz

Добавьте переменные окружения в /etc/profile (в конце файла):

nano /etc/profile

Добавьте строки:

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin

Загрузите переменные:

source /etc/profile

Создайте структуру каталогов для Go:

mkdir /root/go
mkdir -p $GOPATH/src/github.com/kotakanbe

Установка и настройка go-cve-dictionary (NVD → sqlite)

go-cve-dictionary формирует локальную копию NVD и загружает её в sqlite.

Скачайте исходники и соберите:

cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/go-cve-dictionary.git
cd go-cve-dictionary
make install

Скопируйте бинарный файл в /usr/local/bin:

cp $GOPATH/bin/go-cve-dictionary /usr/local/bin/

Создайте каталоги для данных и логов:

mkdir /var/log/vuls
mkdir /usr/share/vuls-data
chmod 700 /var/log/vuls

Заполните базу данных NVD (команда в примере берёт данные с 2002 года до текущего года):

for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -dbpath /usr/share/vuls-data/cve.sqlite3 -years $i; done

Примечание: загрузка может занять длительное время и потребовать значительного места на диске.

Установка и настройка goval-dictionary (OVAL для Ubuntu)

goval-dictionary собирает OVAL-данные (Open Vulnerability and Assessment Language) для Ubuntu и других дистрибутивов.

Скачивание и сборка:

cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/goval-dictionary.git
cd goval-dictionary
make install
cp $GOPATH/bin/goval-dictionary /usr/local/bin/

Загрузка OVAL данных для Ubuntu 18.04 (в команде “18” — код релиза):

goval-dictionary fetch-ubuntu -dbpath=/usr/share/vuls-data/oval.sqlite3 18

Установка Vuls

Скачайте исходники Vuls и соберите:

mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git
cd vuls
make install
cp $GOPATH/bin/vuls /usr/local/bin/

Создание конфигурации Vuls

Создайте файл конфигурации в /usr/share/vuls-data:

cd /usr/share/vuls-data
nano config.toml

Пример config.toml:

[cveDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/cve.sqlite3"

[ovalDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/oval.sqlite3"

[servers]

[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]

Сохраните файл и выполните проверку конфигурации:

vuls configtest

Ожидаемый пример вывода подтверждает, что Vuls корректно обнаружил ОС и зависимости.

Запуск сканирования

Запустите сканирование локального хоста:

vuls scan

Пример вывода показывает начало сканирования, режим (fast) и базовую сводку:

One Line Summary
================
localhost   ubuntu18.04 537 installed

To view the detail, vuls tui is useful.
To send a report, run vuls report -h.

Для просмотра подробного интерактивного отчёта используйте:

vuls tui

Интерфейс Vuls в TUI — пример экрана

Теперь можно нажать Enter и навигировать стрелками.

Рекомендации по эксплуатации

  • Регулярно обновляйте словари (NVD/OVAL). NVD обновляется часто — автоматизируйте загрузку.
  • Храните sqlite-файлы в резервной копии, если требуется историческая аналитика.
  • Для удалённых хостов используйте ssh-доступ и настройте section [servers.] с host и key.

Пример простой задачи cron для обновления NVD и OVAL раз в сутки:

0 3 * * * root /usr/local/bin/go-cve-dictionary fetchnvd -dbpath /usr/share/vuls-data/cve.sqlite3 -years $(date +"%Y") >/var/log/vuls/fetchnvd.log 2>&1
30 3 * * * root /usr/local/bin/goval-dictionary fetch-ubuntu -dbpath=/usr/share/vuls-data/oval.sqlite3 18 >/var/log/vuls/fetchoval.log 2>&1

Или systemd таймер для более гибкого управления — предпочтительнее в современных системах.

Когда метод может не подойти

  • Если требуется агентная модель с постоянной телеметрией — Vuls без агентов не предоставляет таких возможностей.
  • Для масштабного корпоративного решения с централизованным хранением и аналитикой могут потребоваться дополнительные инструменты (SIEM, CMDB).
  • Если в инфраструктуре используются нестандартные пакеты/репозитории, сопоставление OVAL/CVE может быть неполным и потребует ручной валидации.

Альтернативные подходы

  • Использовать коммерческие сканеры с поддержкой агентов (например, для облачных сред).
  • Применять OpenSCAP/OSCAP для OVAL-ориентированных проверок на базовом уровне.
  • Интегрировать результаты Vuls в систему баг-трекера или SIEM для автоматизации ответных действий.

Контрольный чеклист (роль — администратор)

  • Обновлена Ubuntu и перезагружен сервер.
  • Установлены sqlite3, git, gcc, make, wget.
  • Go установлен и GOPATH настроен.
  • go-cve-dictionary и goval-dictionary собраны и положены в /usr/local/bin.
  • Базы /usr/share/vuls-data/*.sqlite3 заполнены.
  • vuls установлен и config.toml проверен через vuls configtest.
  • Проведено тестовое сканирование vuls scan и просмотр через vuls tui.

Критерии приёмки

  • vuls configtest возвращает информацию об обнаруженной ОС и статусе зависимостей без критических ошибок.
  • vuls scan успешно завершает стадию обнаружения пакетов и выводит строку One Line Summary.
  • vuls tui отображает интерактивный отчёт.

Мини-методология обновления и обслуживания

  1. Планируйте обновления словарей как отдельную задачу (cron/systemd timer).
  2. Перед массовым применением патчей — запускайте vuls scan на тестовой группе хостов.
  3. Храните результирующие sqlite-файлы и логи 30–90 дней для аудита.
  4. Автоматизируйте оповещения (email/Slack) на основе отчётов vuls report.

Однострочные определения

  • NVD: Национальная база уязвимостей (National Vulnerability Database).
  • OVAL: Формат для описания уязвимостей и конфигурационных проверок (Open Vulnerability and Assessment Language).

Риски и смягчение

  • Риск: устаревшие словари → ложные отрицания. Смягчение: автоматическое обновление словарей.
  • Риск: высокая загрузка при массовой синхронизации. Смягчение: запуск в низкопиковое время и контроль I/O.
  • Риск: доступ по SSH с недостаточно защищёнными ключами. Смягчение: использовать ключи с passphrase и ограниченные права.

Шпаргалка команд (cheat sheet)

  • Проверка конфигурации: vuls configtest
  • Запуск сканирования: vuls scan
  • Просмотр TUI: vuls tui
  • Генерация отчёта: vuls report -h

Заключение

Вы успешно установили и настроили Vuls для Ubuntu 18.04: подготовили словари NVD/OVAL, собрали бинарники, создали конфигурацию и запустили сканирование. Для продуктивной эксплуатации автоматизируйте обновление словарей, добавьте оповещения и интегрируйте отчёты в вашу систему управления инцидентами.

Если нужны примеры автоматизации (systemd timer, готовые шаблоны для удалённых серверов или интеграции с SIEM), я подготовлю их по запросу.

Сводка

  • Vuls — удобный инструмент для автономного сканирования уязвимостей.
  • Основные компоненты: go-cve-dictionary, goval-dictionary, Vuls.
  • Автоматизируйте обновления и хранение данных для надёжной эксплуатации.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро