Skip to content

Adding WireX Data Connector#901

Closed
philipcampeau wants to merge 7 commits into
Azure:masterfrom
philipcampeau:master
Closed

Adding WireX Data Connector#901
philipcampeau wants to merge 7 commits into
Azure:masterfrom
philipcampeau:master

Conversation

@philipcampeau

Copy link
Copy Markdown
Contributor

Fixes #

Proposed Changes

@ghost

ghost commented Jul 24, 2020

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@philipcampeau

Copy link
Copy Markdown
Contributor Author

CLA assistant check
All CLA requirements met.

Is there any update on this?

@preetikr preetikr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. For the logo file - I see many unsupported fields that will block deploying this logo on Azure Sentinel. Please follow the steps in the logo guidance in step #5 of the https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/ReadMe.md#build-the-connector
  2. All other feedback is provided within the files - please respond/incorporate these.

@@ -0,0 +1,20 @@
# Connect your WireX Systems NFP to Azure Sentinel

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the md file from this commit and just email me this - this goes in a separate docs repo. Thanks.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This md file is still in the PR - please drop this file from this PR and email to me. Thanks

Comment thread DataConnectors/WireXSystems/WireXsystemsNFP.json Outdated
Comment thread DataConnectors/WireXSystems/WireXsystemsNFP.json Outdated
"baseQuery": "\nCommonSecurityLog\n| where DeviceVendor == \"WireX Systems\"\n| where DeviceProduct == \"WireX NFP\"\n"
}
],
"sampleQueries": [

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sample queries are syntactically incorrect. I am sharing one updated as an example. Please update others too. Also would be great if you'd please validate each of these sample queries in Azure Sentinel Log Analytics editor on the CEF logs you got into Azure Sentinel or you can load the JSON file per step 3 of https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/ReadMe.md#build-the-connector and also click on the Run button in the Next steps tab of the data connector where each of these queries will show as a customer would see them.
Updated example:
{
"description" : "All Imported Events from WireX",
"query": "CommonSecurityLog| where DeviceVendor == "WireX Systems"| where DeviceProduct == "WireX NFP""
},

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that i ran things backwards, i made the query work on the demo systems and then cut and paste it into the .json files. I tried to make these changes that you suggested above on just query 1 and i could not get it to load. When I tried to make changes to it so that it would load
"query": "CommonSecurityLog| where DeviceVendor == WireX| where DeviceProduct == WireX NFP"
i got failed: 'where' operator: Failed to resolve column or scalar expression named 'WireX'
If issue persists, please open a support ticket. Request id: 17f6ecec-8895-458c-9132-81970115c251

however in the demo systems contoso my original query worked.
CommonSecurityLog​
| where DeviceVendor in ("WireX")
| sort by TimeGenerated

any suggestions.

Comment thread DataConnectors/WireXSystems/WireXsystemsNFP.json Outdated
Comment thread DataConnectors/WireXsystemsNFP.json
Comment thread Sample Data/wirex_sample data.csv
@@ -0,0 +1,224 @@
TenantId,SourceSystem,TimeGenerated,ReceiptTime,DeviceVendor,DeviceProduct,DeviceEventClassID,LogSeverity,OriginalLogSeverity,DeviceAction,SimplifiedDeviceAction,Computer,CommunicationDirection,DeviceFacility,DestinationPort,DestinationIP,DeviceAddress,DeviceName,Message,Protocol,SourcePort,SourceIP,RemoteIP,RemotePort,MaliciousIP,ThreatSeverity,IndicatorThreatType,ThreatDescription,ThreatConfidence,ReportReferenceLink,MaliciousIPLongitude,MaliciousIPLatitude,MaliciousIPCountry,DeviceVersion,Activity,ApplicationProtocol,EventCount,DestinationDnsDomain,DestinationServiceName,DestinationTranslatedAddress,DestinationTranslatedPort,DeviceDnsDomain,DeviceExternalID,DeviceInboundInterface,DeviceNtDomain,DeviceOutboundInterface,DevicePayloadId,ProcessName,DeviceTranslatedAddress,DestinationHostName,DestinationMACAddress,DestinationNTDomain,DestinationProcessId,DestinationUserPrivileges,DestinationProcessName,DeviceTimeZone,DestinationUserID,DestinationUserName,DeviceMacAddress,ProcessID,ExternalID,FileCreateTime,FileHash,FileID,FileModificationTime,FilePath,FilePermission,FileType,FileName,FileSize,ReceivedBytes,OldFileCreateTime,OldFileHash,OldFileID,OldFileModificationTime,OldFileName,OldFilePath,OldFilePermission,OldFileSize,OldFileType,SentBytes,RequestURL,RequestClientApplication,RequestContext,RequestCookies,RequestMethod,SourceHostName,SourceMACAddress,SourceNTDomain,SourceDnsDomain,SourceServiceName,SourceTranslatedAddress,SourceTranslatedPort,SourceProcessId,SourceUserPrivileges,SourceProcessName,SourceUserID,SourceUserName,EventType,DeviceCustomIPv6Address1,DeviceCustomIPv6Address1Label,DeviceCustomIPv6Address2,DeviceCustomIPv6Address2Label,DeviceCustomIPv6Address3,DeviceCustomIPv6Address3Label,DeviceCustomIPv6Address4,DeviceCustomIPv6Address4Label,DeviceCustomFloatingPoint1,DeviceCustomFloatingPoint1Label,DeviceCustomFloatingPoint2,DeviceCustomFloatingPoint2Label,DeviceCustomFloatingPoint3,DeviceCustomFloatingPoint3Label,DeviceCustomFloatingPoint4,DeviceCustomFloatingPoint4Label,DeviceCustomNumber1,DeviceCustomNumber1Label,DeviceCustomNumber2,DeviceCustomNumber2Label,DeviceCustomNumber3,DeviceCustomNumber3Label,DeviceCustomString1,DeviceCustomString1Label,DeviceCustomString2,DeviceCustomString2Label,DeviceCustomString3,DeviceCustomString3Label,DeviceCustomString4,DeviceCustomString4Label,DeviceCustomString5,DeviceCustomString5Label,DeviceCustomString6,DeviceCustomString6Label,DeviceCustomDate1,DeviceCustomDate1Label,DeviceCustomDate2,DeviceCustomDate2Label,FlexDate1,FlexDate1Label,FlexNumber1,FlexNumber1Label,FlexNumber2,FlexNumber2Label,FlexString1,FlexString1Label,FlexString2,FlexString2Label,AdditionalExtensions,StartTime,EndTime,Type,"_ResourceId"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feedback on the sample data file:

  1. Please move the sample data file to https://github.com/Azure/Azure-Sentinel/tree/master/Sample%20Data/CEF folder since this is a CEF data connector sample data.
  2. I see just one example of DeviceAction. Can you please cover all combinations of DeviceAction that your product supports and relevant fields that gets populated depending on the different types of DeviceAction in the sample data?
  3. Same feedback as point 2 above for Simplified Device action
  4. On all the fields which are not populated like "communication Direction", etc. are these always not populated for any type of logs your product provides? If yes, that's fine. If there are some fields that do get populated for specific log types, please provide that sample data filling those fields and relevant applicable properties as well.
  5. For those fields where Device Action is specified, why isn't Device address and Device name fields populated?
  6. Since these are forensic logs, wouldn't the malicious IP, malicious IP geo location, file information and threat information fields not captured in the original source logs on WireX side?
  7. I see the additional extensions have lots of valuable info like host address, proc address, Db information, record type etc. fields. Is it possible to write a parser to extract these field values and populate relevant columns so that customers can easily correlate this data? Examples of parsers are at https://github.com/Azure/Azure-Sentinel/tree/master/Parsers. Specific example of a similar parser built for CEF data source parsing is https://github.com/Azure/Azure-Sentinel/blob/master/Parsers/TrendMicro/TrendMicroDeepSecurity

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1)I am going to collect move sample and then do as instructed, thank you
2)There is no Device action
3)same as 2
4) not populated
5)There is not action
6)these are all logs for forensics so there is no determination of malicious or not
7) I agree that this would be a better long term solution but for now we need to get a data connector in and functioning. and then over time make it better.

@philipcampeau

philipcampeau commented Aug 14, 2020 via email

Copy link
Copy Markdown
Contributor Author

@philipcampeau

philipcampeau commented Aug 26, 2020 via email

Copy link
Copy Markdown
Contributor Author

@philipcampeau

philipcampeau commented Aug 31, 2020 via email

Copy link
Copy Markdown
Contributor Author

@philipcampeau philipcampeau requested a review from preetikr August 31, 2020 21:24
@preetikr

Copy link
Copy Markdown
Contributor

@philipcampeau - On the sample data queries, the formatting is by design to work in the context of a data connector. So basically you need to load the json file (based on the build data connector step) and once you import that data connector json you can test the queries by directly clicking on the sample and connectivity queries. The same query copy pasted directly in Log Analytics editor won't work as there's formatting included to be able to render the UX (json). Hope this clarifies.

@preetikr preetikr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see some resolved comments are not yet resolved in the code / commit. I still see duplicate data connector files and sample data files in this PR which is not desirable. Just need one file that gets updated for the feedback. The md file for doc can be dropped from this PR as well.

@@ -0,0 +1,20 @@
# Connect your WireX Systems NFP to Azure Sentinel

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This md file is still in the PR - please drop this file from this PR and email to me. Thanks

@philipcampeau

philipcampeau commented Sep 10, 2020 via email

Copy link
Copy Markdown
Contributor Author

@preetikr

preetikr commented Oct 6, 2020

Copy link
Copy Markdown
Contributor

Closing this since the changes are tracked in new PR #1064

@preetikr preetikr closed this Oct 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants