CIS_conformance_pack.aws-us-gov.cft 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. ################################################################################
  2. #
  3. # Conformance Pack:
  4. # Operational Best Practices for CIS
  5. #
  6. # This conformance pack helps verify compliance with CIS requirements. Note that
  7. # this will not cover all CIS requirements but only those that can be covered
  8. # using AWS Config Rules.
  9. #
  10. # XDR Notes:
  11. #
  12. # Source: https://docs.aws.amazon.com/config/latest/developerguide/cis-conformance-pack.html
  13. #
  14. # Changelog:
  15. # * 2020-08-26 FTD Added these notes
  16. # * 2020-08-27 FTD Removed ROOT_ACCOUNT_HARDWARE_MFA_ENABLED and ROOT_ACCOUNT_MFA_ENABLED
  17. #
  18. # Recommend you do a 'diff' with the .dist to see all changes
  19. #
  20. ################################################################################
  21. Resources:
  22. MFAEnabledForIamConsoleAccess:
  23. Type: AWS::Config::ConfigRule
  24. Properties:
  25. ConfigRuleName: MFAEnabledForIamConsoleAccess
  26. Description: Checks whether AWS Multi-Factor Authentication (MFA) is enabled
  27. for all AWS Identity and Access Management (IAM) users that use a console
  28. password. The rule is compliant if MFA is enabled.
  29. Source:
  30. Owner: AWS
  31. SourceIdentifier: MFA_ENABLED_FOR_IAM_CONSOLE_ACCESS
  32. MaximumExecutionFrequency: Twelve_Hours
  33. IAMUserUnusedCredentialCheck:
  34. Type: AWS::Config::ConfigRule
  35. Properties:
  36. ConfigRuleName: IAMUserUnusedCredentialCheck
  37. Description: Checks whether your AWS Identity and Access Management (IAM) users
  38. have passwords or active access keys that have not been used within the specified
  39. number of days you provided.
  40. InputParameters:
  41. maxCredentialUsageAge: 90
  42. Source:
  43. Owner: AWS
  44. SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK
  45. MaximumExecutionFrequency: Twelve_Hours
  46. AccessKeysRotated:
  47. Type: AWS::Config::ConfigRule
  48. Properties:
  49. ConfigRuleName: AccessKeysRotated
  50. Description: Checks whether the active access keys are rotated within the number
  51. of days specified in maxAccessKeyAge. The rule is non-compliant if the access
  52. keys have not been rotated for more than maxAccessKeyAge number of days.
  53. InputParameters:
  54. maxAccessKeyAge: 90
  55. Source:
  56. Owner: AWS
  57. SourceIdentifier: ACCESS_KEYS_ROTATED
  58. MaximumExecutionFrequency: Twelve_Hours
  59. IAMPasswordPolicyCheck:
  60. Type: AWS::Config::ConfigRule
  61. Properties:
  62. ConfigRuleName: IAMPasswordPolicyCheck
  63. Description: Checks whether the account password policy for IAM users meets
  64. the specified requirements.
  65. InputParameters:
  66. RequireUppercaseCharacters: true
  67. RequireLowercaseCharacters: true
  68. RequireSymbols: true
  69. RequireNumbers: true
  70. MinimumPasswordLength: 14
  71. PasswordReusePrevention: 24
  72. MaxPasswordAge: 90
  73. Source:
  74. Owner: AWS
  75. SourceIdentifier: IAM_PASSWORD_POLICY
  76. MaximumExecutionFrequency: Twelve_Hours
  77. IAMRootAccessKeyCheck:
  78. Type: AWS::Config::ConfigRule
  79. Properties:
  80. ConfigRuleName: IAMRootAccessKeyCheck
  81. Description: Checks whether the root user access key is available.
  82. The rule is compliant if the user access key does not exist.
  83. Source:
  84. Owner: AWS
  85. SourceIdentifier: IAM_ROOT_ACCESS_KEY_CHECK
  86. MaximumExecutionFrequency: Twelve_Hours
  87. # These are not in the catalog in govcloud
  88. # RootAccountMFAEnabled:
  89. # Type: AWS::Config::ConfigRule
  90. # Properties:
  91. # ConfigRuleName: RootAccountMFAEnabled
  92. # Description: Checks whether the root user of your AWS account requires multi-factor
  93. # authentication for console sign-in.
  94. # Source:
  95. # Owner: AWS
  96. # SourceIdentifier: ROOT_ACCOUNT_MFA_ENABLED
  97. # MaximumExecutionFrequency: Twelve_Hours
  98. # RootAccountHardwareMFAEnabled:
  99. # Type: AWS::Config::ConfigRule
  100. # Properties:
  101. # ConfigRuleName: RootAccountHardwareMFAEnabled
  102. # Description: Checks whether your AWS account is enabled to use multi-factor
  103. # authentication (MFA) hardware device to sign in with root credentials.
  104. # Source:
  105. # Owner: AWS
  106. # SourceIdentifier: ROOT_ACCOUNT_HARDWARE_MFA_ENABLED
  107. # MaximumExecutionFrequency: Twelve_Hours
  108. IAMUserNoPoliciesCheck:
  109. Type: AWS::Config::ConfigRule
  110. Properties:
  111. ConfigRuleName: IAMUserNoPoliciesCheck
  112. Description: Checks that none of your IAM users have policies attached. IAM
  113. users must inherit permissions from IAM groups or roles.
  114. Scope:
  115. ComplianceResourceTypes:
  116. - AWS::IAM::User
  117. Source:
  118. Owner: AWS
  119. SourceIdentifier: IAM_USER_NO_POLICIES_CHECK
  120. IAMSupportPolicyInUse:
  121. Type: AWS::Config::ConfigRule
  122. Properties:
  123. ConfigRuleName: IAMSupportPolicyInUse
  124. Description: Checks that the 'AWSSupportAccess' managed policy is attached to any IAM user, group, or role
  125. InputParameters:
  126. policyARN: arn:aws:iam::aws:policy/AWSSupportAccess
  127. policyUsageType: ANY
  128. Source:
  129. Owner: AWS
  130. SourceIdentifier: IAM_POLICY_IN_USE
  131. MaximumExecutionFrequency: Twelve_Hours
  132. IAMPolicyNoStatementWithAdminAccess:
  133. Type: AWS::Config::ConfigRule
  134. Properties:
  135. ConfigRuleName: IAMPolicyNoStatementWithAdminAccess
  136. Description: Checks whether the default version of AWS Identity and Access
  137. Management (IAM) policies do not have administrator access.
  138. Scope:
  139. ComplianceResourceTypes:
  140. - AWS::IAM::Policy
  141. Source:
  142. Owner: AWS
  143. SourceIdentifier: IAM_POLICY_NO_STATEMENTS_WITH_ADMIN_ACCESS
  144. MultiRegionCloudTrailEnabled:
  145. Type: AWS::Config::ConfigRule
  146. Properties:
  147. ConfigRuleName: MultiRegionCloudTrailEnabled
  148. Description: Checks that there is at least one multi-region AWS CloudTrail.
  149. The rule is non-compliant if the trails do not match input parameters
  150. Source:
  151. Owner: AWS
  152. SourceIdentifier: MULTI_REGION_CLOUD_TRAIL_ENABLED
  153. MaximumExecutionFrequency: Twelve_Hours
  154. CloudTrailLogFileValidationEnabled:
  155. Type: AWS::Config::ConfigRule
  156. Properties:
  157. ConfigRuleName: CloudTrailLogFileValidationEnabled
  158. Description: Checks whether AWS CloudTrail creates a signed digest file with
  159. logs
  160. Source:
  161. Owner: AWS
  162. SourceIdentifier: CLOUD_TRAIL_LOG_FILE_VALIDATION_ENABLED
  163. MaximumExecutionFrequency: Twelve_Hours
  164. S3BucketPublicReadProhibited:
  165. Type: AWS::Config::ConfigRule
  166. Properties:
  167. ConfigRuleName: S3BucketPublicReadProhibited
  168. Description: Checks that your Amazon S3 buckets do not allow public read access.
  169. The rule checks the Block Public Access settings, the bucket policy, and the
  170. bucket access control list (ACL).
  171. Scope:
  172. ComplianceResourceTypes:
  173. - AWS::S3::Bucket
  174. Source:
  175. Owner: AWS
  176. SourceIdentifier: S3_BUCKET_PUBLIC_READ_PROHIBITED
  177. MaximumExecutionFrequency: Twelve_Hours
  178. S3BucketPublicWriteProhibited:
  179. Type: AWS::Config::ConfigRule
  180. Properties:
  181. ConfigRuleName: S3BucketPublicWriteProhibited
  182. Description: Checks that your Amazon S3 buckets do not allow public write access.
  183. The rule checks the Block Public Access settings, the bucket policy, and the
  184. bucket access control list (ACL).
  185. Scope:
  186. ComplianceResourceTypes:
  187. - AWS::S3::Bucket
  188. Source:
  189. Owner: AWS
  190. SourceIdentifier: S3_BUCKET_PUBLIC_WRITE_PROHIBITED
  191. MaximumExecutionFrequency: Twelve_Hours
  192. CloudTrailCloudWatchLogsEnabled:
  193. Type: AWS::Config::ConfigRule
  194. Properties:
  195. ConfigRuleName: CloudTrailCloudWatchLogsEnabled
  196. Description: Checks whether AWS CloudTrail trails are configured to send logs
  197. to Amazon CloudWatch logs.
  198. Source:
  199. Owner: AWS
  200. SourceIdentifier: CLOUD_TRAIL_CLOUD_WATCH_LOGS_ENABLED
  201. MaximumExecutionFrequency: Twelve_Hours
  202. S3BucketLoggingEnabled:
  203. Type: AWS::Config::ConfigRule
  204. Properties:
  205. ConfigRuleName: S3BucketLoggingEnabled
  206. Description: Checks whether logging is enabled for your S3 buckets.
  207. Scope:
  208. ComplianceResourceTypes:
  209. - AWS::S3::Bucket
  210. Source:
  211. Owner: AWS
  212. SourceIdentifier: S3_BUCKET_LOGGING_ENABLED
  213. CloudTrailEncryptionEnabled:
  214. Type: AWS::Config::ConfigRule
  215. Properties:
  216. ConfigRuleName: CloudTrailEncryptionEnabled
  217. Description: Checks whether AWS CloudTrail is configured to use the server side
  218. encryption (SSE) AWS Key Management Service (AWS KMS) customer master key
  219. (CMK) encryption.
  220. Source:
  221. Owner: AWS
  222. SourceIdentifier: CLOUD_TRAIL_ENCRYPTION_ENABLED
  223. MaximumExecutionFrequency: Twelve_Hours
  224. CMKBackingKeyRotationEnabled:
  225. Type: AWS::Config::ConfigRule
  226. Properties:
  227. ConfigRuleName: CMKBackingKeyRotationEnabled
  228. Description: Checks that key rotation is enabled for each key and matches to
  229. the key ID of the customer created customer master key (CMK). The rule is
  230. compliant, if the key rotation is enabled for specific key object.
  231. Source:
  232. Owner: AWS
  233. SourceIdentifier: CMK_BACKING_KEY_ROTATION_ENABLED
  234. MaximumExecutionFrequency: Twelve_Hours
  235. VPCFlowLogsEnabled:
  236. Type: AWS::Config::ConfigRule
  237. Properties:
  238. ConfigRuleName: VPCFlowLogsEnabled
  239. Description: Checks whether Amazon Virtual Private Cloud flow logs are found
  240. and enabled for Amazon VPC.
  241. InputParameters:
  242. trafficType: REJECT
  243. Source:
  244. Owner: AWS
  245. SourceIdentifier: VPC_FLOW_LOGS_ENABLED
  246. MaximumExecutionFrequency: Twelve_Hours
  247. IncomingSSHDisabled:
  248. Type: AWS::Config::ConfigRule
  249. Properties:
  250. ConfigRuleName: IncomingSSHDisabled
  251. Description: Checks whether the incoming SSH traffic for the security groups is accessible.
  252. The rule is COMPLIANT when the IP addresses of the incoming SSH traffic in the security
  253. groups are restricted. This rule applies only to IPv4.
  254. Scope:
  255. ComplianceResourceTypes:
  256. - AWS::EC2::SecurityGroup
  257. Source:
  258. Owner: AWS
  259. SourceIdentifier: INCOMING_SSH_DISABLED
  260. RestrictedIncomingTraffic:
  261. Type: AWS::Config::ConfigRule
  262. Properties:
  263. ConfigRuleName: RestrictedIncomingTraffic
  264. Description: Checks whether security groups that are in use disallow unrestricted
  265. incoming TCP traffic to the specified ports.
  266. InputParameters:
  267. blockedPort1: 3389
  268. Scope:
  269. ComplianceResourceTypes:
  270. - AWS::EC2::SecurityGroup
  271. Source:
  272. Owner: AWS
  273. SourceIdentifier: RESTRICTED_INCOMING_TRAFFIC
  274. VPCDefaultSecurityGroupClosed:
  275. Type: AWS::Config::ConfigRule
  276. Properties:
  277. ConfigRuleName: VPCDefaultSecurityGroupClosed
  278. Description: Checks that the default security group of any Amazon Virtual Private
  279. Cloud (VPC) does not allow inbound or outbound traffic. The rule is non-compliant
  280. if the default security group has one or more inbound or outbound traffic.
  281. Scope:
  282. ComplianceResourceTypes:
  283. - AWS::EC2::SecurityGroup
  284. Source:
  285. Owner: AWS
  286. SourceIdentifier: VPC_DEFAULT_SECURITY_GROUP_CLOSED