Nessus: Vulnerability Scanner by Tenable
Pengertian Nessus
Nessus adalah vulnerability scanner komersial yang dikembangkan oleh Tenable Network Security. Sejak dirilis pertama kali pada tahun 1998, Nessus telah menjadi standar industri untuk vulnerability assessment dengan lebih dari 80.000 plugin dan jutaan pengguna di seluruh dunia. Nessus digunakan oleh perusahaan Fortune 500, pemerintah, dan organisasi keamanan siber untuk mengidentifikasi kerentanan, misconfiguration, dan compliance issues.
Nessus tersedia dalam beberapa edisi:
- Nessus Essentials - Gratis (terbatas 16 IP)
- Nessus Professional - Berbayar (unlimited IP)
- Nessus Expert - Fitur tambahan (scanning cloud, web app)
- Tenable.io / Tenable.sc - Platform enterprise
Instalasi Nessus
Instalasi di Ubuntu/Debian
# Download Nessus
wget https://www.tenable.com/downloads/api/v1/public/pages/nessus/downloads/19357/download?i_agree_to_tenable_license_agreement=true -O Nessus.deb
# Install
dpkg -i Nessus.deb
# Start service
systemctl start nessusd
systemctl enable nessusd
# Akses web interface
# Buka browser ke: https://localhost:8834
Instalasi di Windows
- Download installer dari https://www.tenable.com/downloads/nessus
- Jalankan installer sebagai Administrator
- Pilih direktori instalasi (default: C:\Program Files\Tenable\Nessus)
- Setelah selesai, akses https://localhost:8834
- Register dengan activation code (dari email Tenable)
Aktivasi
# Cek status service
systemctl status nessusd
# Aktivasi via CLI (untuk headless server)
/opt/nessus/sbin/nessuscli fetch --register ESSENTIALS_ACTIVATION_CODE
# Cek status lisensi
/opt/nessus/sbin/nessuscli fetch --challenge
Policy-Based Scanning
Nessus menggunakan konsep scan policies untuk mendefinisikan bagaimana scanning dilakukan:
Membuat Policy
Via web interface:
Policies > New Policy
1. Pilih template (Basic Network Scan, Advanced Scan, dll)
2. Atur Settings:
- Discovery: Port scanning settings
- Assessment: Vulnerability detection settings
- Report: Verbosity, output format
- Advanced: Performance, logging
3. Simpan sebagai policy
Policy Settings Penting
-
Discovery > Port Scanning
- Port scan range: default (common ports) atau all (1-65535)
- Scan type: TCP SYN (fast), TCP Connect (accurate), UDP
- Network timeout: 5-10 detik (default)
- Max hosts per scan: 10-60 (tergantung bandwidth)
-
Assessment > General
- Enable safe checks: Ya (hindari DoS)
- Performance options: Scan IPs sequentially atau in parallel
- Credentialed checks: Enable/disable
-
Advanced > Performance
- Max checks per host: 5
- Max hosts per scan: 20
- Network read timeout: 5 detik
Contoh Membuat Basic Network Scan
Policy Name: "Production Web Servers - Weekly"
Settings:
- Discovery: TCP SYN on ports 80,443,8080,8443
- Assessment: General + Web Applications
- Report: Verbose + Remediation graph
- Port Scanning: SYN scan (fast)
Plugins Families
Nessus memiliki lebih dari 80.000 plugin yang dikelompokkan ke dalam plugin families berdasarkan kategori:
| Plugin Family | Jumlah | Fokus |
|---|---|---|
| CGI Abuses | 5.000+ | Deteksi kerentanan web application |
| CIS | 1.000+ | Compliance CIS benchmarks |
| Database | 1.500+ | Oracle, MySQL, MSSQL, PostgreSQL |
| Denial of Service | 1.000+ | Deteksi kerentanan DoS |
| DNS | 500+ | DNS misconfiguration |
| Firewall | 300+ | Firewall policy issues |
| FTP | 400+ | FTP vulnerabilities |
| Gain a shell remotely | 500+ | Remote code execution |
| General | 20.000+ | Miscellaneous vulnerabilities |
| Misc. | 15.000+ | Uncategorized |
| Port Scanners | 50+ | Service discovery |
| SCADA | 500+ | Industrial control systems |
| Service Detection | 500+ | Version detection |
| Settings | 1.000+ | Misconfiguration |
| SMTP Problems | 300+ | Email server issues |
| SNMP | 300+ | SNMP configuration |
| SSH | 200+ | SSH vulnerabilities |
| Web Servers | 3.000+ | Web server vulnerabilities |
| Windows | 10.000+ | Windows-specific vulnerabilities |
Credentialed Scans
Credentialed scanning memberikan akses lebih dalam ke sistem target untuk hasil yang lebih akurat.
Windows Credentialed Scan
Settings > Credentials > Windows
- Authentication Method: Password / Kerberos
- Username: Administrator
- Password: [password]
- Domain: (opsional)
- SMB Port: 445
Prerequisites on Windows Target:
1. Enable Remote Registry service
2. Enable File and Printer Sharing
3. Configure Windows Firewall untuk port 445, 139, 135
4. Add scanning account ke Administrators group
5. Untuk Windows 10+: Disable UAC remote restrictions
Linux Credentialed Scan (SSH)
Settings > Credentials > SSH
- Authentication Method: Password / Public Key
- Username: root (atau user dengan sudo)
- Password: [password]
- SSH Port: 22
- Elevate Privileges: sudo (with NOPASSWD)
Prerequisites on Linux Target:
1. SSH server running
2. User dengan akses sudo (NOPASSWD)
3. Port 22 accessible dari scanner
Keuntungan Credentialed Scan
- Patch Level Check - Memverifikasi patch yang terinstal vs yang dibutuhkan
- Registry/Config Check - Memeriksa konfigurasi keamanan OS
- File System Audit - Memeriksa permission file, virus, malware
- False Positive Reduction - Verifikasi langsung vs tebakan
- Compliance Scanning - Memeriksa compliance CIS/DISA
Compliance Scanning (CIS Benchmarks)
Nessus dapat melakukan compliance scanning terhadap benchmark keamanan:
CIS Benchmark untuk Linux
Policies > New Policy > Compliance & Benchmarking
- Benchmark: CIS Ubuntu Linux 22.04 LTS Benchmark
- Level: Level 1 (essential) atau Level 2 (advanced)
- Credentials: SSH required
CIS Benchmark untuk Windows
Policies > New Policy > Compliance & Benchmarking
- Benchmark: CIS Microsoft Windows Server 2022 Benchmark
- Level: Level 1 atau Level 2
- Credentials: Windows (SMB) required
Contoh Hasil Compliance
Hasil compliance scan menampilkan:
- Pass/Fail untuk setiap control
- Nilai kepatuhan persentase
- Remediation steps untuk setiap failure
- Reference ke CIS control ID
Web Application Scanning
Nessus Expert menyediakan fitur web application scanning:
Policies > New Policy > Web Application Tests
- Target URL: https://app.example.com
- Authentication: None/Form/HTTP Basic/Cookie
- Crawl Settings: Max pages, directory depth
- Attack Types:
- SQL Injection (boolean, time-based)
- XSS (reflected, stored, DOM)
- LFI/RFI
- Command Injection
- CSRF
- Directory Traversal
Mobile Device Scanning
Nessus dapat memindai perangkat mobile (iOS/Android) melalui MDM integration atau network-based detection:
- iOS: Mendeteksi jailbreak, outdated iOS version, konfigurasi MDM
- Android: Mendeteksi root, outdated Android version, sideloaded apps
- Policy Compliance: Check konfigurasi keamanan perangkat mobile
Reporting dan Export
Format Output
# Export via CLI
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f pdf -o report.pdf
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f html -o report.html
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f csv -o report.csv
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f nessus -o report.nessus
# Export via REST API
curl -H "X-ApiKeys: accessKey=KEY; secretKey=SECRET" \
"https://localhost:8834/scans/SCAN_ID/export?format=pdf" \
-o report.pdf
Jenis Laporan
- Executive Summary - Untuk manajemen, ringkasan non-teknis
- Detailed Report - Untuk tim teknis, berisi semua temuan
- Custom Report - Sesuai template organisasi
- Compliance Report - Untuk audit compliance
- Remediation Report - Fokus pada langkah perbaikan
Agent-Based Scanning
Nessus mendukung agent-based scanning untuk environment tanpa akses jaringan langsung:
Instalasi Agent (Linux)
# Download dan install Nessus Agent
rpm -ivh NessusAgent-10.5.0-ubuntu1404_amd64.deb
# Link ke Tenable.io atau Nessus Manager
/opt/nessus_agent/sbin/nessuscli agent link \
--key=LINKING_KEY \
--host=cloud.tenable.com \
--port=443
# Start agent
systemctl start nessusagent
systemctl enable nessusagent
Instalasi Agent (Windows)
1. Download Nessus Agent installer
2. Jalankan dengan Administrator
3. Link command:
"C:\Program Files\Tenable\Nessus Agent\nessuscli.exe" agent link
--key=LINKING_KEY
--host=cloud.tenable.com
--port=443
Keuntungan Agent-Based
- No Network Port Required - Agent push hasil via outbound connection
- Offline Scanning - Scan mesin yang tidak selalu online
- Local Privilege - Scanning dengan hak akses lokal penuh
- Bandwidth Efficient - Hanya mengirim hasil, bukan data mentah
- Scalable - Cocok untuk ribuan endpoint
Nessus vs OpenVAS Comparison
| Aspek | Nessus | OpenVAS / GVM |
|---|---|---|
| Harga | Essentials gratis (16 IP), Pro berbayar | Gratis (open source) |
| Plugin/NVTs | 80.000+ (Tenable Research) | 100.000+ (Community) |
| Kecepatan Scan | Sangat cepat (optimized engine) | Moderat |
| Web UI | Modern, intuitif | Fungsional, kurang modern |
| API | REST API (lengkap) | OMP (XML-based) |
| Kualitas Deteksi | Sangat tinggi (tim riset dedicated) | Tinggi (community) |
| False Positives | Rendah (tuning mature) | Moderat |
| Compliance | Extensive (CIS, DISA, PCI, HIPAA, dll) | Basic (CIS, SCAP) |
| Agent-based | Ya (Nessus Agent) | Tidak |
| Mobile Scan | Ya | Tidak |
| Web App Scan | Ya (Expert) | Terbatas |
| Dukungan | Commercial (24/7) | Community/Forum |
| Integrasi | SIEM, SOAR, ITSM | Terbatas |
Contoh Penggunaan Nyata
1. Basic Network Scan via REST API
#!/bin/bash
# Automatisasi scan via Nessus REST API
API_URL="https://localhost:8834"
API_KEY="your-api-key-here"
# Buat scan baru
curl -s -k -H "X-ApiKeys: accessKey=$API_KEY" \
-X POST "$API_URL/scans" \
-H "Content-Type: application/json" \
-d '{
"uuid": "ad629e16-03b6-8c1d-cef6-ef8c9dd3c658",
"settings": {
"name": "Weekly Scan - Production",
"description": "Automated weekly vulnerability scan",
"policy_id": 123,
"text_targets": "192.168.1.0/24",
"launch": "WEEKLY",
"starttime": "20250101T020000",
"rrules": "FREQ=WEEKLY;INTERVAL=1;BYDAY=SU"
}
}'
2. Remediation Tracking
Setelah scanning selesai, Nessus menyediakan remediation plan:
Reports > Scan > Remediation
- Filter by severity: Critical, High
- Action items terurut berdasarkan risk
- Tampilkan:
- Affected hosts
- Recommended fix
- Patch/update URL
- Workaround
3. Integrasi dengan SIEM
Nessus dapat mengirim hasil ke SIEM melalui syslog:
Settings > Advanced > Syslog
- Syslog Server: 192.168.1.100 (Splunk/ELK)
- Syslog Port: 514
- Facility: Local7
- Format: CEF (Common Event Format)
Kesimpulan
Nessus adalah vulnerability scanner enterprise-grade dengan kualitas deteksi yang sangat baik, kecepatan scanning yang optimal, dan ekosistem plugin yang mature. Meskipun berbayar untuk penggunaan penuh, Nessus Essentials menyediakan akses gratis untuk lingkungan kecil (hingga 16 IP). Keunggulan utama Nessus terletak pada credentialed scanning, compliance benchmarking, agent-based architecture, dan integrasi SIEM yang ekstensif - menjadikannya pilihan utama untuk organisasi yang membutuhkan vulnerability management solution yang reliable dan didukung secara komersial.