MSK nodes are not private misconfiguration detected in code
Rule Details
Cortex AppSec Rule ID
APPSEC_AWS_291
Category - Subcategory
Public Exposure - VPC VCN VNet
Provider
AWS
Severity
HIGH
Framework
CloudFormation, Terraform, Terraform Plan
Impact
This rule is checking if Managed Stream for Kafka (MSK) nodes are set to private in AWS. The rule falls under the networking category. MSK nodes should be private for enhanced security and data protection. If these nodes are set to public, it increases the risk of unauthorized access and potential data breaches, as it allows anyone on the internet to interact with these nodes. Therefore, this rule is designed to ensure that your MSK nodes are not publicly accessible, prioritizing your data security.
How to Fix
To fix this issue, you should ensure that your MSK cluster configuration does not include public access. Below is an example of how to set this property in a CloudFormation configuration:
Example: [source,go]
{ "Resources": { "MyMSKCluster": { "Type": "AWS::MSK::Cluster", "Properties": { "ClusterName": "example-cluster", "KafkaVersion": "2.6.0", "NumberOfBrokerNodes": 3, "BrokerNodeGroupInfo": { "InstanceType": "kafka.m5.large", "ConnectivityInfo": { "PublicAccess": {
"Type": "DISABLED" } } } } } } }
Resources: MyMSKCluster: Type: AWS::MSK::Cluster Properties: ClusterName: "example-cluster" KafkaVersion: "2.6.0" NumberOfBrokerNodes: 3 BrokerNodeGroupInfo: InstanceType: "kafka.m5.large" ConnectivityInfo: PublicAccess:
Type: "DISABLED"
Last updated
Was this helpful?
