Cribl Onboarding Guide
How to redact sensitive log data using AWS S3, Cribl, and Panther
Last updated
How to redact sensitive log data using AWS S3, Cribl, and Panther
Last updated
The process outlined in this guide outlines how to redact sensitive log data using Cribl Cloud or Cribl Self-Hosted, working specifically within Amazon Web Services (AWS) S3 buckets and Panther. Broadly we will:
Authenticate an S3 Bucket in Cribl, with examples of the manual method and Event Breakers.
Configure an AWS S3 source and destination using a JSON data format.
Provide examples of JSON events, using pre and post-Cribl masks.
Log into Cribl. On the left-hand side, navigate to Groups. Then at the top of the page click the Routing drop down and select Quick Connect.
Click Add Source, then select Amazon S3 from the list of sources.
Under Configure > General Settings, enter a unique Input ID, the ARN of the SQS Queue, and optionally, additional filters.
Click Authentication on the left. Click to choose one of the following authentication methods:
Manual - Requires Access and Secret Keys (You will need to generate the Access and Secret keys in AWS)
Secret - Secret key pair (You will need to generate this key pair in AWS)
Auto - Requires AWS Account ID and an ARN to be configured in the Assume Role section. This role should have access to S3 and/or SQS. In the example screen shot above, "Manual" is selected.
Click Event Breakers on the left. Choose the Cribl event breaker.
Note: This step allows Cribl to parse the incoming JSON data.
In the General Settings page, enter the following:
S3 Bucket name. In AWS, these S3 buckets can be the same. Objects within the bucket can be differentiated by the prefix filter if needed.
Bucket region
Prefix for the outputted JSON files
Click Authentication on the left. Click to choose one of the following authentication methods:
Manual - Requires Access and Secret Keys (You will need to generate the Access and Secret keys in AWS)
Secret - Secret key pair (You will need to generate this key pair in AWS)
You will be redirected to the Connection Configuration dashboard.
Paste in the block of JSON below. Note that the block of JSON below has two filters:
Mask: Replaces everything in the name
field with REDACTED
Eval: Removes the fields _raw
cribl_breaker
crible_pipe
_time
Save the JSON.
Once the JSON has been saved, the UI will reflect your Masking Rules similar to the screenshot below:
The completed Data Route will look similar to the screen shot below:
The following example shows a JSON event, using the mask
filter mentioned in the previous steps of this guide. After using the mask filter, the name field Bella
is replaced with REDACTED.
Pre-Cribl mask:
Post-Cribl mask:
We strongly advise that you verify the mask filter is working as expected after configuration. Once the mask filter is confirmed to be working correctly, ingest your masked logs into Panther using the S3 Data Transport.
Navigate back to the QuickConnect page. Click Add Destination and choose Amazon S3.
File Name Prefix Expression
Auto - Requires AWS Account ID and an ARN to be configured in the Assume Role section. This role should have access to S3 and/or SQS. In the example screen shot above, "Manual" is selected.
Click the dotted line that connects the source and destination:
In the upper right side of the Connection Configuration dashboard, click + Pipeline. In the drop-down menu that appears, click Create Pipeline.
In the "Create New Pipeline" popup dialog that appears, enter the name redacted
into the ID field. Optionally enter an Async Function Timeout and a Description, then click Save.
On the Processing / Pipelines page, click the blue gear icon.
In the upper right corner, click Edit as JSON.