OpenVAS / Greenbone Vulnerability Management
Pengertian OpenVAS
OpenVAS (Open Vulnerability Assessment System) adalah open-source vulnerability scanner yang kini dikelola oleh Greenbone Networks sebagai bagian dari Greenbone Vulnerability Management (GVM). OpenVAS merupakan salah satu scanner paling komprehensif di dunia open-source dengan lebih dari 100.000 Network Vulnerability Tests (NVTs) yang terus diperbarui.
OpenVAS/GVM menyediakan solusi vulnerability management end-to-end: mulai dari scanning, identifikasi kerentanan, hingga pelaporan dan manajemen remediasi. Sistem ini menggabungkan scanning engine, feed NVTs, web interface, dan API manajemen dalam satu platform terintegrasi.
Arsitektur OpenVAS/GVM
OpenVAS memiliki arsitektur modular dengan beberapa komponen utama:
1. OpenVAS Scanner
OpenVAS Scanner adalah engine utama yang melakukan scanning terhadap target. Komponen ini mengeksekusi NVTs terhadap host dan jaringan target menggunakan berbagai protokol:
- OMP (Open Scanner Protocol) - protokol komunikasi antara scanner dan manager
- NVT Loading - memuat dan mengeksekusi tes kerentanan dari feed
- Parallel Scanning - melakukan scanning paralel terhadap banyak host
- Results Collection - mengumpulkan hasil deteksi ke database
2. Greenbone Security Assistant (GSA)
GSA adalah antarmuka web berbasis React untuk mengelola scanning, melihat results, dan membuat laporan. Fitur utama:
- Dashboard interaktif dengan grafik kerentanan
- Filter dan pencarian hasil
- Manajemen targets, tasks, dan schedules
- Report generation (PDF, HTML, XML)
- User management dan role-based access
3. gvm-cli (Command Line Interface)
Command-line tool untuk berinteraksi dengan GVM melalui protokol OMP. Berguna untuk otomatisasi:
# Login dan autentikasi
gvm-cli --gmp-username admin --gmp-password password socket --xml "<authenticate/>"
# Daftar targets
gvm-cli --gmp-username admin --gmp-password password socket --xml '<get_targets/>'
# Daftar tasks
gvm-cli --gmp-username admin --gmp-password password socket --xml '<get_tasks/>'
4. PostgreSQL Database
Menyimpan konfigurasi, hasil scan, dan data historis. Greenbone menggunakan PostgreSQL sebagai backend database.
Architecture Diagram
+-------------------+ OMP +------------------+ OMP +-------------------+
| OpenVAS Scanner | <---------> | GVM Manager | <---------> | Greenbone SA |
| (NVT Execution) | | (Data Mgmt) | | (Web Interface) |
+-------------------+ +------------------+ +-------------------+
| |
+----------+ +----------+
| PostgreSQL | | Web UI |
| Database | | React |
+----------+ +----------+
Instalasi dan Konfigurasi
Instalasi di Ubuntu/Debian
# Tambahkan repository Greenbone Community
export DEBIAN_FRONTEND=noninteractive
apt-get update
# Instal Greenbone Vulnerability Manager
apt-get install -y postgresql postgresql-contrib
apt-get install -y greenbone-nvt-sync greenbone-scapdata-sync greenbone-certdata-sync
# Setup PostgreSQL
su - postgres -c "createuser gvm"
su - postgres -c "createdb -O gvm gvmd"
# Inisialisasi GVM
gvm-manage-certs -a
gvmd --create-user=admin --password=admin123
Feed Management (NVTs)
Feed NVT adalah inti dari OpenVAS - berisi puluhan ribu tes kerentanan yang diperbarui setiap minggu:
# Sinkronisasi NVT Feed
greenbone-nvt-sync
# Sinkronisasi SCAP (Security Content Automation Protocol)
greenbone-scapdata-sync
# Sinkronisasi CERT (Computer Emergency Response Team)
greenbone-certdata-sync
# Verifikasi feed
gvm-feed-updater --version
# Cek jumlah NVTs
gvmd --get-nvts --count
Feed di-update setiap hari Selasa dan Jumat oleh Greenbone Community. Pastikan sistem Anda memiliki koneksi internet untuk sinkronisasi.
Scanning Policies
OpenVAS menyediakan beberapa scanning policies bawaan yang dapat disesuaikan:
1. Discovery (Penemuan)
Policy untuk mengidentifikasi host dan service yang aktif tanpa melakukan pengujian agresif:
- Port Scan: TCP SYN scan pada port umum
- Service Detection: Deteksi versi service
- OS Detection: Identifikasi sistem operasi
- Tidak ada exploit: Hanya identifikasi, tanpa pengujian kerentanan
2. Full and Fast (Lengkap dan Cepat)
Policy default yang menyeimbangkan kecepatan dan kedalaman scanning:
- Port Scan: Semua port (1-65535) menggunakan SYN scan
- Service Detection: Deteksi service dengan banner grabbing
- Vulnerability Tests: Semua NVTs yang relevan
- Safe Checks: Hanya tes aman (non-destructive)
- Optimasi: Parallelism dan timeouts otomatis
3. Full and Fast Ultimate
Policy paling agresif dan komprehensif:
- Semua port: 1-65535
- Semua NVTs: Termasuk yang berpotensi mengganggu
- Brute Force: Tes kredensial default
- DoS Detection: Deteksi potensi Denial of Service
- Waktu lama: Bisa berjam-jam hingga berhari-hari
Credential Scanning
OpenVAS mendukung authenticated scanning untuk hasil yang lebih akurat:
SSH Credentials (Linux/Unix)
# Konfigurasi SSH credential di GSA
# Settings > Credentials > New
# Protocol: SSH
# Username: root
# Password/Key: [masukkan password atau private key]
# Elevate Privileges: sudo su
# SSH Port: 22
SMB Credentials (Windows)
# Konfigurasi SMB credential di GSA
# Protocol: SMB
# Username: administrator
# Password: [masukkan password]
# Domain: WORKGROUP (opsional)
# SMB Port: 445
Authenticated scanning memberikan hasil lebih akurat karena scanner dapat memeriksa konfigurasi internal, registry, file system, dan patch level.
Scheduling
OpenVAS mendukung penjadwalan scanning otomatis:
Via GSA Web Interface
- Navigasi ke Configuration > Schedules
- Klik New Schedule
- Tentukan:
- Name: "Weekly Scan - Production"
- Timezone: Asia/Jakarta
- Period: 1 week
- Start Time: Sunday 02:00
Via gvm-cli
# Buat schedule baru
gvm-cli --gmp-username admin --gmp-password password socket --xml '
<create_schedule>
<name>Monthly Full Scan</name>
<comment>Full scan setiap awal bulan</comment>
<first_time>
<day_of_month>1</day_of_month>
<hour>2</hour>
<minute>0</minute>
</first_time>
<period>1 month</period>
</create_schedule>'
Reporting
OpenVAS menyediakan berbagai format laporan untuk memenuhi kebutuhan audit dan manajemen:
PDF Report (Management Summary)
# Generate PDF report via gvm-cli
gvm-cli --gmp-username admin --gmp-password password socket \
--xml '<get_reports report_id="REPORT_ID" format_id="c402cc3e-b531-11e1-9163-406186ea4fc5"/>' \
> laporan.pdf
HTML Report (Detail Teknis)
# Format HTML
gvm-cli --gmp-username admin --gmp-password password socket \
--xml '<get_reports report_id="REPORT_ID" format_id="a3810a0e-3682-11e1-a984-406186ea4fc5"/>' \
> laporan.html
XML Report (Machine-Readable)
# Format XML untuk integrasi SIEM
gvm-cli --gmp-username admin --gmp-password password socket \
--xml '<get_reports report_id="REPORT_ID" format_id="a994b278-1d62-11e1-96fb-406186ea4fc5"/>' \
> laporan.xml
Komponen Laporan
Setiap laporan OpenVAS mencakup:
- Executive Summary - Ringkasan tingkat tinggi untuk manajemen
- Vulnerability Distribution - Grafik distribusi severity
- Top Vulnerabilities - Kerentanan paling kritis
- Host Summary - Ringkasan per host
- Detailed Findings - Detail setiap
kerentanan:
- NVT name and ID
- CVSS v2/v3 score
- Deskripsi kerentanan
- Host dan port affected
- Impact analysis
- Solution/remediation steps
- Reference links (CVE, CWE, BID)
Interpretasi Hasil
CVSS Scores
OpenVAS menggunakan CVSS (Common Vulnerability Scoring System) untuk mengkategorikan severity:
| Skor CVSS v3 | Severity | Warna | Tindakan |
|---|---|---|---|
| 9.0 - 10.0 | Critical | Merah | Remediasi segera (24-48 jam) |
| 7.0 - 8.9 | High | Oranye | Remediasi dalam 1 minggu |
| 4.0 - 6.9 | Medium | Kuning | Remediasi dalam 1 bulan |
| 0.1 - 3.9 | Low | Hijau | Remediasi sesuai prioritas |
| 0.0 | Log / Info | Abu-abu | Tidak perlu tindakan |
False Positive Management
Tidak semua hasil OpenVAS adalah kerentanan nyata. Beberapa teknik untuk mengurangi false positive:
- Authenticated Scanning - Mengurangi false positive dengan memverifikasi patch level
- Verify Manually - Verifikasi temuan kritis secara manual sebelum melaporkan
- Scan Timing - Lakukan scanning di luar jam sibuk untuk hasil lebih akurat
- Firewall Rules - Pastikan firewall tidak memblokir probe scanning
- Network Conditions - Jaringan lambat bisa menyebabkan false positive (timeout)
- Tuning - Nonaktifkan NVT tertentu yang sering false positive di environment Anda
Perbandingan OpenVAS vs Nessus
| Aspek | OpenVAS/GVM | Nessus |
|---|---|---|
| Lisensi | Open Source (GPL) | Proprietary (Freemium) |
| Biaya | Gratis | Essentials gratis, Pro berbayar |
| NVTs/Plugins | 100.000+ (community) | 80.000+ (tenable research) |
| Update Feed | Gratis, mingguan | Gratis untuk Essentials, berbayar untuk Pro |
| Performance | Moderat | Lebih cepat (engine optimized) |
| Web Interface | GSA (React) | Nessus UI (modern) |
| API | OMP (XML-based) | REST API |
| Authenticated Scan | Ya (SSH, SMB) | Ya (lebih banyak protokol) |
| Compliance | Basic CIS/SCAP | Extensive (CIS, DISA, PCI) |
| Community | Active, open | Large, commercial |
| Dukungan | Community/Forum | Commercial support |
| Integrasi | Terbatas | Luas (SIEM, SOAR) |
Contoh Penggunaan Nyata
1. Setup Target Scan Dasar
Via GSA:
Configuration > Targets > New
Name: "Web Server Production"
Hosts: 192.168.1.10-192.168.1.20
Port List: All IANA assigned TCP
Alive Test: ICMP, TCP-ACK Service & ARP Ping
Credentials: (opsional) SSH/SMB
2. Automated Scan via Script
#!/bin/bash
# Script otomatisasi scanning dengan gvm-cli
TARGET="192.168.1.0/24"
USER="admin"
PASS="password"
# Autentikasi
gvm-cli --gmp-username $USER --gmp-password $PASS socket --xml '
<create_target>
<name>Automated Scan Target</name>
<hosts>'$TARGET'</hosts>
<port_range>1-1024,8080,8443</port_range>
</create_target>'
echo "Scan target created for $TARGET"
3. Export All Reports
#!/bin/bash
# Export semua laporan ke PDF
REPORTS=$(gvm-cli --gmp-username admin --gmp-password password socket \
--xml '<get_reports/>' | grep -o 'id="[^"]*"' | cut -d'"' -f2)
for REPORT_ID in $REPORTS; do
gvm-cli --gmp-username admin --gmp-password password socket \
--xml "<get_reports report_id=\"$REPORT_ID\" format_id=\"c402cc3e-b531-11e1-9163-406186ea4fc5\"/>" \
> "report-${REPORT_ID:0:8}.pdf"
done
Kesimpulan
OpenVAS/GVM adalah solusi vulnerability management open-source yang sangat powerfull dengan puluhan ribu NVT, scanning policies yang dapat dikustomisasi, authenticated scanning, scheduling, dan reporting yang komprehensif. Meskipun performa-nya tidak secepat Nessus, OpenVAS menawarkan alternatif gratis yang sangat capable untuk organisasi dengan anggaran terbatas. Cocok digunakan untuk SMB, institusi pendidikan, dan organisasi yang membutuhkan solusi self-hosted tanpa biaya lisensi.
Dengan pemahaman arsitektur, feed management, interpretasi hasil, dan otomatisasi via gvm-cli, tim keamanan dapat mengintegrasikan OpenVAS ke dalam pipeline security mereka secara efektif.