Vuls adalah Vulnerability Scanner free dan open source yang ditulis dalam Bahasa Go. Aplikasi ini digunakan untuk melakukan analisis kerentanan dan pembaruan perangkat lunak dalam basis harian. Vuls dirancang khusus untuk memindai Aplikasi, Komputer, middleware, perangkat Jaringan dan libraries bahasa pemrograman untuk mengetahui kerentanan.

Vuls juga memiliki mengirimi Anda pemberitahuan setelah server terpengaruh oleh kerentanan. Vuls dapat diinstal pada semua sistem operasi utama seperti Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux dan banyak lagi. Selain itu Vuls juga dapat memindai sistem jarak jauh menggunakan protokol ssh. Vuls menggunakan tiga mode pemindaian, fast, fast root tdan deep, Anda dapat memilih salah satu sesuai kebutuhan Anda.

Dalam tutorial ini, kami akan menjelaskan, cara menginstal dan mengkonfigurasi Vulnerability Scanner pada server Ubuntu 18.04.

Persyaratan Tutorial

  • Server yang menjalankan Ubuntu 18.04.
  • Masuk sebagai root atau user dengan hak sudo

Sebelum Mulai

Sebelum memulai, Anda perlu memperbarui sistem dengan versi terbaru. Anda dapat melakukan ini dengan menjalankan perintah berikut:

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

Setelah server Anda diperbarui, restart server Anda untuk menerapkan perubahan.

Instal Dependesi yang Diperlukan

Vuls menggunakan SQLite untuk menyimpan informasi kerentanan. Jadi, Anda perlu menginstal SQLite dan paket lain yang diperlukan ke sistem. Anda dapat install packet yang di perlukan dengan perintah berikut:

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

Setelah terinstal, langkah selanjutnya adalah download dan install Go versi terbaru di sistem Anda.

Pertama, download source Go dengan perintah wget berikut :

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

Setelah diunduh, ekstrak file yang diunduh ke direktori /usr/local dengan perintah berikut:

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

Selanjutnya, Anda perlu menyiapkan beberapa environment variables untuk Go. Anda dapat mengaturnya dengan mengedit file /etc/profile dengan perintah nano:

nano /etc/profile

Tambahkan baris berikut di akhir file:

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

Simpan dan tutup file setelah Anda selesai. Kemudian, reload environment variables dengan perintah source:

source /etc/profile

Selanjutnya, buat direktori dan struktur direktori untuk Go dengan perintah berikut:

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Install dan Konfigurasi go-cve-dictionary

go-cve-dictionary adalah alat untuk membuat salinan lokal NVD (National Vulnerabilities Database). Dengan begini, Anda dapat mengakses NVD menggunakan paket Go. Kemudian, Anda harus menjalankannya dan mengambil data kerentanan untuk digunakan Vuls. Jadi, Anda perlu mengunduh dan menginstal go-cve-dictionary ke sistem Anda.

Pertama, ubah direktori menjadi $GOPATH/src/github.com/kotakanbe dan unduh source untuk go-cve-dictionary dari repositori Git dengan perintah berikut:

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

Setelah download selesai, instal dengan perintah berikut:

cd go-cve-dictionary
 make install

Perintah di atas mungkin akan memakan waktu untuk diselesaikan. Setelah instalasi selesai dengan sukses, Anda perlu menyalin binary go-cve-dictionary ke direktori /usr/local/bin . Anda dapat melakukannya dengan perintah berikut:

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

go-cve-dictionary juga membutuhkan log dan direktori data untuk menyimpan log dan datanya. Jadi, Anda perlu membuat log dan direktori data. Anda dapat membuatnya dengan perintah berikut:

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

Selanjutnya, ambil data kerentanan dari NVD dan masukkan ke database sqlite3 dengan perintah berikut:

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

Perintah di atas akan download data NVD dari tahun 2002 ke tahun sekarang.

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasikan goval-dictionary

goval-dictionary adalah tool untuk membuat salinan lokal dari OVAL (Open Vulnerability and Assessment Language). Paket Go juga menyediakan akses ke database OVAL untuk Ubuntu. Jadi, Anda perlu mengunduh dan menginstal kamus pemerintah ke sistem Anda.

Pertama, download source goval-dictionary dari repositori Git dengan perintah berikut:

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

Selanjutnya, instal dengan perintah berikut:

cd goval-dictionary
 make install

Selanjutnya, salin ke direktori /usr/local/bin dengan perintah berikut:

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

Selanjutnya, ambil data OVAL untuk Ubuntu 18.04 dengan perintah berikut:

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi Vuls

Selanjutnya, Anda download source Vuls dan menginstalnya ke sistem. Anda dapat mengunduhnya dari repositori Git dengan perintah berikut:

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

Selanjutnya, ubah direktori menjadi vuls dan instal dengan perintah berikut:

cd vuls
 make install

Setelah terinstal, Anda perlu menyalin binary vuls ke direktori /usr/local/bin. Anda dapat melakukannya dengan perintah berikut:

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

Selanjutnya, Anda perlu membuat file konfigurasi vuls di direktori /usr/share/vuls-data:

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

Tambahkan baris berikut:

[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" ]

Simpan dan tutup file, ketika Anda selesai.

Selanjutnya, uji file konfigurasi dengan perintah berikut:

vuls configtest

Jika konfigurasi berjalan dengan benar, Anda akan melihat output berikut:

[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 

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Scan Sistem Anda Menggunakan Vuls

Vuls sekarang diinstal dan dikonfigurasi untuk memindai sistem lokal. Untuk scan sistem lokal, jalankan perintah berikut:

vuls scan

Anda akan melihat output berikut:

[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 juga menyimpan laporan kerentanan mereka dalam file log. Anda dapat melihatnya nanti dengan perintah berikut:

vuls tui

Anda akan melihat layar berikut:

Anda sekarang dapat menekan Enter dan menavigasi dengan panah keyboard.

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi pemindai kerentanan Vuls di server Ubuntu 18.04. Anda sekarang dapat dengan mudah memindai sistem lokal serta beberapa sistem jarak jauh dan menghasilkan laporan kerentanan untuk masing-masingnya. Untuk informasi lebih lanjut, Anda dapat mengunjungi dokumentasi resmi Vuls di Vuls Doc.