Skip to content

Commit

Permalink
6 new Cpacks
Browse files Browse the repository at this point in the history
  • Loading branch information
lculotta committed May 23, 2022
1 parent 6c77387 commit a96ce66
Show file tree
Hide file tree
Showing 6 changed files with 521 additions and 0 deletions.
@@ -0,0 +1,80 @@
##################################################################################
#
# Conformance Pack:
# Operational Best Practices for
#
# This conformance pack helps verify compliance with requirements.
#
##################################################################################

Resources:
AutoscalingCapacityRebalancing:
Properties:
ConfigRuleName: autoscaling-capacity-rebalancing
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::AutoScalingGroup
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_CAPACITY_REBALANCING
Type: AWS::Config::ConfigRule
AutoscalingGroupElbHealthcheckRequired:
Properties:
ConfigRuleName: autoscaling-group-elb-healthcheck-required
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::AutoScalingGroup
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_GROUP_ELB_HEALTHCHECK_REQUIRED
Type: AWS::Config::ConfigRule
AutoscalingLaunchConfigHopLimit:
Properties:
ConfigRuleName: autoscaling-launch-config-hop-limit
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::LaunchConfiguration
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_LAUNCH_CONFIG_HOP_LIMIT
Type: AWS::Config::ConfigRule
AutoscalingLaunchConfigPublicIpDisabled:
Properties:
ConfigRuleName: autoscaling-launch-config-public-ip-disabled
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::LaunchConfiguration
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED
Type: AWS::Config::ConfigRule
AutoscalingLaunchconfigRequiresImdsv2:
Properties:
ConfigRuleName: autoscaling-launchconfig-requires-imdsv2
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::LaunchConfiguration
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_LAUNCHCONFIG_REQUIRES_IMDSV2
Type: AWS::Config::ConfigRule
AutoscalingMultipleAz:
Properties:
ConfigRuleName: autoscaling-multiple-az
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::AutoScalingGroup
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_MULTIPLE_AZ
Type: AWS::Config::ConfigRule
AutoscalingMultipleInstanceTypes:
Properties:
ConfigRuleName: autoscaling-multiple-instance-types
Scope:
ComplianceResourceTypes:
- AWS::AutoScaling::AutoScalingGroup
Source:
Owner: AWS
SourceIdentifier: AUTOSCALING_MULTIPLE_INSTANCE_TYPES
Type: AWS::Config::ConfigRule
@@ -0,0 +1,108 @@
##################################################################################
#
# Conformance Pack:
# Operational Best Practices for CloudFront
#
##################################################################################

Resources:
CloudfrontAccesslogsEnabled:
Properties:
ConfigRuleName: cloudfront-accesslogs-enabled
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_ACCESSLOGS_ENABLED
Type: AWS::Config::ConfigRule
CloudfrontAssociatedWithWaf:
Properties:
ConfigRuleName: cloudfront-associated-with-waf
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_ASSOCIATED_WITH_WAF
Type: AWS::Config::ConfigRule
CloudfrontCustomSslCertificate:
Properties:
ConfigRuleName: cloudfront-custom-ssl-certificate
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_CUSTOM_SSL_CERTIFICATE
Type: AWS::Config::ConfigRule
CloudfrontDefaultRootObjectConfigured:
Properties:
ConfigRuleName: cloudfront-default-root-object-configured
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_DEFAULT_ROOT_OBJECT_CONFIGURED
Type: AWS::Config::ConfigRule
CloudfrontNoDeprecatedSslProtocols:
Properties:
ConfigRuleName: cloudfront-no-deprecated-ssl-protocols
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_NO_DEPRECATED_SSL_PROTOCOLS
Type: AWS::Config::ConfigRule
CloudfrontOriginAccessIdentityEnabled:
Properties:
ConfigRuleName: cloudfront-origin-access-identity-enabled
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ENABLED
Type: AWS::Config::ConfigRule
CloudfrontOriginFailoverEnabled:
Properties:
ConfigRuleName: cloudfront-origin-failover-enabled
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_ORIGIN_FAILOVER_ENABLED
Type: AWS::Config::ConfigRule
CloudfrontSniEnabled:
Properties:
ConfigRuleName: cloudfront-sni-enabled
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_SNI_ENABLED
Type: AWS::Config::ConfigRule
CloudfrontTrafficToOriginEncrypted:
Properties:
ConfigRuleName: cloudfront-traffic-to-origin-encrypted
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_TRAFFIC_TO_ORIGIN_ENCRYPTED
Type: AWS::Config::ConfigRule
CloudfrontViewerPolicyHttps:
Properties:
ConfigRuleName: cloudfront-viewer-policy-https
Scope:
ComplianceResourceTypes:
- AWS::CloudFront::Distribution
Source:
Owner: AWS
SourceIdentifier: CLOUDFRONT_VIEWER_POLICY_HTTPS
Type: AWS::Config::ConfigRule
129 changes: 129 additions & 0 deletions aws-config-conformance-packs/Security-Best-Practices-for-ECS.yaml
@@ -0,0 +1,129 @@
##################################################################################
#
# Conformance Pack:
# Operational Best Practices for ECS
#
#
##################################################################################

Parameters:
EcsNoEnvironmentSecretsParamSecretKeys:
Default: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, ECS_ENGINE_AUTH_DATA
Type: String
EcsTaskDefinitionUserForHostModeCheckParamSkipInactiveTaskDefinitions:
Default: 'true'
Type: String
Resources:
EcsContainerInsightsEnabled:
Properties:
ConfigRuleName: ecs-container-insights-enabled
Scope:
ComplianceResourceTypes:
- AWS::ECS::Cluster
Source:
Owner: AWS
SourceIdentifier: ECS_CONTAINER_INSIGHTS_ENABLED
Type: AWS::Config::ConfigRule
EcsContainersNonprivileged:
Properties:
ConfigRuleName: ecs-containers-nonprivileged
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_CONTAINERS_NONPRIVILEGED
Type: AWS::Config::ConfigRule
EcsContainersReadonlyAccess:
Properties:
ConfigRuleName: ecs-containers-readonly-access
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_CONTAINERS_READONLY_ACCESS
Type: AWS::Config::ConfigRule
EcsFargateLatestPlatformVersion:
Properties:
ConfigRuleName: ecs-fargate-latest-platform-version
Scope:
ComplianceResourceTypes:
- AWS::ECS::Service
Source:
Owner: AWS
SourceIdentifier: ECS_FARGATE_LATEST_PLATFORM_VERSION
Type: AWS::Config::ConfigRule
EcsNoEnvironmentSecrets:
Properties:
ConfigRuleName: ecs-no-environment-secrets
InputParameters:
secretKeys:
Fn::If:
- ecsNoEnvironmentSecretsParamSecretKeys
- Ref: EcsNoEnvironmentSecretsParamSecretKeys
- Ref: AWS::NoValue
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_NO_ENVIRONMENT_SECRETS
Type: AWS::Config::ConfigRule
EcsTaskDefinitionMemoryHardLimit:
Properties:
ConfigRuleName: ecs-task-definition-memory-hard-limit
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_TASK_DEFINITION_MEMORY_HARD_LIMIT
Type: AWS::Config::ConfigRule
EcsTaskDefinitionNonrootUser:
Properties:
ConfigRuleName: ecs-task-definition-nonroot-user
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_TASK_DEFINITION_NONROOT_USER
Type: AWS::Config::ConfigRule
EcsTaskDefinitionPidModeCheck:
Properties:
ConfigRuleName: ecs-task-definition-pid-mode-check
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_TASK_DEFINITION_PID_MODE_CHECK
Type: AWS::Config::ConfigRule
EcsTaskDefinitionUserForHostModeCheck:
Properties:
ConfigRuleName: ecs-task-definition-user-for-host-mode-check
InputParameters:
SkipInactiveTaskDefinitions:
Fn::If:
- ecsTaskDefinitionUserForHostModeCheckParamSkipInactiveTaskDefinitions
- Ref: EcsTaskDefinitionUserForHostModeCheckParamSkipInactiveTaskDefinitions
- Ref: AWS::NoValue
Scope:
ComplianceResourceTypes:
- AWS::ECS::TaskDefinition
Source:
Owner: AWS
SourceIdentifier: ECS_TASK_DEFINITION_USER_FOR_HOST_MODE_CHECK
Type: AWS::Config::ConfigRule
Conditions:
ecsNoEnvironmentSecretsParamSecretKeys:
Fn::Not:
- Fn::Equals:
- ''
- Ref: EcsNoEnvironmentSecretsParamSecretKeys
ecsTaskDefinitionUserForHostModeCheckParamSkipInactiveTaskDefinitions:
Fn::Not:
- Fn::Equals:
- ''
- Ref: EcsTaskDefinitionUserForHostModeCheckParamSkipInactiveTaskDefinitions
43 changes: 43 additions & 0 deletions aws-config-conformance-packs/Security-Best-Practices-for-EFS.yaml
@@ -0,0 +1,43 @@
##################################################################################
#
# Conformance Pack:
# Operational Best Practices for EFS
#
#
##################################################################################

Resources:
EfsAccessPointEnforceRootDirectory:
Properties:
ConfigRuleName: efs-access-point-enforce-root-directory
Scope:
ComplianceResourceTypes:
- AWS::EFS::AccessPoint
Source:
Owner: AWS
SourceIdentifier: EFS_ACCESS_POINT_ENFORCE_ROOT_DIRECTORY
Type: AWS::Config::ConfigRule
EfsAccessPointEnforceUserIdentity:
Properties:
ConfigRuleName: efs-access-point-enforce-user-identity
Scope:
ComplianceResourceTypes:
- AWS::EFS::AccessPoint
Source:
Owner: AWS
SourceIdentifier: EFS_ACCESS_POINT_ENFORCE_USER_IDENTITY
Type: AWS::Config::ConfigRule
EfsEncryptedCheck:
Properties:
ConfigRuleName: efs-encrypted-check
Source:
Owner: AWS
SourceIdentifier: EFS_ENCRYPTED_CHECK
Type: AWS::Config::ConfigRule
EfsInBackupPlan:
Properties:
ConfigRuleName: efs-in-backup-plan
Source:
Owner: AWS
SourceIdentifier: EFS_IN_BACKUP_PLAN
Type: AWS::Config::ConfigRule

0 comments on commit a96ce66

Please sign in to comment.