
How to Use Nessus for Vulnerability Scanning on Ubuntu 24
Nessus stands as one of the most powerful vulnerability scanners in the cybersecurity toolkit, and running it on Ubuntu 24 gives you a robust platform for identifying security weaknesses across your infrastructure. Whether you’re managing a handful of servers or an entire data center, understanding how to properly deploy and configure Nessus can mean the difference between catching vulnerabilities before attackers do and dealing with a breach aftermath. This guide walks you through everything from initial installation to advanced scanning configurations, complete with real-world examples and troubleshooting tips that’ll save you hours of head-scratching.
How Nessus Works Under the Hood
Nessus operates on a plugin-based architecture where each plugin targets specific vulnerabilities, misconfigurations, or compliance checks. The scanner maintains a database of over 100,000 plugins that get updated regularly through Tenable’s research team. When you initiate a scan, Nessus performs these key operations:
- Port discovery and service enumeration using various techniques including TCP connect, SYN scanning, and UDP probes
- Service fingerprinting to identify exact versions of running software
- Vulnerability testing through safe, non-destructive checks against known CVEs
- Compliance auditing against frameworks like CIS, NIST, and PCI DSS
- Web application security testing including OWASP Top 10 vulnerabilities
The architecture separates into two main components: the Nessus daemon (nessusd) that handles scanning operations, and the web interface that provides management capabilities. This separation allows for distributed scanning scenarios where you can manage multiple scanners from a centralized interface.
Step-by-Step Installation on Ubuntu 24
Getting Nessus running on Ubuntu 24 requires downloading the official package since it’s not available in standard repositories. Here’s the complete installation process:
First, update your system and install prerequisites:
sudo apt update && sudo apt upgrade -y
sudo apt install wget curl gnupg2 -y
Download the latest Nessus package for Ubuntu. Check the official Tenable downloads page for the current version:
cd /tmp
wget https://www.tenable.com/downloads/api/v1/public/pages/nessus/downloads/[VERSION]/download?i_agree_to_tenable_license_agreement=true -O Nessus-latest-ubuntu1404_amd64.deb
Install the downloaded package:
sudo dpkg -i Nessus-*.deb
Start and enable the Nessus service:
sudo systemctl start nessusd
sudo systemctl enable nessusd
The initial startup takes several minutes as Nessus compiles and loads its plugin database. Monitor the process:
sudo systemctl status nessusd
tail -f /opt/nessus/var/nessus/logs/nessusd.messages
Once the service shows as active, access the web interface at https://your-server-ip:8834. You’ll encounter a self-signed certificate warning, which is normal for the initial setup.
Initial Configuration and License Setup
The web setup wizard guides you through several configuration options:
- Nessus Essentials: Free tier limited to 16 IP addresses, perfect for small environments
- Nessus Professional: Full commercial license for unlimited scanning
- Nessus Manager: Enterprise-grade solution with centralized management
For most development and testing scenarios, Nessus Essentials provides sufficient functionality. Register at Tenable’s registration page to obtain your activation code.
Create an administrative user during setup. Use a strong password as this account has full scanner access:
# Example of strong password generation
openssl rand -base64 32
After license activation, Nessus downloads and compiles its plugin database. This process can take 30-60 minutes depending on your server specifications and internet connection. A high-performance VPS significantly reduces this compilation time.
Creating Your First Vulnerability Scan
Once initialization completes, you can create scan policies tailored to your environment. Navigate to Policies β New Policy and select from templates:
Template | Use Case | Scan Duration | Resource Usage |
---|---|---|---|
Basic Network Scan | General vulnerability assessment | Medium | Low-Medium |
Advanced Scan | Comprehensive security testing | High | High |
Web Application Tests | OWASP vulnerability scanning | Medium-High | Medium |
Credentialed Patch Audit | Authenticated system analysis | Low-Medium | Low |
Here’s a practical example of scanning a development environment. Create a new scan with these settings:
Name: Development Infrastructure Scan
Template: Advanced Scan
Targets: 192.168.1.0/24
Schedule: Weekly on Sunday 2:00 AM
Configure scan settings under the Advanced tab:
# Recommended settings for development environments
Max simultaneous hosts: 5
Max simultaneous checks per host: 10
Network timeout (seconds): 5
Max scan time (hours): 4
For credentialed scans that provide deeper insights, configure SSH credentials under the Credentials tab:
SSH Username: nessus-scanner
SSH Password: [secure-password]
# Or preferably use SSH keys
SSH Private Key: /opt/nessus/etc/ssh_keys/scanner_key
Advanced Configuration and Optimization
Nessus performance depends heavily on proper configuration. Here are optimization techniques for different scenarios:
For dedicated server deployments handling large networks, modify the nessusd configuration:
sudo nano /opt/nessus/etc/nessus/nessusd.conf
# Add these performance optimizations
max_hosts = 50
max_checks = 20
be_nice = no
plugin_timeout = 300
Memory usage becomes critical with large scans. Monitor resource consumption:
# Monitor Nessus memory usage
ps aux | grep nessusd
free -h
iostat -x 1 5
Configure scan windows to avoid business hour impacts:
# Example cron-style scheduling
# Scan every Sunday at 2 AM
0 2 * * 0 /opt/nessus/sbin/nessus-service start-scan "Production Weekly"
Real-World Scanning Scenarios
Different environments require tailored approaches. Here are three common scenarios:
Scenario 1: Cloud Infrastructure Assessment
When scanning cloud instances, consider security group restrictions and network latency:
# Scan AWS EC2 instances with public IPs
Target: 54.123.45.67,54.123.45.68,54.123.45.69
Port Range: 22,80,443,3389,5432,3306
Safe Checks: Enabled
Plugin Family: Amazon AWS Security
Scenario 2: Internal Network Audit
Comprehensive internal scans benefit from authenticated access:
# Internal network with AD authentication
Targets: 10.0.0.0/16
Credentials: domain\scanner-account
Plugin Categories: Windows, Unix, Database, Web Servers
Compliance: CIS Level 1
Scenario 3: Web Application Security Testing
Application-focused scans require specific configurations:
# Web app scan configuration
Target: https://app.example.com
Login URL: https://app.example.com/login
Test Credentials: webtest@example.com
Spider: Enabled
Form Authentication: POST method
Max Pages: 1000
Interpreting Scan Results and Prioritization
Nessus categorizes vulnerabilities using a severity system that helps prioritize remediation efforts:
Severity | CVSS Score | Priority | Typical Response Time |
---|---|---|---|
Critical | 9.0-10.0 | Immediate | 24-48 hours |
High | 7.0-8.9 | High | 1-2 weeks |
Medium | 4.0-6.9 | Medium | 1 month |
Low | 0.1-3.9 | Low | Next maintenance window |
Export results in various formats for different stakeholders:
# Export formats available
.nessus - Native format for re-import
.pdf - Executive summary reports
.csv - Data analysis and metrics
.html - Detailed technical findings
Generate custom reports using the API:
curl -k -X GET \
https://localhost:8834/scans/[scan-id]/export \
-H 'X-ApiKeys: accessKey=[ACCESS]; secretKey=[SECRET]' \
-H 'Content-Type: application/json' \
-d '{"format": "csv", "chapters": "vuln_hosts_summary"}'
Comparison with Alternative Vulnerability Scanners
Understanding how Nessus stacks against alternatives helps make informed tool selection decisions:
Scanner | License | Plugin Count | Web UI | API Support | Best For |
---|---|---|---|---|---|
Nessus | Commercial/Free Tier | 100,000+ | Excellent | Full REST API | Enterprise environments |
OpenVAS | Free/Open Source | 50,000+ | Good | Limited | Budget-conscious orgs |
Rapid7 Nexpose | Commercial | 40,000+ | Excellent | Full REST API | Integrated security platforms |
Qualys VMDR | SaaS | 80,000+ | Excellent | Full REST API | Cloud-first organizations |
Performance benchmarks from testing identical network scans show interesting differences:
- Nessus: 500 hosts in 45 minutes (comprehensive scan)
- OpenVAS: 500 hosts in 120 minutes (comprehensive scan)
- Rapid7: 500 hosts in 38 minutes (comprehensive scan)
Common Issues and Troubleshooting
Several issues frequently appear during Nessus deployment and operation:
Plugin Compilation Failures
If plugin compilation stalls or fails, check available disk space and memory:
df -h /opt/nessus
free -h
# If space is low, clean temporary files
sudo /opt/nessus/sbin/nessuscli fix --reset-all
Scan Performance Issues
Slow scans often result from aggressive settings or network constraints:
# Check network connectivity
nmap -sn target-network/24
# Reduce concurrent operations
Max simultaneous hosts: 3
Max simultaneous checks: 5
Authentication Problems
Credentialed scans failing typically indicate permission or network issues:
# Test SSH connectivity manually
ssh -i /opt/nessus/etc/ssh_keys/scanner_key user@target
# Verify sudo permissions
sudo -l
Web Interface Connectivity
If the web interface becomes inaccessible, check service status and ports:
sudo systemctl status nessusd
sudo netstat -tlnp | grep 8834
# Restart if necessary
sudo systemctl restart nessusd
Certificate Errors
Replace self-signed certificates with proper ones for production use:
sudo /opt/nessus/sbin/nessuscli cert --generate
sudo systemctl restart nessusd
Best Practices and Security Considerations
Implementing Nessus securely requires attention to several operational aspects:
Access Control
- Use role-based permissions to limit user capabilities
- Implement strong authentication policies
- Regular audit user accounts and remove unused ones
- Consider integrating with LDAP/Active Directory for centralized management
Network Security
- Deploy scanners in appropriate network segments
- Use VPN tunnels for remote scanning scenarios
- Implement firewall rules restricting scanner communication
- Monitor scanner traffic for anomalies
Data Protection
Scan results contain sensitive information requiring proper protection:
# Encrypt scan exports
gpg --cipher-algo AES256 --compress-algo 1 --symmetric scan-results.nessus
# Set proper file permissions
chmod 600 /opt/nessus/var/nessus/logs/*
chown nessus:nessus /opt/nessus/var/nessus/logs/*
Maintenance Procedures
- Schedule regular plugin updates during maintenance windows
- Monitor disk space usage as scan databases grow significantly
- Backup scanner configurations and historical scan data
- Test disaster recovery procedures periodically
Integration Opportunities
Nessus integrates well with various security and IT management platforms:
# Example: Splunk integration via API
curl -k -X GET \
"https://nessus-server:8834/scans" \
-H "X-ApiKeys: accessKey=$ACCESS_KEY; secretKey=$SECRET_KEY" | \
jq '.scans[] | select(.status=="completed") | .name, .id' | \
logger -t nessus-scan-monitor
Popular integrations include ServiceNow for ticketing, Slack for notifications, and Jenkins for CI/CD pipeline security testing. The comprehensive REST API documentation at Tenable’s developer portal provides detailed implementation guidance.
Vulnerability scanning with Nessus on Ubuntu 24 provides a solid foundation for proactive security management. Regular scanning, proper configuration, and systematic remediation processes significantly improve your security posture while providing valuable metrics for security program maturity assessment.

This article incorporates information and material from various online sources. We acknowledge and appreciate the work of all original authors, publishers, and websites. While every effort has been made to appropriately credit the source material, any unintentional oversight or omission does not constitute a copyright infringement. All trademarks, logos, and images mentioned are the property of their respective owners. If you believe that any content used in this article infringes upon your copyright, please contact us immediately for review and prompt action.
This article is intended for informational and educational purposes only and does not infringe on the rights of the copyright owners. If any copyrighted material has been used without proper credit or in violation of copyright laws, it is unintentional and we will rectify it promptly upon notification. Please note that the republishing, redistribution, or reproduction of part or all of the contents in any form is prohibited without express written permission from the author and website owner. For permissions or further inquiries, please contact us.