Поиск по сайту:

Как установить и использовать сканер уязвимостей Vuls в Ubuntu 18.04 LTS


На этой странице

  1. Требования
  2. Начало работы
  3. Установите необходимые зависимости
  4. Установка и настройка словаря go-cve
  5. Установка и настройка goval-dictionary
  6. Установка и настройка Vuls
  7. Просканируйте свою систему с помощью Vuls

Vuls — это бесплатный сканер уязвимостей с открытым исходным кодом, написанный на Go. Он используется для ежедневного анализа уязвимостей системы безопасности и обновления программного обеспечения. Vuls специально разработан для сканирования приложений, компьютеров, промежуточного программного обеспечения, сетевых устройств и библиотек языков программирования на наличие известных уязвимостей. Vuls отправит вам уведомление, как только серверы будут затронуты уязвимостью. Vuls можно установить на все основные операционные системы, такие как Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux и многие другие. Vuls также может сканировать удаленную систему по протоколу ssh. Vuls использует три режима сканирования: быстрый, быстрый root и глубокий, вы можете выбрать любой из них в соответствии с вашими требованиями.

В этом руководстве мы объясним, как установить и настроить сканер уязвимостей Vuls на сервере Ubuntu 18.04.

Требования

  • Сервер под управлением Ubuntu 18.04.
  • В вашей системе настроен пароль root.

Начиная

Перед запуском вам нужно будет обновить вашу систему до последней версии. Вы можете сделать это, выполнив следующую команду:

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

После обновления сервера перезапустите его, чтобы изменения вступили в силу.

Установите необходимые зависимости

Vuls использует SQLite для хранения информации об уязвимостях. Итак, вам нужно будет установить SQLite и другие необходимые пакеты в вашу систему. Вы можете установить их все с помощью следующей команды:

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

После установки вам нужно будет загрузить и установить последнюю версию 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

Далее вам нужно будет настроить несколько переменных среды для Go. Вы можете настроить его, отредактировав файл /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

Словарь go-cve — это инструмент для создания локальной копии NVD (национальной базы данных уязвимостей). Вы можете получить доступ к NVD (Национальной базе данных уязвимостей) с помощью пакета Go. Затем вам нужно будет запустить его и получить данные об уязвимостях для использования Vuls. Итак, вам нужно скачать и установить go-cve-dictionary в вашу систему.

Сначала измените каталог на $GOPATH/src/github.com/kotakanbe и загрузите исходный код go-cve-dictionary из репозитория Git с помощью следующей команды:

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

После завершения загрузки установите его с помощью следующей команды:

cd go-cve-dictionary
make install

Выполнение приведенной выше команды займет некоторое время. После успешного завершения установки вам нужно будет скопировать двоичный файл go-cve-dictionary в каталог /usr/local/bin. Вы можете сделать это с помощью следующей команды:

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

go-cve-dictionary также требуется каталог журналов и данных для хранения их журналов и данных. Поэтому вам нужно будет создать каталог журналов и данных. Вы можете создать их с помощью следующей команды:

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

Затем извлекает данные об уязвимостях из NVD и вставляет их в sqlite3 с помощью следующей команды:

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

Приведенная выше команда загрузит данные NVD с 2002 по текущий год.

Как только вы это сделаете, вы можете перейти к следующему шагу.

Установить и настроить goval-словарь

goval-dictionary — это инструмент для создания локальной копии OVAL (Open Vulnerability and Assessment Language). Пакет Go также обеспечивает доступ к базе данных OVAL для Ubuntu. Итак, вам нужно скачать и установить goval-dictionary в вашу систему.

Сначала загрузите исходный код goval-dictionary из репозитория Git с помощью следующей команды:

cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/goval-dictionary.git

Затем установите его с помощью следующей команды:

cd goval-dictionary
make install

Затем скопируйте его в каталог /usr/local/bin с помощью следующей команды:

cp $GOPATH/bin/goval-dictionary /usr/local/bin/

Затем получите данные OVAL для Ubuntu 18.04 с помощью следующей команды:

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

Как только вы это сделаете, вы можете перейти к следующему шагу.

Установите и настройте Vuls

Затем вам нужно будет загрузить исходный код Vuls и установить его в свою систему. Вы можете загрузить его из репозитория Git с помощью следующей команды:

mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git

Затем измените каталог на vuls и установите его с помощью следующей команды:

cd vuls
make install

После установки вам нужно будет скопировать двоичный файл vuls в каталог /usr/local/bin. Вы можете сделать это с помощью следующей команды:

cp $GOPATH/bin/vuls /usr/local/bin/

Далее вам нужно будет создать файл конфигурации vuls в каталоге /usr/share/vuls-data:

cd /usr/share/vuls-data
nano 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

Если все в порядке, вы должны увидеть следующий вывод:

[Sep 17 16:01:39]  INFO [localhost] Validating config...
[Sep 17 16:01:39]  INFO [localhost] Detecting Server/Container OS... 
[Sep 17 16:01:39]  INFO [localhost] Detecting OS of servers... 
[Sep 17 16:01:39]  INFO [localhost] (1/1) Detected: localhost: ubuntu 18.04
[Sep 17 16:01:39]  INFO [localhost] Detecting OS of static containers... 
[Sep 17 16:01:39]  INFO [localhost] Detecting OS of containers... 
[Sep 17 16:01:39]  INFO [localhost] Checking Scan Modes...
[Sep 17 16:01:39]  INFO [localhost] Checking dependencies...
[Sep 17 16:01:39]  INFO [localhost] Dependencies... Pass
[Sep 17 16:01:39]  INFO [localhost] Checking sudo settings...
[Sep 17 16:01:39]  INFO [localhost] sudo ... No need
[Sep 17 16:01:39]  INFO [localhost] It can be scanned with fast scan mode even if warn or err messages are displayed due to lack of dependent packages or sudo settings in fast-root or deep scan mode
[Sep 17 16:01:39]  INFO [localhost] Scannable servers are below...
localhost 

Как только вы это сделаете, вы можете перейти к следующему шагу.

Сканируйте свою систему с помощью Vuls

Теперь Vuls установлен и настроен для сканирования вашей локальной системы. Чтобы просканировать локальную систему, выполните следующую команду:

vuls scan

Вы должны увидеть следующий вывод:

[Sep 17 16:02:20]  INFO [localhost] Start scanning
[Sep 17 16:02:20]  INFO [localhost] config: /usr/share/vuls-data/config.toml
[Sep 17 16:02:20]  INFO [localhost] Validating config...
[Sep 17 16:02:20]  INFO [localhost] Detecting Server/Container OS... 
[Sep 17 16:02:20]  INFO [localhost] Detecting OS of servers... 
[Sep 17 16:02:20]  INFO [localhost] (1/1) Detected: localhost: ubuntu 18.04
[Sep 17 16:02:20]  INFO [localhost] Detecting OS of static containers... 
[Sep 17 16:02:20]  INFO [localhost] Detecting OS of containers... 
[Sep 17 16:02:20]  INFO [localhost] Checking Scan Modes... 
[Sep 17 16:02:20]  INFO [localhost] Detecting Platforms... 
[Sep 17 16:02:21]  INFO [localhost] (1/1) localhost is running on other
[Sep 17 16:02:21]  INFO [localhost] Detecting IPS identifiers... 
[Sep 17 16:02:21]  INFO [localhost] (1/1) localhost has 0 IPS integration
[Sep 17 16:02:21]  INFO [localhost] Scanning vulnerabilities... 
[Sep 17 16:02:21]  INFO [localhost] Scanning vulnerable OS packages...
[Sep 17 16:02:21]  INFO [localhost] Scanning in fast mode


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

Вы должны увидеть следующий экран:

Теперь вы можете нажать Enter и перемещаться с помощью стрелок на клавиатуре.

Поздравляем! вы успешно установили и настроили сканер уязвимостей Vuls на сервере Ubuntu 18.04. Теперь вы можете легко сканировать локальную систему, а также несколько удаленных систем и создавать отчет об уязвимостях для каждой из них. Для получения дополнительной информации вы можете посетить официальную документацию Vuls в Vuls Doc. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.