Security Console Best Practices

To help you be successful with the Security Console and its improvements and updates, we have provided the following recommendations.

System Requirements

When considering the system requirements for the Security Console, it is beneficial to plan for future growth instead of only the current environment. Configure the server resources for the Security Console at the higher end of system requirements whenever possible to ensure that your Security Console server is more resilient as your vulnerability program scales.

Differences in Hardware System Requirements

The Security Console and Scan Engine hardware requirements are different because the Security Console uses significantly more resources. See the hardware requirements page for further guidance.

Using a virtual machine for your deployment?

If you intend to deploy to a virtual machine, ensure that you provision the virtual machine with sufficient reserved memory according to the system requirements. The reserved memory value must match the allocated memory. For example, if you've allocated 32GB, set the reserved memory to 32GB. Configuring a virtual machine with shared memory may cause negative performance impact including out of memory events.

Server Storage Options

We recommend higher performance drives, such as those that use solid state technology.

When opting for memory-based storage, the Rapid7 Support team can help review the Security Console tuning settings for your deployment.

Network Communication

The Security Console requires communication with the Rapid7 update server to receive product updates and vulnerability content: updates.rapid7.com over TCP port 443.

Additionally, you must configure communication with the Insight Platform to send and receive vulnerability findings. To ensure uninterrupted communication, read our documentation on allowlisting the Rapid7 Servers:

Add all required network addresses on firewalls and endpoint protection to the allowlist. Also, we recommend checking to confirm if there is any SSL/TLS packet inspection occurring as this can interfere with connectivity to the Platform and product updates if not appropriately allowlisted.

Communication with Target Assets

Whenever possible, use a distributed Scan Engine. Rapid7 does not recommend relying on the local Scan Engine in most cases. If you intend to deploy a production scanning environment where the asset count is above 1,000 we highly recommend deploying distributed Scan Engines. The local Scan Engine included in the Security Console shares its resources with the application and the included PostgreSQL database. A distributed Scan Engine can reduce the chances of encountering resource contention with the Security Console.

Scan Engine Location

Where Scan Engines are located has a different outcome depending on your goal.

  • If you are trying to do a perimeter scan to see what is exposed to the internet, then a distributed Scan Engine outside of your network is recommended. It should be noted that it is not recommended to perform authenticated scans across the internet.
  • If you want to remediate internal vulnerabilities, place the Scan Engine on the same side of the firewall, and ensure to allowlist communication from the Scan Engine to your target assets. This placement avoids having your Scan Engine network traffic navigate through perimeter firewalls, tar pits, and load balancers that may either significantly slow down your scans or block the scan entirely.
Insight Agent

Network-based assessment becomes very challenging when the network is extended through technologies such as VPN. In addition to bandwidth constraints and users who may join and drop from the VPN throughout the day, each solution also has unique controls for network traffic that may need to be mitigated. Insight Agents are the most ideal solution for these environments, as they are not dependent on network connectivity via VPN to a Scan Engine.

One of the benefits of deploying Agents is that traditional scans rely on configured credentials in InsightVM in order to authenticate to the target asset, which yields more comprehensive vulnerability results. Because Insight Agents monitor the asset from within, their assessments are functionally authenticated already so that you do not have to configure credentials at all. Agent assets must have UDP port 31400 open so that the agent can respond to the Scan Engine during scanning. If this port is closed, the agent can not provide its UUID to the Scan Engine and the Security Console will not be able to use this information for correlation purposes.

Adjust Administration Settings

There are several InsightVM settings that can be optimized out of the box for increased Security Console performance.

Adjust data retention

By default, the Security Console retains all data in it forever, which can lead to decommissioned assets not being removed and too much disk space being used up. The following values are recommended as a starting point.

Data TypeRetention PeriodDetails
Scan data12 monthsIf you have any legal or audit requirements for keeping scan data, such as for PCI, scan data retention can be adjusted. If you have over 50,000 assets and you need to keep scan data longer, use the InsightVM Data Warehouse functionality to export the data to the warehouse database, and set the retention in the console to 3 months for better console efficiency.
Report data6 monthsSome reports can get quite large, so periodically removing older historical reports can help clean up the console storage, especially if you email out the reports and store them off of the Security Console.
Asset data30 daysThe asset data retention uses the last scan date of your devices to remove assets that have not been scanned in a while. We recommend running weekly network based scans against your network to help the Insight Agent more efficiently determine which data should be retained. With weekly scans, if a device has missed 4 scan cycles, it very likely doesn’t exist anymore. If the device has an Insight Agent installed on it, the last scan date will be updated whenever the agent checks in as well.
Agent data30 daysThe default data retention policy for agents on the Insight Platform is 30 days, so we recommend you also set the agent retention policy to 30 days in the InsightVM console. You can lower Security Console data retention as needed, such as when needing to remove duplicate agent results from the Security Console.

Adjust Data retention policies in Administration > Backup and Retention.

Change Security Console Update Frequency

By default, the Security Console checks for product updates every 6 hours. This frequency means that the Security Console may reboot for an update in the middle of your work day. We recommend changing the product update frequency to 24 hours and the time to outside your work hours.

Adjust Security Console updates in Administration > Updates.

Increase Session Timeout

The default session timeout in InsightVM is 600 seconds (10 minutes). We recommend increasing the timeout to 1800 seconds (30 minutes) or 3600 seconds (1 hour), so that you don’t have to keep logging back in. If you have internal session timeout requirements, you can also adjust your InsightVM settings to match.

Update the Console HTTPS Certificate

The Security Console comes with a default self-signed HTTPS certificate. Currently all administrative traffic to the Security Console is encrypted, but the traffic is not trusted by web browsers. We recommend generating a new certificate and having it signed by your internal Certificate Authority.

Adding a signed web server certificate can also help remove platform login errors between the cloud and Security Console. Ensure that the Subject Alternative Name (SAN) field is populated with the FQDN of your Security Console server.

The HTTPS certificate can be found under Administration > Web Server. See managing the Security Console for additional guidance.

Utilize Platform Login

For InsightVM customers, after improving the connection with an internally signed HTTPS certificate, we recommend that you enable Platform Login to connect your on-premise InsightVM account to your Insight Platform account. This ensures that you only need a single login to access all of your Rapid7 products. If you have an SSO provider, you can enable that on the Insight Platform for additional ease of user management.

Optionally, you can also change the default web server port from the default of 3780 to 443 if that is more convenient for your users.

The timeout settings can be found under Administration > Web Server. See managing the Security Console for additional guidance.

Reducing expensive calculations and administrative overhead

You can reduce expensive calculations and administrative overhead by organizing sites, ensuring you are efficiently running reports and pulling data, and asset tagging.

Site organization

There are many ways to organize your sites. One method we recommend is to organize sites based on function or geographical region, for example, one site for “all stores” and one for “all corporate” ranges. Another example would be to break up the sites based on continents, or as large of a geographical region as possible such as “US-East”, “US-West”, and “EMEA”. Make sure that you have Scan Engines located as close to the devices you want to scan as possible for maximum visibility and reduced bandwidth concerns.

Having fewer sites with a larger scope will help reduce administrative overhead with scoping, scheduling, and allow for ease of scalability when scanning more devices. For granular reporting and access management, use asset groups, which are much more flexible than sites. You should have one Scan Engine per site so that your sites can be scanned at the same time without overloading a single Scan Engine. If you have some sites or locations that are much larger than others, you can deploy more engines to that location and pool them together for even greater scan efficiency.

While having fewer sites helps with having fewer scheduled scans, you should still be aware of which Scan Engine is being used for those sites. Running a scan uses up RAM on the Scan Engine, and having too many scans running at once can cause scan slowdowns or potentially Scan Engine crashes due to lack of memory.

Report efficiency

Because running multiple reports and scans at once can also impact console server resources, you should stagger scans and reports whenever possible. This includes regularly reviewing scheduled jobs. Alternatively, usage of cloud reporting features can alleviate resource contention for the Security Console. These include Query Builder, Remediation Projects, and Dashboard Cards. If you have both InsightVM and InsightCloudSec, you can benefit from a shared view of risk across on-premises and cloud environments using the Executive Risk View and Remediation Hub.

You can also configure the Security Console to export data into an external Data Warehouse to obtain a richer data set for integration with your own internal reporting systems, such as Business Intelligence tools. The export performs an extract, transform, and load (ETL) process into the target warehouse using a dimensional model.

Asset Tagging

For higher efficiency, utilize Static Asset Groups and Tags instead of Dynamic Asset Groups (DAGs) or Dynamic Tags when possible. DAGs and Dynamic Tags are calculated after each and every scan or agent integration, which consumes resources. If you need to use Dynamic Asset Groups, use them strategically.

We recommend avoiding nested tags or circular references while using tags and Asset Groups, where several tags reference each other, leading to circular dependencies which can also cause database issues.

The more nested tags there are, the more operations the database needs to perform, leading to exponential performance hits and potentially causing Security Console slowdown or crashing. Tags could also be created with circular references. It is recommended to avoid any nested or circular tags to help reduce the database impact whenever any scans are performed or agents check in.

Optimize scan templates

Scan templates configure parameters for scans. You can customize scan templates to fit your environmental needs. Please see our Scan Template best practices documentation for detailed recommendations.

Configuring Shared Credentials (Authentication)

For best results it is critical that credentials are granted with root/administrator level access to fully and properly assess assets.

Configuring a service account with the right level of permissions can be time consuming, Rapid7 offers multiple solutions for credential concerns:

  • Insight Agents: Agents are installed on each endpoint and assessment occurs automatically every 6 hours, collected results are sent to the InsightVM platform, and then sent down to the InsightVM Security Console. Agents cannot perform unauthenticated (remote) vulnerability assessments. For the most accurate view of your environment, we recommend using Agent assessments for authenticated (local) assets and unauthenticated engine scans for unauthenticated (remote) assets. See scan capability comparison for more information on the functionality provided by the Agent and Scan Engine.
  • Scan Assistant: The Scan Assistant achieves the same results as a credential scan without the need for administrative credential management and provides accurate, granular vulnerability fingerprinting and assessment for assets. The Scan Assistant allows the Scan Engine to connect directly to an endpoint in order to collect data without the need for additional credentials. A secure connection is created between the Scan Engine and the Scan Assistant by using elliptic curve asymmetric encryption (ECDSA) and advanced encryption standard (AES).

Updating the Security Console

InsightVM product updates are usually weekly on Wednesday. To stay on the latest version, make sure the automatic updates are enabled, and follow the update frequency guidance mentioned above. If the Security Console does not update you may want to restart before contacting Rapid7 Support for assistance.

The InsightVM content updates include new or modified vulnerabilities. Content updates are checked every two hours and don't require a system reboot.

Make sure your Scan Engines are properly updated. As long as the Scan Engine has enough storage space and can reach the InsightVM Security Console, it should automatically update whenever it is not running a scan.

Unless you are on a Rapid7 hosted Security Console, you are also responsible for updating the underlying operating system, including applying the latest security patch and ensuring the OS version itself is still supported. This ensures you continue to receive the latest InsightVM versions.

Ensure you’re running the latest version of the InsightVM PostgreSQL database. Running an older version can cause some potential issues with the database as well as general slowdown for the console and reports.

InsightVM Database Maintenance

InsightVM includes a PostgreSQL database, to ensure optimal performance it will automatically run Auto-Vacuum. You can learn more about Auto-Vacuum on the PostgreSQL page at https://www.postgresql.org/docs/15/routine-vacuuming.html. If you have an environment with over 50,000 assets that also has a lot of frequent changes, such as adding or removing large numbers of assets, and are noticing slower console performance, you should consider running a manual database maintenance quarterly; frequency can be lowered as performance issues are resolved. In Administration under the Database header, click Maintenance > Run Manual Maintenance. This executes a “Vacuum Full Analyze” on the PostgreSQL database.

Tune the PostgreSQL Database

InsightVM has a feature called Tune Assistant that performs database auto tuning such as automatically tuning based on the amount of RAM on the Security Console server. The database will be automatically tuned upon install, but if you increase the Security Console resources after install, you will want to manually run the auto tune. To activate it, go to Administration > Run and then run the command “tune assistant” to view how the database will be tuned, and then run “tune assistant apply”. The tune will then be applied upon the next system reboot. This will have a greater impact if you have 64GB RAM or above.

You can also review this additional guidance on tuning the PostgreSQL database for more details. We recommend contacting Rapid7 Support for assistance with tuning PostgreSQL if you are utilizing memory based storage (SSD, NVMe) or if you are assessing over 75,000 assets in your environment.