How to Scan Websites Using Nessus
Home > Nessus-Vulnerability-Scanner > How to Scan Websites Using Nessus
Website Vulnerability Scanning Using Nessus
Purpose
This article provides step-by-step instructions to perform authenticated and unauthenticated vulnerability scans on web applications using Nessus. It also covers enabling required plugins and applying rate limits to avoid impacting production systems.
Prerequisites
- Nessus Essentials / Professional / Tenable.sc / Tenable.io
- Valid credentials for the target website (if authenticated scan is required)
- Target website URL or server IP
- Approved maintenance window (recommended)
Scope
This procedure scans only the approved website or web server. It must not be used to scan systems outside the authorized scope.
Steps
- Create a New Scan
- Log in to Nessus.
- Click New Scan → select Advanced Scan.
- Enter a suitable name and description.
- Under the Targets field, enter:
- Website FQDN (e.g., https://portal.example.com)
- Server IP (if required)
- Enable All Relevant Plugins
- Go to the Plugins tab.
- Ensure all plugins are enabled.
- Verify the following plugin families remain enabled:
- Web Servers
- Web Application Vulnerabilities
- SSL/TLS Configuration Checks
- CGI Abuses
- Authentication Checks
- Configure Authentication
Nessus provides several credential categories. Use the appropriate one depending on the authentication method required by the application:
- Cloud Services
- API Gateway
- Database
- Host
- Miscellaneous
- Plaintext Authentication
Steps to Add Web Authentication:
- Go to Credentials.
- Select appropriate method:
- Host → HTTP/HTTPS Credentials for basic site authentication
- Miscellaneous → HTTP Headers for session cookies or tokens
- Enter required fields:
- Username
- Password
- Domain (if applicable)
- Cookie or header name/value (for token-based / session-based login)
- Save the authentication configuration.
Notes:
- Nessus does not support full form-based login automation like Burp Suite.
- Use session cookies or tokens for authenticated scans.
- For OAuth/Bearer tokens, insert the token under Miscellaneous → HTTP Headers.
- Use API Gateway credentials when scanning API endpoints with authentication.
- Apply Rate Throttling (To Prevent Overloading Servers)
Navigate to Settings → Advanced and configure the following recommended limits:
- Max concurrent checks per host: 1
- Max concurrent hosts: 1
- Network receive timeout: 5 seconds
- Max time per host: 1 hour (adjust based on environment)
These settings help ensure low-impact scanning on production websites.
- Limit the Scan to the Website Only
- Go to Settings → Discovery → Host Discovery and disable:
- ARP Ping
- ICMP Ping
- Reverse DNS Lookups
- Go to Advanced → Enable "Avoid scanning unreachable hosts".
- Ensure only the intended FQDN/IP is included in the Targets list.
- Go to Settings → Discovery → Host Discovery and disable:
- Start the Scan
- Review all settings.
- Click Launch.
- Monitor scan progress in real time.
- Review and Export Report
- Open the scan report.
- Filter vulnerabilities by:
- Critical
- High
- Medium
- Low
- Export results as:
- CSV
Best Practices
- Always use an approved testing window when scanning production systems.
- Prefer authenticated scans for deeper insight into vulnerabilities.
- Ensure authentication tokens/cookies are valid before starting a scan.
- Always update Nessus plugins before scanning.
References
- Tenable Nessus Documentation: https://docs.tenable.com/nessus