Integrate an ArcSight REST On-Premises Device
Configure an ArcSight REST FlexConnector on-premises device to pull IOCs from Threat Command.
The following table shows device-specific integration characteristics:
Characteristic | Description |
---|---|
Method of pull | All new IOCs that were discovered since the previous update are pulled. |
IOC types supported | Domains, MD5 file hashes, IP addresses, and URLs. In addition, you can choose to pull the IOC event stream, including events such as add or delete. |
IOC group limitation | All IOC types can be pulled in the same group. |
Device IOC limit | The device is limited to 300,000 IOCs. |
Pulled IOCs are accompanied by the following Rapid7 enrichment data:
- Alert ID
- Severity
- Last seen
- First seen
- Source name
(Enrichment data is sent when using the Threat Command virtual appliance, from v 3.8 and later. In earlier versions, only the IOC is sent.)
To integrate the device, perform these steps (described in the following sections):
- Add an ArcSight FlexConnector REST on-premises device.
Note: Only v7.10 is supported. - Configure an ArcSight FlexConnector REST device to pull IOCs.
At this point, you will need to choose whether to pull only enriched IOCs or to pull the event stream also. - Add a connector configuration file.
Add an ArcSight REST on-premises device
The procedure to add the device to Threat Command is different depending on the version of the Threat Command virtual appliance in your environment. To determine which version is running, see Determine the Version of Virtual Appliance.
Add the on-premises device
Add the device in virtual appliance v3.9
Prerequisites:
- The Threat Command virtual appliance web interface is configured and you can access it.
- You have the credentials to access the device.
- You have administrative credentials to access Threat Command with a subscription to the Automation and TIP modules.
To add the device to Threat Command:
- From an internet browser, navigate to https://<virtual appliance IP address>
- Log in to the virtual appliance using the web access username and password.
- From the Devices page, click Devices (Pull).
- Click Add new device.
- In the Devices (Pull) screen, set up the new device:
- Type a user-defined, unique device name.
- Select the device type.
- Click Create.
- Verify that the new device was added:
- Log in to Threat Command at https://dashboard.ti.insight.rapid7.com
- From the main menu, select Automation > Integrations.
If this window is already open, refresh it by selecting Automation > Integrations from the menu.
The new device is displayed in the On-Premises tab.
Add the device in virtual appliance v4.0
Prerequisites:
- You have the credentials to access the Threat Command virtual appliance web interface.
- You have the credentials to access the device.
- You have administrative credentials to access Threat Command with a subscription to the Automation and TIP modules.
To add the device to Threat Command:
- Log in to Threat Command at https://dashboard.ti.insight.rapid7.com
- From the main menu, select Automation > Integrations.
- From the Integrations page, click On-Premises.
- Click Add new device.
- In the Add New On-Premises Device dialog, type a user-defined name for the device.
The name can contain a maximum of 50 letters, spaces, numbers, and underscores. - Select the Device type.
The default device IOCs limit is displayed. - (Optional) You can change the IOCs limit.
- Click Add.
- To verify that the new device is added, refresh the Automation > Integrations page.
Next to the device name, there is a red dot, indicating that communication has not yet been established. The dot will change to green when the device is synchronized. If the device cannot synchronize for more than 48 hours, an email warning is sent to the account administrator.
Configure an ArcSight REST device to pull IOCs
After a device has been added to the Threat Command virtual appliance, you must enable it to pull IOCs from Threat Command.
Configuration for on-premises devices
When configuring an on-premises device, it is important to know which version of the Threat Command virtual appliance is running in your environment. This will affect which Rapid7 URL is displayed in the Device Details screen and also which URL to copy into the device management console.
When running version 4.0 or later, the Legacy URL should be used only with Rapid7 support.
To determine which version of the virtual appliance is running, see Determine the version of virtual appliance.
Prerequisites
- You have the device login credentials.
- The device has been added.
- You have administrative credentials to access Threat Command with a subscription to the Automation and TIP modules.
- An IOC group for this device exists in Threat Command.
Creating IOC groups is described in Create an IOC group
- You can download and execute the ArcSight Connector file (v7.10 only).
- You have the device hostname, username, and password.
- You know whether you want to pull only IOCs or IOCs and the event stream.
- For on-premises devices, you know which version of the virtual appliance is running in your environment.
- You have the certificate information (optional).
To edit an existing connector configuration, see Change Existing ArcSight Configuration.
First, set up a connector, then add a connector configuration file. Some of the steps will differ depending on whether you are pulling only IOCs or IOCs and the event stream.
To set up a connector:
Download and run the ArcSight Connector executable file, which should resemble the following:
In the installation wizard Introduction screen, click Next.
In the Choose Install Folder screen, select a free folder for the ArcSight. Remember the directory you use. For this example, C:\program files\IntsightsRestArcSightSmartConnectors is used.
Click Next.
In the Pick Shortcut Folder screen, select where to create a program icon, then click Next.
In the Pre-Install Summary screen, review the details, then click Install.
The ArcSight Connector setup begins. This process can take some time.In the Connector Setup screen, select Add a Connector, and then click Next.
In the Connector to configure screen, select ArcSight FlexConnector REST, then click Next. In the Parameter details screen, enter the relevant details from the Threat Command Device Details screen for the defined ArcSights device, described in the next step.
Display the Threat Command device details:
In the ArcSight parameter details screen, type the information for your device, including relevant information from the Threat Command Device Details dialog:
Field Value Description Port, User Name, and Password As needed, per client Optional Configuration File intsights Required. - Type "intsights" in lowercase. - This configuration file will be created after the connector is installed. Events URL
(For virtual appliance v3.9 or earlier, click the link and copy the relevant LegacyURL.)To pull IOCs only, use the REST IOCs URL from the Threat Command Device Details screen.
To pull the IOCs and the event stream, use theREST IOC Events URLfrom the Threat CommandDevice Detailsscreen.Example
https://rest.intsights.com/arcsight/events/5abcef01234567890abcdef0?start_date=$START_AT_TIME&limit=5000
Do not change $START_AT_TIME
You must replace [APPLIANCE IP/URL] with the actual Threat Command virtual appliance IP address.
You can control the rate of events by specifying a different limit. For example, use limit=1000 to receive 1000 events at a time.
Example: https://rest.intsights.com/arcsight/events/5bfe93cbf5ea810645c33a?start\_date=$START\_AT\_TIME&limit=1000
Example
https://rest.intsights.com/arcsight/eventstreams/5abcef01234567890abcdef0?start_date=$START_AT_TIME&limit=5000
Do not change $START_AT_TIME
You must replace [APPLIANCE IP/URL] with the actual Threat Command virtual appliance IP address or URL (in this case https://rest.intsights.com).
You can control the rate of events by specifying a different limit. For example, use limit=1000 to receive 1000 events at a time.
Example: https://rest.intsights.com/arcsight/eventstreams/5bfe93cbf5ea810645c33a?start_date=$START_AT_TIME&limit=1000Authentication Type Basic Required User Name From the Threat Command Device Details Required Password From the Threat Command Device Details Required OAuth2 Client Properties File Optional Refresh Token Optional After typing the parameters, click Next.
In the destination type screen, select ArcSight Manager (encrypted), then click>Next.
The Connector Setup wizard begins.In the destination parameters screen, type the ArcSight Manager hostname, username, and password, and then click Next.
In the connector details screen, type values for the Name, Location, Device Location, and a comment (optional).
These user-defined details are used later to identify events emerging from this connector.In the certificate screen, select whether to import a certificate, then click Next.
The import process can take a while. When it is complete, the summary screen appears.In the service or standalone screen, select an option, then click Next.
At the Continue or Exit screen, select Exit, then click Next.
Click Done.
The integration is complete.
To add a connector configuration file:
- Use a text editor to create intsights.jsonparser.properties in the [INSTALL_FOLDER]\current\user\agent\flexagent\ folder.
The filename must begin with the value that was entered in the Configuration file field in the ArcSight Parameter details screen. - Use one of the following for the file contents:
Pull IOCs only
1trigger.node.location=/iocs2token.count=93token[0].name=kind4token[0].type=String5token[0].location=/kind6token[1].name=requestDate7token[1].type=String8token[1].location=/request_date9token[2].name=iocType10token[2].type=String11token[2].location=type12token[3].name=iocValue13token[3].type=String14token[3].location=value15token[4].name=bundle16token[4].type=String17token[4].location=bundle18token[5].name=updateTime19token[5].type=String20token[5].location=update_time21token[6].name=enrichment22token[6].type=String23token[6].location=enrichment24token[7].name=nextStartDate25token[7].type=String26token[7].location=/next_start_date27token[8].name=nextUrl28token[8].type=String29token[8].location=/next30event.deviceReceiptTime=__createOptionalTimeStampFromString(nextStartDate,"YYYY-MM-DDThh:mm:ss.SSSX")31event.deviceCustomString6=nextUrl32event.deviceVendor=__stringConstant("Intsights")33event.deviceProduct=__stringConstant("Intsights Virtual Appliance")34event.deviceCustomString1=iocType35event.deviceCustomString1Label=__stringConstant("IOC type")36event.deviceCustomString2=iocValue37event.deviceCustomString2Label=__stringConstant("IOC value")38event.deviceCustomString3=bundle39event.deviceCustomString3Label=__stringConstant("bundle")40event.deviceCustomString4=updateTime41event.deviceCustomString4Label=__stringConstant("IOC update time")42event.deviceCustomString5=enrichment43event.deviceCustomString5Label=__stringConstant("IOC enrichment")
Pull IOCs and event stream
1trigger.node.location=/events2token.count=103token[0].name=kind4token[0].type=String5token[0].location=/kind6token[1].name=requestDate7token[1].type=String8token[1].location=/request_date9token[2].name=iocType10token[2].type=String11token[2].location=type12token[3].name=iocValue13token[3].type=String14token[3].location=value15token[4].name=bundle16token[4].type=String17token[4].location=bundle18token[5].name=eventDate19token[5].type=String20token[5].location=event_date21token[6].name=eventType22token[6].type=String23token[6].location=event_type24token[7].name=enrichment25token[7].type=String26token[7].location=enrichment27token[8].name=nextStartDate28token[8].type=String29token[8].location=/next_start_date30token[9].name=nextUrl31token[9].type=String32token[9].location=/next33event.deviceReceiptTime=__createOptionalTimeStampFromString(nextStartDate,"YYYY-MM-DDThh:mm:ss.SSSX")34event.deviceCustomString6=nextUrl35event.deviceVendor=__stringConstant("Intsights")36event.deviceProduct=__stringConstant("Intsights Virtual Appliance")37event.deviceCustomString1=iocType38event.deviceCustomString1Label=__stringConstant("IOC Type")39event.deviceCustomString2=iocValue40event.deviceCustomString2Label=__stringConstant("IOC Value")41event.deviceCustomString3=bundle42event.deviceCustomString3Label=__stringConstant("Bundle")43event.deviceCustomDate1=__createOptionalTimeStampFromString(eventDate,"YYYY-MM-DDThh:mm:ss.SSSX")44event.deviceCustomDate1Label=__stringConstant("Event Date")45event.deviceCustomString4=eventType46event.deviceCustomString4Label=__stringConstant("Event Type")47event.deviceCustomString5=enrichment48event.deviceCustomString5Label=__stringConstant("IOC enrichment")49log.global.debug=true50log.channel.file.property.package.com.arcsight=0
- Save and close the file.