-
Notifications
You must be signed in to change notification settings - Fork 455
[Crowdstrike FDR]Handle All SQS Notification Payloads #13065
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Pinging @elastic/security-service-integrations (Team:Security-Service Integrations) |
I'm working on Setup:
![]() As seen in above screenshot, 3 SQS messages were received, one each for an 09fcec14-425a-41a6-b450-8a937697c760{
"Records": [
{
"eventVersion": "2.1",
"eventSource": "aws:s3",
"awsRegion": "us-east-1",
"eventTime": "2025-03-26T19:02:38.014Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:AAAAAAAAAAAA"
},
"requestParameters": {
"sourceIPAddress": "1.1.1.1"
},
"responseElements": {
"x-amz-request-id": "ASASASASQSQSQSQS",
"x-amz-id-2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "crowdstrike-test-notif",
"bucket": {
"name": "aaaaaaaaaaa-test-s3",
"ownerIdentity": {
"principalId": "AAAAAAAAAAAA"
},
"arn": "arn:aws:s3:::aaaaaaaaaaa-test-s3"
},
"object": {
"key": "data/fdr-0_aidmaster.log",
"size": 4414,
"eTag": "aaaaaaaaaaa",
"sequencer": "1111111111111"
}
}
}
]
}
8a35e77c-2b92-4d99-9085-04b33e5d6475{
"Records": [
{
"eventVersion": "2.1",
"eventSource": "aws:s3",
"awsRegion": "us-east-1",
"eventTime": "2025-03-26T19:02:42.169Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:AAAAAAAAAAAA"
},
"requestParameters": {
"sourceIPAddress": "11.1.1.1"
},
"responseElements": {
"x-amz-request-id": "aaaaaaaaaa",
"x-amz-id-2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "crowdstrike-test-notif",
"bucket": {
"name": "aaaaaaaaatest-s3",
"ownerIdentity": {
"principalId": "AAAAAAAAAAAA"
},
"arn": "arn:aws:s3:::aaaaaaaaatest-s3"
},
"object": {
"key": "data/fdr-sample.log",
"size": 114782,
"eTag": "aaaaaaa",
"sequencer": "11111111"
}
}
}
]
} 06397535-d8fe-414d-b657-cd90564b547c{
"Records": [
{
"eventVersion": "2.1",
"eventSource": "aws:s3",
"awsRegion": "us-east-1",
"eventTime": "2025-03-26T19:02:38.799Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:AAAAAAAAAAAA"
},
"requestParameters": {
"sourceIPAddress": "1.1.1.1"
},
"responseElements": {
"x-amz-request-id": "aaaaaaaaa",
"x-amz-id-2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"s3": {
"s3SchemaVersion": "1.0",
"configurationId": "crowdstrike-test-notif",
"bucket": {
"name": "aaaaaaaaa-test-s3",
"ownerIdentity": {
"principalId": "AAAAAAAAAAAA"
},
"arn": "arn:aws:s3:::aaaaaaaaa-test-s3"
},
"object": {
"key": "data/fdr-0_userinfo.log",
"size": 489,
"eTag": "aaaaaaaaa",
"sequencer": "1111111"
}
}
}
]
} The process created 3 separate SQS messages (one each for I believe if we really want to prioritise reading @andrewkroh, may I know your thoughts on this and if we can still achieve the requirement of this issue? |
The existing FDR parsing script handles the notification format delivered by CS directly to SQS. This format does "batch" multiple changes into a single SQS message. But for notifications generated by S3 directly, which aren’t guaranteed1 to arrive in the same order that the events occurred, there nothing reasonable we can do reorder these IMO. We could sort the Despite the ordering limitations of s3 object notifications, the main goal is to have the integration be able to automatically process the notification format that it gets from SQS whether it be the CS format or one of the native AWS formats, thus removing something that the user needs to be aware of in order to deploy the integration properly and increasing their chances of success. Footnotes |
@andrewkroh, I've tested various scenarios using our existing system test samples by manually them to S3. Following are my observations: Current Behaviour:
In #13875, I worked on updating the parsing script by removing the dependency on Updated Behaviour: (from PR)
|
The FDR data stream expects SQS notifications in the custom format used by Crowdstrike, as described in this example. This is different from the standard notification format used by AWS for S3
ObjectCreated
notifications, as documented in this guide.In this deployment, the user was managing Crowdstrike data in their own bucket and had configured S3 object notifications to be sent to SNS. They then tee'd these notifications to two separate SQS queues to feed both their production and proof-of-concept test environments with Elastic. As a result, they couldn't directly use the Crowdstrike integration because it couldn't accept the SQS notification format.
To work around this limitation, they used the Custom AWS Logs integration and routed the data into the FDR data stream and pipeline.
Ideas
The text was updated successfully, but these errors were encountered: