Introduction
OpenVAS (Open Vulnerability Assessment System) is a powerful open-source vulnerability scanner and the free successor to Nessus. In 2026, it remains the reference tool for cybersecurity professionals and pentesting beginners. It detects over 50,000 known vulnerabilities via a daily updated database (NVTs).
Why use it? Unlike paid tools, OpenVAS is completely free, scalable, and integrable into CI/CD pipelines. Think of it as an automatic doctor that examines your servers, applications, and networks to spot zero-day flaws, critical CVEs, and misconfigurations. This beginner tutorial guides you from installation on Kali Linux to your first scans via the GSA (Greenbone Security Assistant) web interface. By the end, you'll be able to run full audits in under 30 minutes. Ready to secure your assets? (128 words)
Prerequisites
- Virtual or physical machine with Kali Linux 2024.1+ (minimum 8 GB RAM, 4 CPU cores, 50 GB disk).
- Root access (use
sudo -i). - Stable internet connection to download vulnerability feeds (>10 GB of data).
- Basic knowledge of Linux terminal and networking concepts (ports, IP).
- Modern web browser (Firefox/Chromium).
Update the System
apt update && apt upgrade -y
apt autoremove -y && apt autoclean
rebootThis command updates all Kali packages to prevent conflicts during OpenVAS installation. The reboot is essential because some kernels or dependencies require a restart. Common pitfall: Skipping the reboot leads to dependency errors later.
Installing OpenVAS Packages
Kali includes OpenVAS natively via its repositories. Run the following command to install the full framework, including the scanner, manager (GVMD), and GSA interface.
Install OpenVAS
apt install -y openvas
gvm-setupapt install openvas deploys all components (OpenVAS Scanner, GVMD, GSA). gvm-setup automatically configures the admin user and syncs NVT/SCAP/CERT feeds (wait 10-30 minutes). At the end, note the admin password displayed: it's your GSA access key. Avoid interrupting this script, or resync with greenbone-feed-sync.
Verify the Installation
Check that everything is running smoothly. If errors appear, resync the feeds.
Verify and Set Up Admin
gvm-check-setup
printf 'admin
MonMotDePasse123!
' | gvmd --create-user=admin --role=Admin
printf 'admin
MonMotDePasse123!
' | gvmd --user=admin --new-password=MonMotDePasse123!gvm-check-setup validates the installation (must show 'OK'). The gvmd commands create/reset the admin user with a strong password. Always use complex passwords in production. Pitfall: Without the Admin role, you won't be able to create scans via GSA.
Start OpenVAS Services
systemctl daemon-reload
gvm-start
netstat -tuln | grep -E ':9392|:9390'gvm-start launches GSA (port 9392), GVMD (9390), and the scanner. netstat confirms the ports are open. In production, use systemctl enable openvas* for auto-start. Avoid gvm-stop without saving in-progress tasks.
Access the GSA Web Interface
Open your browser and go to https://127.0.0.1:9392 (ignore the self-signed SSL warning). Log in with admin / MonMotDePasse123!.
Visual Steps:
- Dashboard > Configuration > Targets: Create a target (e.g., IP of your test machine).
- Scans > Tasks: New task > Select target + 'Full and fast' scan config.
- Start the scan and check Reports for results (High/Medium/Low risks).
Analogy: GSA is like an airplane cockpit dashboard for your scans.
Run a Scan via CLI (GMP)
omp -u admin -w MonMotDePasse123! -h 127.0.0.1 -T 'Scan test local' --create-task 'Full and fast' --target 127.0.0.1
omp -u admin -w MonMotDePasse123! -h 127.0.0.1 -v --get-tasks
omp -u admin -w MonMotDePasse123! -h 127.0.0.1 -T 'Scan test local' --start-task
sleep 60
omp -u admin -w MonMotDePasse123! -h 127.0.0.1 --get-reports --format html > report.htmlThese OMP (GMP protocol) commands create, start a scan on localhost, and generate an HTML report. sleep 60 waits for completion (adjust for small scans). Perfect for automation scripts. Pitfall: Forget --format and the report is raw unreadable text.
Sync Feeds (Maintenance)
greenbone-feed-sync --type all
gvm-feed-update-config-feed
gvm-feed-update
systemctl restart openvas-scanner gvmd gsadgreenbone-feed-sync updates NVT/SCAP/CERT databases daily (crucial for recent CVEs). gvm-feed-update refreshes internal configs. Restart services afterward. In 2026, automate via cron: 0 2 /usr/sbin/greenbone-feed-sync --type all.
Best Practices
- Update feeds daily: Use cron for
greenbone-feed-syncto catch the latest CVEs. - Scan in non-production first: OpenVAS generates heavy traffic (SYN floods, etc.) that can DoS servers.
- Use credentials for authenticated scans: Enable SSH/WinRM in targets to detect internal vulns.
- Limit target ports: 'Top 100 TCP' instead of 'All' for 10x faster scans.
- Export reports as PDF: GSA > Reports > Actions > Export for compliance audits.
Common Errors to Avoid
- Interrupting gvm-setup: Causes corrupted databases; rerun
gvm-setupor reinstall. - Ports blocked by firewall: Open 9392/tcp (
ufw allow 9392) and check withnetstat. - Lost password: Use
gvmd --user=admin --new-password=NEWbeforegvm-start. - Scans stuck on 'Alive Test': Check network (ping target) and increase timeout in config.
Next Steps
- Official documentation: Greenbone Docs.
- Integrate with Ansible: Automate scans via
community.general.openvas_task. - Upgrade to GVM Enterprise for >1000 assets.
- Expert training: Master pro OpenVAS with our Learni cybersecurity and pentesting courses.