TDCTF Academy Logo TDCTF ACADEMY

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

  1. Navigasi ke Configuration > Schedules
  2. Klik New Schedule
  3. 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:

  1. Executive Summary - Ringkasan tingkat tinggi untuk manajemen
  2. Vulnerability Distribution - Grafik distribusi severity
  3. Top Vulnerabilities - Kerentanan paling kritis
  4. Host Summary - Ringkasan per host
  5. 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:

  1. Authenticated Scanning - Mengurangi false positive dengan memverifikasi patch level
  2. Verify Manually - Verifikasi temuan kritis secara manual sebelum melaporkan
  3. Scan Timing - Lakukan scanning di luar jam sibuk untuk hasil lebih akurat
  4. Firewall Rules - Pastikan firewall tidak memblokir probe scanning
  5. Network Conditions - Jaringan lambat bisa menyebabkan false positive (timeout)
  6. 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.

PADA HALAMAN INI