Integrate an ArcSight REST Cloud Device
Configure an ArcSight REST FlexConnector cloud device to pull IOCs from Threat Command.
When IOCs are pulled, only new IOCs that were discovered since the last update (the delta) are pulled.
Pulled IOCs are accompanied by the following Rapid7 enrichment data:
- Alert ID
- Severity
- Last seen
- First seen
- Source name
IOC groups for this device can consist of domains, URLs, IP addresses, and file hashes (MD5 only). In addition, you can choose to pull the IOC event stream, including events such as add or delete.
The integration requires the following steps:
- Add an ArcSight FlexConnector REST cloud device.
Note: Only v7.10 is supported. - Configure an ArcSight FlexConnector REST cloud 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 FlexConnector REST cloud device
Add a cloud device to Threat Command.
Prerequisites
- 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 a cloud 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 Cloud.
- Click Add new device.
- In the Add New Cloud 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.
The new device is added to the cloud integrations device list. 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 FlexConnector 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.
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
IOC groups for this device can consist of domains, URLs, IP addresses, and file hashes (MD5 only).
- You can download and execute the ArcSight Connector file (v7.10 only).
- You have the device hostname, username, and password.
- You have the certificate information (optional).
- You have the Threat Command account ID and appliance key.
- For more information about generating, revoking, and displaying these credentials, see API key, account ID, and appliance key.
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 CommandDevice 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:
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/IOCs URL Paste theAPI Root URLfrom the Threat CommandDevice Detailsscreen. Example:
https://api.intsights.com/tip/integrations/arcsight/5feb578325dc0b000732c04a/iocs ?start_date=$START_AT_TIME&limit=5000
https://api.intsights.com/tip/integrations/arcsight/5feb578325dc0b000732c04a/events ?start_date=$START_AT_TIME&limit=5000
Do not change $START_AT_TIME
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://api.intsights.com/tip/integrations/arcsight/5feb578325dc0b000732c04a/iocs?start_date=$START_AT_TIME&limit=1000Authentication Type Basic Required User Threat Command account ID Required Password Threat Command appliance key 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 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.Click Next.
In the destination parameters screen, type the ArcSight Manager hostname, username, and password, and then click Next.
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.1. 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.
To begin pulling IOCs: