Topics on this page
Integrate Trend Cloud One with AWS SecurityHub
AWS Security Hub collects security data from AWS accounts, services, and supported third-party partner products to help you analyze security trends and identify the most significant security issues. When integrated with Trend Cloud One, it allows you to use the consolidates of your security findings of your containers inside AWS SecurityHub.
The following diagram depicts the integration architecture:
On the functional level, the following occurs:
- A Lambda function is deployed.
- All the required IAM resources for Trend Cloud One Workload Security are created.
- A custom resource completes the integration by running a Lambda function.
- The default AWS CloudTrail CloudFormation stack is deployed.
Requirements
Before starting the integration, ensure that you have the following:
- An API key for a Trend Cloud One account.
- An AWS account with Admin privileges.
In addition, ensure that your AWS CloudFormation stack name contains no more than 8 characters. For example, CloudOne.
You must deploy the AWS CloudFormation stack to one of the following regions based on your Trend Cloud One account region:
Trend Cloud One Region Code | AWS Region Code |
---|---|
us-1 | us-east-1 |
in-1 | ap-south-1 |
gb-1 | eu-west-2 |
au-1 | ap-southeast-2 |
de-1 | eu-central-1 |
jp-1 | ap-northeast-1 |
sg-1 | ap-southeast-1 |
ca-1 | ca-central-1 |
Parameters
You must define the following parameters:
CloudOneApiKey
- Trend Cloud One API key. For more information, see Requirements.EnableSecurityHubIntegration
- Enables AWS SecurityHub integration when set totrue
. If set tofalse
, it is expected that you have done this already. The default value isfalse
.
There is a number of parameters whose default values should be accepted, unless you want to host the templates yourself, in which case QSS3BucketName
should define the AWS S3 bucket hosting these templates and QSS3KeyPrefix
should define the key prefix or path of the root folder for the templates. For example, if the files are hosted in the bucket named my-bucket inside the trend-cloudone-securityhub
folder, the QSS3BucketName
value should be my-bucket
and QSS3KeyPrefix
value should be trend-cloudone-securityhub
.
QSS3BucketName
- The AWS S3 bucket name for the deployment assets. The value can include numbers, lowercase alpha characters, uppercase alpha characters, hyphens (-
). The default value iscloudone-community
.QSS3KeyPrefix
- The AWS S3 key prefix for the deployment assets. The value can include numbers, lowercase alpha characters, uppercase alpha characters, hyphens (-
), dots (.
), forward slash (/
). The default value is""
.
Deployment
To deploy via a Dashboard, launch an AWS CloudFormation stack.
To deploy via the CLI, execute the following:
#!/bin/bash
export STACK_NAME=ABI-TM-SECHUB
export TEMPLATE_URL=https://immersionday-workshopstrendmicro.
s3.amazonaws.com/abi/main.template.yaml
export CLOUDONE_API_KEY=<cloudone-api-key>
export CLOUDONE_REGION_ENDPOINT=<cloudone-ws-region-endpoint>
export DEPLOYSECURITYHUBINTEGRATION=<true|false>
aws cloudformation create-stack \
--stack-name $STACK_NAME \
--template-url $TEMPLATE_URL \
--parameters
ParameterKey=CloudOneAPIKey,ParameterValue=$CLOUDONE_API_KEY \
ParameterKey=CloudOneRegionEndpoint,ParameterValue=$CLOUDONE_REGION_ENDPOI
NT \
ParameterKey=DeploySecurityHubIntegration,ParameterValue=$DEPLOYSECURITYHU
BINTEGRATION \
ParameterKey=EnableSecurityHub,ParameterValue=$DEPLOYSECURITYHUBINTEGRATIO
N \
--capabilities CAPABILITY_NAMED_IAM
If your deployment fails or you decide to remove the stack, all modifications, including any kind of account integration, is reverted to the predeployment state.
Required AWS Permissions and Resources
To deploy the stack, you need the following permissions:
-
Permission to obtain a secret from the secret manager:
cloudformation:GetSecretValue
-
Permission to use a KMS key to decrypt the secret from the secret manager:
kms:Decrypt
-
Permissions to enable, disable, and list product and findings in AWS SecurityHub:
securityhub:ListEnabledProductsForImport
securityhub:EnableImportFindingsForProduct
securityhub:DisableImportFindingsForProduct
-
Permissions to create, update, delete, and describe AWS CloudFormation stacks:
cloudformation:CreateStack
cloudformation:UpdateStack
cloudformation:DeleteStack
cloudformation:DescribeStacks
- Permissions to create, update, delete, and describe AWS CloudFormation StacksSet, StackInstance:
cloudformation:CreateStackSet
cloudformation:CreateStackInstances
cloudformation:DescribeStackSet
cloudformation:UpdateStackSet
cloudformation:UpdateStackInstances
cloudformation:DeleteStackSet
cloudformation:DeleteStackInstances
cloudformation:ListStackInstances
- Permissions to retrieve all organizational unit IDs in the organization:
organizations:ListRoots
organizations:ListOrganizationalUnitsForParent
- Permissions to create, update, and obtain the configuration of the Lambda function:
lambda:CreateFunction
lambda:UpdateFunctionCode
lambda:GetFunctionConfiguration
lambda:CreateAlias
lambda:UpdateFunctionConfiguration
- Permissions to create an Amazon CloudWatch logs group and stream, as well as write logs from the Lambda function to the Amazon CloudWatch logs:
logs:CreateLogGroup
logs:CreateLogStream
logs:PutLogEvents
- Permissions to download the code from an AWS S3 bucket:
s3:GetObject