This open source AWS tool was designed to consume the detected security findings from Radware CNP and then write compressed files to AWS S3. From there, SIEM tools, such as IBM QRadar, or any other tool which supports S3, can ingest the CNP findings. If necessary, the findings from Radware CNP may be reformatted in the script to meet the data model requirements of any downstream tool.
The CFT deployment process will create an SNS Topic, SQS Queue, an IAM Role, CloudWatch Log Group (default 90 days retention), and a Lambda Function. On the defined schedule, SQS messages are polled and then written to an S3 bucket. Additional triggers and schedules can be configured post-deployment as desired.
The following cloud assets are required ahead of the deployment:
- S3 Bucket: The destination for the logs.
This CFT stack has 5 parameters, 4 of which are configured during deployment:
- S3BucketForLogging - Target S3 Bucket for Logs (e.g.
MyS3BucketName). - LogFolderPrefix - Log Folder Prefix. Context:
s3://S3BucketName/<Log-Folder-Prefix>/... - LogObjectPrefix - Log Object Prefix. Context:
<Log-Object-Prefix>_YYYYMMDDTHHMMZ_<Alphanumeric-String>.json - GzipEnabled - Enable/disable gzip compression of log files. (e.g.
trueorfalse)
Note: One-click CFT deployment currently works for regions: us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1. The AWS region you are actively logged into will be the region of deployment.
- Fill in the parameter fields.
- Click Next twice.
- Under Capabilities and transforms, click to check the 3 pending acknowledgements: "I acknowledge...".
- Click Create stack.
- After the process finished view the Outputs tab. The InputTopicARN value will be needed for the next step in the CNP console.
- Download the contents of this repo.
- Add
lambda_function.pyinto the root of a zip file (e.g.myfunction.zip). - Upload the zip file to an S3 bucket
- Modify
radware_cwp_s3_logger_cftemplate.yamllines105and111and enter values forbucketandkey(zip file), respectively. Remove lines106-110. - Login to the AWS console, select a region, and navigate to CloudFormation.
- Click Create stack
- Under Specify template, click Upload a template file
- Click the Choose file button and upload the modified CFT.
- Click Next twice.
- Under Capabilities and transforms, click to check the 3 pending acknowledgements: "I acknowledge...". (or use "--capabilities CAPABILITY_IAM" if using the AWS CLI.)
- Click Create stack.
- After the process finished view the Outputs tab. The InputTopicARN value will be needed for the next step in the Radware CNP console.
- Ensure the Lambda Execution role has permissions to put objects in the S3 bucket specified in parameter S3BucketForLogging. This is done for you automatically during CFT deployment, however it is best practice to verify this configuration works for you.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": ["arn:aws:s3:::test/*"]
}
]
}
- Log into Radware CNP and then click Settings > Manage Cloud Accounts from the menu at the top.
- Find the AWS cloud account you want to get alerts from in the list, click Activate under the Automated Response column.
- In the Activate Automated Response dialogue box, under step 2, paste the InputTopicARN value from the CFT deployment process.
- Click Activate. All done!
The Lambda Function is scheduled to run every two minutes. If you would like to run manual tests configure a test event in the lambda function (An event of {} is sufficient).
This project is licensed under the MIT License

