Purpose
This guide explains how to connect Rapid7 InsightVM to Logsign as a Response integration, so an analyst can query asset, vulnerability, site and scan data from InsightVM, and trigger or control scans, directly from a Logsign Incident. This is a query/action integration, not a log collection poller: it does not pull InsightVM logs into Logsign on a schedule. It only runs when an analyst (or, for the read-only methods, a correlation rule) calls one of its methods from Settings > Integrations > Responses.
InsightVM is Rapid7's on-premises vulnerability management console (the product is sometimes confused with an EDR/endpoint detection tool because of how it is labeled in some older Logsign builds; it is not an EDR, it is a vulnerability scanner and asset risk platform). The integration talks to your own Security Console over its REST API, so there is no Rapid7 cloud tenant or region to select: the host is whatever address your organization uses to reach its Security Console.
Based on the current integration manifest in the Logsign codebase, this integration is registered with disable_action_rule: true, which means it is filtered out of the automated Action Rules (correlation-triggered playbook) list in the Logsign UI. In practice this integration is available as a manual, analyst-triggered Response from inside an Incident, not as something a correlation rule fires on its own. If your build behaves differently, treat this as the current source-level behavior rather than a guarantee, since it was not confirmed against a live UI screenshot for this guide.
Prerequisites
You need network reachability from your Logsign instance to the InsightVM Security Console on its HTTPS management port (3780 by default for on-premises Security Consoles). You also need a Security Console user account dedicated to this integration; Step 1 below covers how to scope that account down from a full administrator. The exact minimum Logsign version that ships this integration was not found in release notes for this guide; the underlying code has been present in the Logsign repository since 2022, so any reasonably current Logsign 6.x build should include it, but confirm with Logsign support if you are on an older build and do not see Rapid7 InsightVM listed under Settings > Integrations > Responses.
One authentication detail to plan around: the integration authenticates with HTTP Basic Authorization (username and password) only. It does not send an InsightVM two-factor authentication token on any request. If two-factor authentication is enforced for the account you create in Step 1, every call this integration makes will fail with a 401, even with a correct username and password. Use an account that is exempt from 2FA enforcement, or disable 2FA specifically for the service account if your organization's policy allows it.
Step 1: Create a least-privilege API user on the InsightVM Security Console
Do not point this integration at a personal administrator login. Create a dedicated service account instead, scoped to only what the methods you intend to use actually require.
- Sign in to the Security Console as a Global Administrator, open Administration > Users, and create a new user (a dedicated service account, for example
svc-logsign-insightvm). - When choosing a role, avoid the built-in Global Administrator preset unless you specifically need the site-creation and site-deletion methods described below. Instead, create a custom role.
- For the read and query methods (listing sites, assets, asset groups, scans, scan engines, scan templates, and vulnerabilities), grant the custom role View Site Asset Data and View Group Asset Data, then explicitly assign that user access to the specific sites and/or asset groups you want Logsign to be able to query. A custom role with no site or asset group access attached will authenticate successfully but return empty results.
- For
start_site_scanandchange_scan_status, also grant the site-level permission Start Unscheduled Scans (and, if you want scheduled scans to remain adjustable through this account, Schedule Automatic Scans) on the sites this account can access. - For
create_new_siteanddelete_site_by_id: according to Rapid7's published documentation, site creation and deletion (the "Manage Sites" capability) is restricted to the Global Administrator role and cannot be granted through a custom role. If you need Logsign to be able to create or delete sites through this integration, the service account has to be a Global Administrator; there is no scoped middle ground on the Rapid7 side for this specific capability. If you only need the read/query and scan-control methods, skip this and keep the account scoped as a custom role. - Save the user, then use the same username and password when configuring the integration in Logsign in Step 2. InsightVM's API v3 does not use a separate API key; it authenticates with the console login credentials over Basic Auth.
The exact wording and location of these permission checkboxes can shift slightly between InsightVM releases, and this guide's permission names were taken from Rapid7's published user-management documentation rather than a live custom-role screen, so treat the permission names above as a strong starting point and confirm them against your own console version if anything is missing.
Step 2: Configure the integration in Logsign
In Logsign, go to Settings > Integrations > Responses, search for Rapid7 InsightVM, click Configure, then +Device.
| Field | Required | Value / Notes |
|---|---|---|
| Host | Yes | The full base URL of your Security Console, including the scheme and port, for example https://insightvm.yourcompany.local:3780. Unlike some other Logsign integrations, this field needs the https:// prefix; the integration passes it straight into an HTTP client that requires a scheme to build valid request URLs. Do not include the API path here, that is a separate field below. There is no fixed list of regional or cloud hosts for this integration since it always points at your own on-premises console. |
| API Path | Yes | The base path segment appended after the host, typically /api/3 for InsightVM's current REST API. This field must start with a leading slash. If you omit the leading slash, the integration concatenates the host and path with nothing in between and produces a broken URL (for example https://insightvm.yourcompany.localapi/3/sites instead of https://insightvm.yourcompany.local/api/3/sites). A trailing slash is tolerated and stripped automatically, so /api/3 and /api/3/ both work. |
| Username | Yes | The service account created in Step 1. |
| Password | Yes | The service account's password. Stored encrypted by Logsign. |
| Insecure Skip Verify | Yes | Boolean, defaults to true (TLS certificate validation is skipped). This default is convenient for consoles running a self-signed certificate, which is common for on-premises InsightVM installs, but it also means a man-in-the-middle between Logsign and the console would go undetected. If your Security Console has a certificate issued by a CA that Logsign already trusts, set this to false. |
Save the device. There is no dedicated "Test Connection" method exposed in the method list; the integration does have an internal connectivity check that calls GET /sites against your configured host and path, but it runs as part of Logsign's own device-save flow rather than as something you invoke separately.
Available Methods
Every method below is invoked from within an Incident's Responses panel by selecting the configured Rapid7 InsightVM device and the method name. Parameters marked "functionally required" are not enforced by the underlying schema (so the form will let you submit them blank), but the call will fail or return an unhelpful result without them.
get_sites
Lists sites configured in InsightVM, with asset counts, risk score and vulnerability summary per site.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | string (numeric) | No, default 0 | Zero-indexed page number. |
| size | string (numeric) | No, default 10 | Results per page. |
| sort | string, enum ASC / DESC | No, default ASC |
create_new_site
Creates a new InsightVM site. Requires the Global Administrator-level account described in Step 1.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | Yes | Site name. |
| connectionID | integer | Yes | ID of the scan engine connection to use for the site's initial scan configuration. |
| engineId | integer | No | Scan engine to assign the site to. |
| description | string | No | |
| importance | string, enum very_low / low / normal / high / very_high | No, default normal | |
| scanTemplateId | string | No | ID of the scan template to associate with the site. |
| includedTargets, excludedTargets | object (address list) | No | IP addresses or ranges to include or exclude from the site. |
| includedAssetGroups, excludedAssetGroups | object (asset group ID list) | No | Existing asset groups to include or exclude from the site. |
delete_site_by_id
Deletes a site by ID. Requires the Global Administrator-level account described in Step 1. This is destructive and not reversible from InsightVM's side; the historical scan and asset data tied to the site is removed with it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Site ID, as returned by get_sites. |
get_assets
Lists assets known to InsightVM, with host names, IP/MAC addresses, OS fingerprint and vulnerability counts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | string (numeric) | No, default 0 | |
| size | string (numeric) | No, default 10 | |
| sort | string, enum ASC / DESC | No, default ASC |
get_asset_detail_by_asset_id
Returns the full asset record for a single asset: services, software inventory, users, groups, OS fingerprint and vulnerability totals. This is typically the first call an analyst makes when pivoting from an IP or hostname in an alarm to InsightVM's view of that host.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Asset ID. InsightVM's asset ID is an internal numeric identifier, not an IP address; use asset_search or get_assets first if you only have an IP or hostname. |
asset_search
Searches assets by a single filter condition (field, operator, value or value range) combined with a match mode.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| field | string | No | InsightVM asset search field name, for example ip-address or host-name. |
| operator | string | No | InsightVM search operator, for example is or contains. |
| value | string | No | Single comparison value. |
| lower, upper | string | No | Used with range-style operators. |
| match | string, enum any / all | No | Whether multiple filters must all match or any one match. |
| values | array of string | No | Intended for operators that take multiple values (for example "in"). Based on a source-code review, the current implementation does not read this array correctly, so multi-value filters may not behave as expected; single-value filters (field/operator/value) are unaffected. This was not confirmed against a live console for this guide. |
| page, size, sort | string / enum | No | Same paging parameters as get_assets. |
Note: InsightVM's own API documents asset search as a POST request. Based on a source-code review, this integration issues the request as an HTTP GET with a body instead. Most HTTP clients and proxies tolerate this, but if your environment has anything in the path that strips bodies from GET requests, this method may return unexpected results. This was not confirmed against a live console for this guide.
get_asset_groups
Lists asset groups with asset counts, risk score and vulnerability summary per group. No parameters.
create_asset_group
Creates a static or dynamic (search-based) asset group.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | Yes | |
| assetType | string, enum static / dynamic | Yes | Dynamic groups use the search filter fields below; static groups do not. |
| description | string | No | |
| field, operator, value, lower, upper, match, values | string / array | No | Same search-filter fields as asset_search, used only when assetType is dynamic. The same values-array caveat noted for asset_search applies here. |
Note: the same GET-instead-of-POST behavior noted for asset_search applies to create_asset_group; based on source-code review this method also sends its request as an HTTP GET rather than the POST that InsightVM's API documents for group creation. Not confirmed against a live console for this guide.
delete_asset_group
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Asset group ID. |
get_scans
Lists scans, active or historical, with status, timing and vulnerability counts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | string (numeric) | No, default 0 | |
| size | string (numeric) | No, default 10 | |
| sort | string, enum ASC / DESC | No, default ASC | |
| active | boolean, enum true / false | No, default false | Filter to currently running scans only. |
get_scan_by_id
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Scan ID, as returned by get_scans or start_site_scan. |
change_scan_status
Pauses, stops or resumes a running scan.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Scan ID. |
| status | string, enum pause / stop / resume | Functionally required |
start_site_scan
Starts a new scan against a site, optionally limited to a specific list of hosts within it. This is typically used to trigger an on-demand rescan of a host that just triggered an alarm.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Site ID to scan. |
| engineId | integer | No | Overrides the site's default scan engine. |
| templateId | string | No | Overrides the site's default scan template. |
| name | string | No | Optional label for the scan. |
| hosts | array of string | No | Limit the scan to specific IP addresses or hostnames within the site instead of scanning the whole site. |
get_scan_engines
Lists configured scan engines with address, port and status. No parameters.
get_scan_templates
Lists available scan templates with their discovery, performance and check configuration. No parameters.
get_asset_vulnerabilities
Lists the vulnerabilities found on a specific asset, with per-vulnerability status and instance count.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | Functionally required | Asset ID. |
| page | string (numeric) | No, default 0 | |
| size | string (numeric) | No, default 10 | |
| sort | string, enum ASC / DESC | No, default ASC |
get_vulnerability_detail_by_asset
Returns detail for a single vulnerability on a single asset, including per-port/protocol proof and status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| assetID | integer | Functionally required | Asset ID. |
| vulnID | integer | Functionally required | Vulnerability ID, as returned by get_asset_vulnerabilities. |
Based on a source-code review, the current implementation reads both the asset and vulnerability identifiers from the same internal field, so the two values shown as separate fields in the Logsign form may not both be honored by the underlying request; in practice this can return the wrong vulnerability, or the same vulnerability regardless of which ID you enter. This was not confirmed against a live console for this guide. If you rely on this method, verify the returned result matches the vulnerability you expected before acting on it, and consider reporting this to Logsign support if you confirm the mismatch.
Notes and Limits
- This is a query/action integration, not a log collector. It does not ingest InsightVM scan results or vulnerability data into Logsign's event store on its own; each method call returns data only for the specific request an analyst (or a correlation rule, for read-only methods) makes at that moment.
- Authentication is HTTP Basic (username and password) against the Security Console's own login. There is no separate API key concept for this integration, and no support for supplying an InsightVM two-factor authentication token, so the service account must not have 2FA enforced.
- Site and scan creation/deletion require Global Administrator on the InsightVM side; the read/query methods and scan start/pause/stop/resume can run with a scoped custom role that only has visibility into specific sites or asset groups. See Step 1 for the split.
- Based on a source-code review, asset_search and create_asset_group issue their requests as HTTP GET rather than the POST that InsightVM's API documents for these operations, and both methods' multi-value filter (the "values" array) is not read correctly by the current code. None of this was confirmed against a live console for this guide; if you plan to depend on multi-value asset search filters or on group creation from Logsign, test against your own console first.
- get_vulnerability_detail_by_asset appears, from source-code review, to conflate its Asset ID and Vulnerability ID parameters. Treat results from this specific method with extra caution until verified against your own console.
- InsightVM's on-premises Security Console API does not document a rate limit (no 429 response is defined in Rapid7's published API v3 specification), unlike Rapid7's cloud APIs which do enforce one. That said, a busy console under heavy scan load may respond slowly to API calls regardless.
- The TLS verification setting (Insecure Skip Verify) defaults to true, which skips certificate validation. This is a sensible default for a self-signed on-premises console but is worth revisiting if your console has a certificate from a CA your organization already trusts.
Troubleshooting
| Symptom / Code | Likely Cause | What to Check |
|---|---|---|
| 401 Unauthorized | Wrong username or password, or the service account has two-factor authentication enforced (this integration cannot supply a 2FA token). | Re-enter the credentials in the Logsign device configuration. Confirm the account can log in to the Security Console web UI with the same credentials, and that 2FA is not required for it. |
| 403 Forbidden | The account authenticated successfully but lacks the specific permission for the method called, most commonly site creation/deletion attempted with a non-Global-Administrator account. | Check the account's role and, for create_new_site/delete_site_by_id, confirm it is a Global Administrator as described in Step 1. For other methods, confirm the relevant site/asset group permission and access assignment. |
| 404 Not Found | The site, asset, scan, asset group or vulnerability ID does not exist, or it exists but the service account has not been granted access to the site/asset group it belongs to. Rapid7's API returns 404, not 403, when a resource exists but the authenticated user is not permitted to see it, so a 404 does not always mean the ID is wrong. | Verify the ID with get_sites / get_assets / get_scans first. If the ID is confirmed correct, check whether the service account has been granted access to that specific site or asset group in Step 1. |
| Connection refused / timeout | Wrong host or port, or a firewall between Logsign and the Security Console is blocking port 3780 (or whatever port your console uses). | Confirm the Host field includes the correct scheme and port, and that the Logsign server can reach the console over HTTPS on that port. |
| TLS / certificate error | Insecure Skip Verify was set to false against a console using a self-signed or internally issued certificate that Logsign does not trust. | Either set Insecure Skip Verify back to true, or import the console's CA certificate into Logsign's trust store. |
| Broken URL in logs (host and path run together with no slash) | The API Path field was entered without a leading slash. | Confirm API Path starts with a slash, for example /api/3, not api/3. |
| 429 Too Many Requests | Not documented for the on-premises Security Console API as of this guide, but a heavily loaded console under active scanning may still respond slowly or intermittently error under load. | Retry after a short delay and check console health/CPU if it recurs. |
| Empty results from a read method | The service account has no site or asset group access assigned, even though the credentials themselves are valid. | Confirm Site Access / Asset Group Access is explicitly assigned to the service account in InsightVM, not just a role with the View permission. |