Vuls adalah Pemindai Kerentanan sumber terbuka dan gratis yang ditulis dalam Go. Ini digunakan untuk melakukan analisis kerentanan keamanan dan pembaruan perangkat lunak setiap hari. Vuls dirancang khusus untuk memindai Aplikasi, Komputer, middleware, perangkat Jaringan dan perpustakaan bahasa pemrograman untuk kerentanan yang diketahui. Vuls mengirimi Anda pemberitahuan setelah server dipengaruhi oleh kerentanan. Vuls dapat diinstal pada semua sistem operasi utama seperti Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux dan banyak lagi. Vuls juga dapat memindai sistem jarak jauh menggunakan protokol ssh. Vuls menggunakan tiga mode pemindaian cepat, root cepat dan dalam, Anda dapat memilih salah satu sesuai kebutuhan Anda.
Dalam tutorial ini, kami akan menjelaskan, cara menginstal dan mengkonfigurasi Vuls Vulnerability Scanner di server Ubuntu 18.04.
Persyaratan
- Server yang menjalankan Ubuntu 18.04.
- Kata sandi root dikonfigurasi di sistem Anda.
Memulai
Sebelum memulai, Anda perlu memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:
apt-get update -y
apt-get upgrade -y
Setelah server Anda diperbarui, mulai ulang server Anda untuk menerapkan perubahan.
Instal Dependensi yang Diperlukan
Vuls menggunakan SQLite untuk menyimpan informasi kerentanan mereka. Jadi, Anda perlu menginstal SQLite dan paket lain yang diperlukan ke sistem Anda. Anda dapat menginstal semuanya dengan perintah berikut:
apt-get install sqlite3 git debian-goodies gcc make wget -y
Setelah terinstal, Anda perlu mengunduh dan menginstal versi terbaru Go di sistem Anda.
Pertama, unduh sumber Go dengan perintah 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 variabel lingkungan untuk Go. Anda dapat mengaturnya dengan mengedit file /etc/profile:
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, muat ulang variabel lingkungan dengan perintah berikut:
source /etc/profile
Selanjutnya, buat 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.
Instal dan Konfigurasi go-cve-dictionary
Kamus go-cve adalah alat untuk membuat salinan lokal NVD (Basis Data Kerentanan Nasional). Anda dapat mengakses NVD (National Vulnerability Database) menggunakan paket Go. Kemudian, Anda harus menjalankannya dan mengambil data kerentanan untuk digunakan oleh Vuls. Jadi, Anda perlu mengunduh dan menginstal go-cve-dictionary ke sistem Anda.
Pertama, ubah direktori ke $GOPATH/src/github.com/kotakanbe dan unduh sumber 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 unduhan selesai, instal dengan perintah berikut:
cd go-cve-dictionary
make install
Perintah di atas akan membutuhkan waktu untuk diselesaikan. Setelah instalasi berhasil diselesaikan, Anda perlu menyalin biner 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 direktori log dan 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 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 mengunduh data NVD dari tahun 2002 hingga tahun ini.
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasikan goval-dictionary
Kamus pemerintah adalah alat untuk membuat salinan lokal OVAL(Open Vulnerability and Assessment Language). Paket Go juga menyediakan akses ke database OVAL untuk Ubuntu. Jadi, Anda perlu mengunduh dan menginstal goval-dictionary ke sistem Anda.
Pertama, unduh sumber kamus pemerintah 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 Konfigurasikan Vul
Selanjutnya, Anda perlu mengunduh sumber Vuls dan menginstalnya ke sistem Anda. 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 biner 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, setelah Anda selesai.
Selanjutnya, uji file konfigurasi dengan perintah berikut:
vuls configtest
Jika semuanya baik-baik saja, 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.
Pindai Sistem Anda Menggunakan Vuls
Vuls sekarang diinstal dan dikonfigurasi untuk memindai sistem lokal Anda. Untuk memindai sistem lokal Anda, 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.
Vul juga menyimpan laporan kerentanannya di file log. Anda dapat melihatnya nanti dengan perintah berikut:
vuls tui
Anda akan melihat layar berikut:
Sekarang Anda dapat menekan Enter dan menavigasi dengan panah keyboard.
Selamat! Anda telah berhasil menginstal dan mengonfigurasi 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-masing sistem. Untuk informasi lebih lanjut, Anda dapat mengunjungi dokumentasi resmi Vuls di Vuls Doc. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.