gitlabcis 1.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. gitlabcis/__init__.py +12 -0
  2. gitlabcis/__main__.py +7 -0
  3. gitlabcis/benchmarks/__init__.py +8 -0
  4. gitlabcis/benchmarks/artifacts_4/__init__.py +4 -0
  5. gitlabcis/benchmarks/artifacts_4/access_to_artifacts_4_2.py +139 -0
  6. gitlabcis/benchmarks/artifacts_4/origin_traceability_4_4.py +11 -0
  7. gitlabcis/benchmarks/artifacts_4/package_registries_4_3.py +105 -0
  8. gitlabcis/benchmarks/artifacts_4/verification_4_1.py +83 -0
  9. gitlabcis/benchmarks/build_pipelines_2/__init__.py +4 -0
  10. gitlabcis/benchmarks/build_pipelines_2/build_environment_2_1.py +268 -0
  11. gitlabcis/benchmarks/build_pipelines_2/build_worker_2_2.py +129 -0
  12. gitlabcis/benchmarks/build_pipelines_2/pipeline_instructions_2_3.py +444 -0
  13. gitlabcis/benchmarks/build_pipelines_2/pipeline_integrity_2_4.py +146 -0
  14. gitlabcis/benchmarks/dependencies_3/__init__.py +2 -0
  15. gitlabcis/benchmarks/dependencies_3/third_party_packages_3_1.py +171 -0
  16. gitlabcis/benchmarks/dependencies_3/validate_packages_3_2.py +182 -0
  17. gitlabcis/benchmarks/deployment_5/__init__.py +2 -0
  18. gitlabcis/benchmarks/deployment_5/deployment_configuration_5_1.py +165 -0
  19. gitlabcis/benchmarks/deployment_5/deployment_environment_5_2.py +66 -0
  20. gitlabcis/benchmarks/source_code_1/__init__.py +6 -0
  21. gitlabcis/benchmarks/source_code_1/code_changes_1_1.py +665 -0
  22. gitlabcis/benchmarks/source_code_1/code_risks_1_5.py +506 -0
  23. gitlabcis/benchmarks/source_code_1/contribution_access_1_3.py +334 -0
  24. gitlabcis/benchmarks/source_code_1/repository_management_1_2.py +168 -0
  25. gitlabcis/benchmarks/source_code_1/third_party_1_4.py +139 -0
  26. gitlabcis/cli/__init__.py +0 -0
  27. gitlabcis/cli/log.py +30 -0
  28. gitlabcis/cli/main.py +541 -0
  29. gitlabcis/cli/output.py +151 -0
  30. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/external_auth_server.yml +51 -0
  31. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/limit_artifact_uploaders.yml +57 -0
  32. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/limit_certifying_artifacts.yml +53 -0
  33. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/minimum_package_registry_admins.yml +54 -0
  34. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/readme.md +14 -0
  35. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/require_mfa_to_package_registry.yml +52 -0
  36. gitlabcis/recommendations/artifacts_4/access_to_artifacts_4_2/restrict_anonymous_access.yml +67 -0
  37. gitlabcis/recommendations/artifacts_4/origin_traceability_4_4/artifact_origin_info.yml +56 -0
  38. gitlabcis/recommendations/artifacts_4/origin_traceability_4_4/readme.md +7 -0
  39. gitlabcis/recommendations/artifacts_4/package_registries_4_3/all_artifact_versions_signed.yml +70 -0
  40. gitlabcis/recommendations/artifacts_4/package_registries_4_3/audit_package_registry_config.yml +46 -0
  41. gitlabcis/recommendations/artifacts_4/package_registries_4_3/readme.md +12 -0
  42. gitlabcis/recommendations/artifacts_4/package_registries_4_3/secure_repo_webhooks.yml +50 -0
  43. gitlabcis/recommendations/artifacts_4/package_registries_4_3/validate_signed_artifacts_on_upload.yml +72 -0
  44. gitlabcis/recommendations/artifacts_4/readme.md +12 -0
  45. gitlabcis/recommendations/artifacts_4/verification_4_1/encrypt_artifacts_before_distribution.yml +47 -0
  46. gitlabcis/recommendations/artifacts_4/verification_4_1/only_authorized_platforms_can_decrypt_artifacts.yml +59 -0
  47. gitlabcis/recommendations/artifacts_4/verification_4_1/readme.md +11 -0
  48. gitlabcis/recommendations/artifacts_4/verification_4_1/sign_artifacts_in_build_pipeline.yml +40 -0
  49. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/authenticate_build_access.yml +55 -0
  50. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/build_automation.yml +54 -0
  51. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/build_env_admins.yml +55 -0
  52. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/build_logging.yml +49 -0
  53. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/disable_build_tools_default_passwords.yml +54 -0
  54. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/immutable_pipeline_infrastructure.yml +60 -0
  55. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/limit_build_access.yml +64 -0
  56. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/limit_build_secrets_scope.yml +56 -0
  57. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/readme.md +19 -0
  58. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/secure_build_env_webhooks.yml +43 -0
  59. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/single_responsibility_pipeline.yml +58 -0
  60. gitlabcis/recommendations/build_pipelines_2/build_environment_2_1/vuln_scanning.yml +64 -0
  61. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/build_worker_vuln_scanning.yml +58 -0
  62. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/monitor_worker_resource_consumption.yml +59 -0
  63. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/pass_worker_envs_and_commands.yml +48 -0
  64. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/readme.md +16 -0
  65. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/restrict_worker_connectivity.yml +61 -0
  66. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/segregate_worker_duties.yml +78 -0
  67. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/single_use_workers.yml +47 -0
  68. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/store_worker_config.yml +62 -0
  69. gitlabcis/recommendations/build_pipelines_2/build_worker_2_2/worker_runtime_security.yml +37 -0
  70. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/build_stage_io.yml +49 -0
  71. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/build_steps_as_code.yml +42 -0
  72. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/limit_pipeline_triggers.yml +76 -0
  73. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/pipeline_misconfiguration_scanning.yml +48 -0
  74. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/pipeline_secret_scanning.yml +56 -0
  75. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/pipeline_vuln_scanning.yml +44 -0
  76. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/readme.md +16 -0
  77. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/secure_pipeline_output.yml +52 -0
  78. gitlabcis/recommendations/build_pipelines_2/pipeline_instructions_2_3/track_pipeline_files.yml +48 -0
  79. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/create_reproducible_artifacts.yml +52 -0
  80. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/lock_dependencies.yml +59 -0
  81. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/pipeline_produces_sbom.yml +81 -0
  82. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/pipeline_signs_sbom.yml +38 -0
  83. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/readme.md +14 -0
  84. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/sign_artifacts.yml +35 -0
  85. gitlabcis/recommendations/build_pipelines_2/pipeline_integrity_2_4/validate_dependencies.yml +63 -0
  86. gitlabcis/recommendations/build_pipelines_2/readme.md +12 -0
  87. gitlabcis/recommendations/dependencies_3/readme.md +10 -0
  88. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/define_package_managers.yml +84 -0
  89. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/dependency_sbom.yml +84 -0
  90. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/monitor_dependencies.yml +61 -0
  91. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/packages_over_60_days_old.yml +95 -0
  92. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/pin_dependency_version.yml +48 -0
  93. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/readme.md +14 -0
  94. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/third_party_sbom_required.yml +70 -0
  95. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/verify_artifacts.yml +45 -0
  96. gitlabcis/recommendations/dependencies_3/third_party_packages_3_1/verify_signed_metadata.yml +41 -0
  97. gitlabcis/recommendations/dependencies_3/validate_packages_3_2/org_wide_dependency_policy.yml +47 -0
  98. gitlabcis/recommendations/dependencies_3/validate_packages_3_2/package_license_scanning.yml +47 -0
  99. gitlabcis/recommendations/dependencies_3/validate_packages_3_2/package_ownership_change.yml +42 -0
  100. gitlabcis/recommendations/dependencies_3/validate_packages_3_2/package_vuln_scanning.yml +62 -0
  101. gitlabcis/recommendations/dependencies_3/validate_packages_3_2/readme.md +10 -0
  102. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/audit_deployment_config.yml +46 -0
  103. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/limit_deployment_config_access.yml +51 -0
  104. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/pin_deployment_config_manifests.yml +59 -0
  105. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/readme.md +13 -0
  106. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/scan_iac.yml +72 -0
  107. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/secret_scan_deployment_config.yml +45 -0
  108. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/separate_deployment_config.yml +50 -0
  109. gitlabcis/recommendations/deployment_5/deployment_configuration_5_1/verify_deployment_config.yml +49 -0
  110. gitlabcis/recommendations/deployment_5/deployment_environment_5_2/automate_deployment.yml +47 -0
  111. gitlabcis/recommendations/deployment_5/deployment_environment_5_2/disable_default_passwords.yml +63 -0
  112. gitlabcis/recommendations/deployment_5/deployment_environment_5_2/limit_prod_access.yml +45 -0
  113. gitlabcis/recommendations/deployment_5/deployment_environment_5_2/readme.md +12 -0
  114. gitlabcis/recommendations/deployment_5/deployment_environment_5_2/reproducible_deployment.yml +50 -0
  115. gitlabcis/recommendations/deployment_5/readme.md +10 -0
  116. gitlabcis/recommendations/readme.md +24 -0
  117. gitlabcis/recommendations/source_code_1/code_changes_1_1/audit_branch_protections.yml +56 -0
  118. gitlabcis/recommendations/source_code_1/code_changes_1_1/auto_risk_scan_merges.yml +62 -0
  119. gitlabcis/recommendations/source_code_1/code_changes_1_1/branch_protections_for_admins.yml +60 -0
  120. gitlabcis/recommendations/source_code_1/code_changes_1_1/branches_updated_before_merging.yml +56 -0
  121. gitlabcis/recommendations/source_code_1/code_changes_1_1/checks_pass_before_merging.yml +57 -0
  122. gitlabcis/recommendations/source_code_1/code_changes_1_1/code_approval_dismissals.yml +62 -0
  123. gitlabcis/recommendations/source_code_1/code_changes_1_1/code_approvals.yml +65 -0
  124. gitlabcis/recommendations/source_code_1/code_changes_1_1/code_changes_require_code_owners.yml +68 -0
  125. gitlabcis/recommendations/source_code_1/code_changes_1_1/code_dismissal_restrictions.yml +69 -0
  126. gitlabcis/recommendations/source_code_1/code_changes_1_1/code_owners.yml +61 -0
  127. gitlabcis/recommendations/source_code_1/code_changes_1_1/code_tracing.yml +52 -0
  128. gitlabcis/recommendations/source_code_1/code_changes_1_1/comments_resolved_before_merging.yml +59 -0
  129. gitlabcis/recommendations/source_code_1/code_changes_1_1/commits_must_be_signed_before_merging.yml +63 -0
  130. gitlabcis/recommendations/source_code_1/code_changes_1_1/default_branch_protected.yml +85 -0
  131. gitlabcis/recommendations/source_code_1/code_changes_1_1/deny_branch_deletions.yml +76 -0
  132. gitlabcis/recommendations/source_code_1/code_changes_1_1/ensure_force_push_is_denied.yml +59 -0
  133. gitlabcis/recommendations/source_code_1/code_changes_1_1/linear_history_required.yml +56 -0
  134. gitlabcis/recommendations/source_code_1/code_changes_1_1/merging_restrictions.yml +65 -0
  135. gitlabcis/recommendations/source_code_1/code_changes_1_1/readme.md +26 -0
  136. gitlabcis/recommendations/source_code_1/code_changes_1_1/stale_branch_reviews.yml +72 -0
  137. gitlabcis/recommendations/source_code_1/code_changes_1_1/version_control.yml +45 -0
  138. gitlabcis/recommendations/source_code_1/code_risks_1_5/dast_api_scanning.yml +50 -0
  139. gitlabcis/recommendations/source_code_1/code_risks_1_5/dast_web_scanning.yml +51 -0
  140. gitlabcis/recommendations/source_code_1/code_risks_1_5/dependency_scanning.yml +84 -0
  141. gitlabcis/recommendations/source_code_1/code_risks_1_5/enable_secret_detection.yml +45 -0
  142. gitlabcis/recommendations/source_code_1/code_risks_1_5/license_scanning.yml +47 -0
  143. gitlabcis/recommendations/source_code_1/code_risks_1_5/readme.md +14 -0
  144. gitlabcis/recommendations/source_code_1/code_risks_1_5/secure_iac_instructions.yml +81 -0
  145. gitlabcis/recommendations/source_code_1/code_risks_1_5/secure_pipeline_instructions.yml +62 -0
  146. gitlabcis/recommendations/source_code_1/code_risks_1_5/vulnerability_scanning.yml +48 -0
  147. gitlabcis/recommendations/source_code_1/contribution_access_1_3/domain_verification.yml +65 -0
  148. gitlabcis/recommendations/source_code_1/contribution_access_1_3/ensure_2_admins_per_repo.yml +56 -0
  149. gitlabcis/recommendations/source_code_1/contribution_access_1_3/limit_top_level_group_creation.yml +61 -0
  150. gitlabcis/recommendations/source_code_1/contribution_access_1_3/limit_user_registration_domain.yml +58 -0
  151. gitlabcis/recommendations/source_code_1/contribution_access_1_3/minimum_number_of_admins.yml +56 -0
  152. gitlabcis/recommendations/source_code_1/contribution_access_1_3/org_provided_ssh_certs.yml +70 -0
  153. gitlabcis/recommendations/source_code_1/contribution_access_1_3/readme.md +21 -0
  154. gitlabcis/recommendations/source_code_1/contribution_access_1_3/require_mfa_at_org_level.yml +89 -0
  155. gitlabcis/recommendations/source_code_1/contribution_access_1_3/require_mfa_for_contributors.yml +76 -0
  156. gitlabcis/recommendations/source_code_1/contribution_access_1_3/restrict_ip_addresses.yml +84 -0
  157. gitlabcis/recommendations/source_code_1/contribution_access_1_3/review_and_remove_inactive_users.yml +62 -0
  158. gitlabcis/recommendations/source_code_1/contribution_access_1_3/scm_notification_restriction.yml +46 -0
  159. gitlabcis/recommendations/source_code_1/contribution_access_1_3/strict_permissions_for_repo.yml +62 -0
  160. gitlabcis/recommendations/source_code_1/contribution_access_1_3/track_code_anomalies.yml +43 -0
  161. gitlabcis/recommendations/source_code_1/readme.md +13 -0
  162. gitlabcis/recommendations/source_code_1/repository_management_1_2/limit_issue_deletions.yml +57 -0
  163. gitlabcis/recommendations/source_code_1/repository_management_1_2/limit_repo_creations.yml +64 -0
  164. gitlabcis/recommendations/source_code_1/repository_management_1_2/limit_repo_deletions.yml +57 -0
  165. gitlabcis/recommendations/source_code_1/repository_management_1_2/public_repos_have_security_file.yml +59 -0
  166. gitlabcis/recommendations/source_code_1/repository_management_1_2/readme.md +15 -0
  167. gitlabcis/recommendations/source_code_1/repository_management_1_2/review_and_archive_stale_repos.yml +65 -0
  168. gitlabcis/recommendations/source_code_1/repository_management_1_2/track_forks.yml +74 -0
  169. gitlabcis/recommendations/source_code_1/repository_management_1_2/track_project_visibility_status.yml +74 -0
  170. gitlabcis/recommendations/source_code_1/third_party_1_4/README.md +12 -0
  171. gitlabcis/recommendations/source_code_1/third_party_1_4/admin_approval_for_app_installs.yml +83 -0
  172. gitlabcis/recommendations/source_code_1/third_party_1_4/least_privilge_app_permissions.yml +103 -0
  173. gitlabcis/recommendations/source_code_1/third_party_1_4/secure_webhooks.yml +73 -0
  174. gitlabcis/recommendations/source_code_1/third_party_1_4/stale_app_reviews.yml +66 -0
  175. gitlabcis/recommendations/template.yml +30 -0
  176. gitlabcis/tests/__init__.py +0 -0
  177. gitlabcis/tests/input/__init__.py +0 -0
  178. gitlabcis/tests/input/conftest.py +29 -0
  179. gitlabcis/tests/input/no_input_test.py +82 -0
  180. gitlabcis/tests/input/switch_test.py +19 -0
  181. gitlabcis/tests/input/version_test.py +7 -0
  182. gitlabcis/tests/unit/__init__.py +0 -0
  183. gitlabcis/tests/unit/benchmarks/artifacts_4/access_to_artifacts_4_2_test.py +131 -0
  184. gitlabcis/tests/unit/benchmarks/artifacts_4/origin_traceability_4_4_test.py +15 -0
  185. gitlabcis/tests/unit/benchmarks/artifacts_4/package_registries_4_3_test.py +102 -0
  186. gitlabcis/tests/unit/benchmarks/artifacts_4/verification_4_1_test.py +78 -0
  187. gitlabcis/tests/unit/benchmarks/build_pipelines_2/build_environment_2_1_test.py +239 -0
  188. gitlabcis/tests/unit/benchmarks/build_pipelines_2/build_worker_2_2_test.py +105 -0
  189. gitlabcis/tests/unit/benchmarks/build_pipelines_2/pipeline_instructions_2_3_test.py +340 -0
  190. gitlabcis/tests/unit/benchmarks/build_pipelines_2/pipeline_integrity_2_4_test.py +115 -0
  191. gitlabcis/tests/unit/benchmarks/conftest.py +47 -0
  192. gitlabcis/tests/unit/benchmarks/dependencies_3/third_party_packages_3_1_test.py +135 -0
  193. gitlabcis/tests/unit/benchmarks/dependencies_3/validate_packages_3_2_test.py +171 -0
  194. gitlabcis/tests/unit/benchmarks/deployment_5/deployment_configuration_5_1_test.py +140 -0
  195. gitlabcis/tests/unit/benchmarks/deployment_5/deployment_environment_5_2_test.py +60 -0
  196. gitlabcis/tests/unit/benchmarks/function_test.py +24 -0
  197. gitlabcis/tests/unit/benchmarks/source_code_1/code_changes_1_1_test.py +565 -0
  198. gitlabcis/tests/unit/benchmarks/source_code_1/code_risks_1_5_test.py +419 -0
  199. gitlabcis/tests/unit/benchmarks/source_code_1/contribution_access_1_3_test.py +265 -0
  200. gitlabcis/tests/unit/benchmarks/source_code_1/repository_management_1_2_test.py +142 -0
  201. gitlabcis/tests/unit/benchmarks/source_code_1/third_party_1_4_test.py +119 -0
  202. gitlabcis/tests/unit/conftest.py +94 -0
  203. gitlabcis/tests/unit/log/log_test.py +23 -0
  204. gitlabcis/tests/unit/utils/argfilters_test.py +9 -0
  205. gitlabcis/tests/unit/utils/ci_test.py +156 -0
  206. gitlabcis/tests/unit/utils/output_test.py +95 -0
  207. gitlabcis/tests/unit/utils/utils_general_test.py +149 -0
  208. gitlabcis/tests/unit/utils/version_test.py +11 -0
  209. gitlabcis/tests/unit/yaml/bad_file_test.py +15 -0
  210. gitlabcis/tests/unit/yaml/recommendation_test.py +123 -0
  211. gitlabcis/utils/__init__.py +146 -0
  212. gitlabcis/utils/ci.py +132 -0
  213. gitlabcis-1.3.2.dist-info/LICENSE +21 -0
  214. gitlabcis-1.3.2.dist-info/METADATA +241 -0
  215. gitlabcis-1.3.2.dist-info/RECORD +218 -0
  216. gitlabcis-1.3.2.dist-info/WHEEL +5 -0
  217. gitlabcis-1.3.2.dist-info/entry_points.txt +2 -0
  218. gitlabcis-1.3.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,41 @@
1
+ ---
2
+ id: 3.1.3
3
+ name: verify_signed_metadata
4
+ title: Ensure signed metadata of the build process is required and verified
5
+ profile: 1
6
+ category: dependencies
7
+ sub_category: third_party_packages
8
+ description: >-
9
+ Require and verify signed metadata of the build process for all dependencies in use.
10
+ rationale: >-
11
+ The metadata of a build process lists every action that took place during an artifact
12
+ build. It is used to ensure that an artifact has not been compromised during the build,
13
+ that no malicious code was injected into it, and that no nefarious dependencies were
14
+ added during the build phase. This creates trust between user and vendor that the
15
+ software supplied is exactly the software that was promised. Signing this metadata adds
16
+ a checksum to ensure there have been no revisions since its creation, as this checksum
17
+ changes when the metadata is altered. Verification of proper metadata signature with
18
+ Certificate Authority confirms that the signature was produced by a trusted entity.
19
+ impact: >-
20
+ audit: >-
21
+ For each artifact used, ensure it was supplied with verified and signed metadata of its
22
+ build process. The signature should be the organizational signature and should be
23
+ verifiable by common Certificate Authority servers.
24
+ remediation: >-
25
+ For each artifact in use, require and verify signed metadata of the build process.
26
+ default_value:
27
+ references:
28
+ cis_controls:
29
+ - id: 0.0
30
+ version: 8
31
+ name: Explicitly Not Mapped
32
+ description: >-
33
+ Explicitly Not Mapped
34
+ implementation_groups:
35
+ - id: 0.0
36
+ version: 7
37
+ name: Explicitly Not Mapped
38
+ description: >-
39
+ Explicitly Not Mapped
40
+ implementation_groups:
41
+ additional_info: >-
@@ -0,0 +1,47 @@
1
+ ---
2
+ id: 3.2.1
3
+ name: org_wide_dependency_policy
4
+ title: Ensure an organization-wide dependency usage policy is enforced
5
+ profile: 1
6
+ category: dependencies
7
+ sub_category: validate_packages
8
+ description: >-
9
+ Enforce a policy for dependency usage across the organization. For example, disallow
10
+ the use of packages less than 60 days old.
11
+ rationale: >-
12
+ Enforcing a policy for dependency usage in an organization helps to manage
13
+ dependencies across the organization and ensure that all usage is compliant with
14
+ security policy. If, for example, the policy limits the package managers that can be used,
15
+ enforcing it will make sure that every dependency is installed only from these package
16
+ managers, and limit the risk of installing from any untrusted source.
17
+ impact: >-
18
+ audit: >-
19
+ Verify that a policy for dependency usage is enforced across the organization.
20
+ remediation: >-
21
+ Enforce policies for dependency usage across the organization.
22
+ default_value:
23
+ references:
24
+ cis_controls:
25
+ - id: 16.1
26
+ version: 8
27
+ name: Establish and Maintain a Secure Application Development Process
28
+ description: >-
29
+ Establish and maintain a secure application development process. In the
30
+ process, address such items as: secure application design standards, secure coding
31
+ practices, developer training, vulnerability management, security of third-party code,
32
+ and application security testing procedures. Review and update documentation
33
+ annually, or when significant enterprise changes occur that could impact this
34
+ Safeguard.
35
+ implementation_groups:
36
+ - IG2
37
+ - IG3
38
+ - id: 18.1
39
+ version: 7
40
+ name: Establish and Maintain a Secure Application Development Process
41
+ description: >-
42
+ Establish secure coding practices appropriate to the programming language and
43
+ development environment being used.
44
+ implementation_groups:
45
+ - IG2
46
+ - IG3
47
+ additional_info: >-
@@ -0,0 +1,47 @@
1
+ ---
2
+ id: 3.2.3
3
+ name: package_license_scanning
4
+ title: Ensure packages are automatically scanned for license implications
5
+ profile: 1
6
+ category: dependencies
7
+ sub_category: validate_packages
8
+ description: >-
9
+ A software license is a document that provides legal conditions and guidelines for the
10
+ use and distribution of software, usually defined by the author. It is recommended to
11
+ scan for any legal implications automatically.
12
+ rationale: >-
13
+ When using packages with software licenses, especially commercial ones which tend to
14
+ be the strictest, it is important to verify that the use of the package meets the conditions
15
+ of the license. If the use of the package violates the licensing agreement, it exposes the
16
+ organization to possible lawsuits. Scanning used packages for such license implications
17
+ leads to faster detection and quicker fixes of such violations, and also reduces the risk
18
+ for a lawsuit.
19
+ impact: >-
20
+ audit: >-
21
+ Ensure license implication rules are configured and are scanned automatically. Once
22
+ Dependency Scanning is enabled for your project, continuous license scanning is
23
+ enabled.
24
+ remediation: |
25
+ Enable Dependency scanning in order to automatically scan packages for license implications. To enable the analyzer, either:
26
+ • Enable Auto DevOps, which includes dependency scanning.
27
+ • Edit the .gitlab-ci.yml file manually. Use this method if your .gitlab-ci.yml file is complex.
28
+ • Use a preconfigured merge request.
29
+ • Create a scan execution policy that enforces dependency scanning.
30
+ default_value:
31
+ references:
32
+ - https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/index.html
33
+ - https://docs.gitlab.com/ee/user/application_security/dependency_scanning/index.html#enabling-the-analyzer
34
+ cis_controls:
35
+ - id: 0.0
36
+ version: 8
37
+ name: Explicitly Not Mapped
38
+ description: >-
39
+ Explicitly Not Mapped
40
+ implementation_groups:
41
+ - id: 0.0
42
+ version: 7
43
+ name: Explicitly Not Mapped
44
+ description: >-
45
+ Explicitly Not Mapped
46
+ implementation_groups:
47
+ additional_info: >-
@@ -0,0 +1,42 @@
1
+ ---
2
+ id: 3.2.4
3
+ name: package_ownership_change
4
+ title: Ensure packages are automatically scanned for ownership change
5
+ profile: 1
6
+ category: dependencies
7
+ sub_category: validate_packages
8
+ description: >-
9
+ Scan every package automatically for ownership change.
10
+ rationale: >-
11
+ A change in package ownership is not a regular action. In some cases it can lead to a
12
+ massive problem (for example, the "event-stream" incident). Open-source contributors
13
+ are not always trusted, since by its very nature everyone can contribute. This means
14
+ malicious actors can become contributors as well. Package maintainers might transfer
15
+ their ownership to someone they do not know if maintaining the package is too much for
16
+ them, in some cases without the other user's knowledge. This has led to known security
17
+ breaches in the past. It is best to be aware of such activity as soon as it happens and to
18
+ carefully examine the situation before continuing using the package in order to
19
+ determine its safety.
20
+ impact: >-
21
+ audit: >-
22
+ Ensure automatic scanning of packages for ownership change is set.
23
+ remediation: >-
24
+ Set automatic scanning of packages for ownership change.
25
+ default_value:
26
+ references:
27
+ - https://blog.npmjs.org/post/182828408610/the-security-risks-of-changing-package-owners.html
28
+ - https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
29
+ cis_controls:
30
+ - id: 0.0
31
+ version: 8
32
+ name: Explicitly Not Mapped
33
+ description: >-
34
+ Explicitly Not Mapped
35
+ implementation_groups:
36
+ - id: 0.0
37
+ version: 7
38
+ name: Explicitly Not Mapped
39
+ description: >-
40
+ Explicitly Not Mapped
41
+ implementation_groups:
42
+ additional_info: >-
@@ -0,0 +1,62 @@
1
+ ---
2
+ id: 3.2.2
3
+ name: package_vuln_scanning
4
+ title: Ensure packages are automatically scanned for known vulnerabilities
5
+ profile: 1
6
+ category: dependencies
7
+ sub_category: validate_packages
8
+ description: >-
9
+ Automatically scan every package for vulnerabilities.
10
+ rationale: >-
11
+ Automatic scanning for vulnerabilities detects known vulnerabilities in packages and
12
+ dependencies in use, allowing faster patching when one is found. Such vulnerabilities
13
+ can lead to a massive breach if not handled as fast as possible, as attackers will also
14
+ know about those vulnerabilities and swiftly try to take advantage of them. Scanning
15
+ packages regularly for vulnerabilities can also verify usage compliance with the
16
+ organization's security policy.
17
+ impact: >-
18
+ audit: >-
19
+ Once Dependency Scanning is enabled for your project, continuous scanning of
20
+ packages for dependency vulnerabilities is enabled.
21
+ remediation: |
22
+ Enable Dependency scanning in order to automatically scan packages for vulnerabilities. To enable the analyzer, either:
23
+ • Enable Auto DevOps, which includes dependency scanning.
24
+ • Edit the .gitlab-ci.yml file manually. Use this method if your .gitlab-ci.yml file is complex.
25
+ • Use a preconfigured merge request.
26
+ • Create a scan execution policy that enforces dependency scanning.
27
+ default_value:
28
+ references:
29
+ - https://docs.gitlab.com/ee/user/application_security/continuous_vulnerability_scanning/
30
+ - https://docs.gitlab.com/ee/user/application_security/dependency_scanning/index.html#enabling-the-analyzer
31
+ cis_controls:
32
+ - id: 7.5
33
+ version: 8
34
+ name: Perform Automated Vulnerability Scans of Internal Enterprise Assets
35
+ description: >-
36
+ Perform automated vulnerability scans of internal enterprise assets on a
37
+ quarterly, or more frequent, basis. Conduct both authenticated and
38
+ unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
39
+ implementation_groups:
40
+ - IG2
41
+ - IG3
42
+ - id: 7.6
43
+ version: 8
44
+ name: Perform Automated Vulnerability Scans of Externally-Exposed Enterprise Assets
45
+ description: >-
46
+ Perform automated vulnerability scans of externally-exposed enterprise assets
47
+ using a SCAP-compliant vulnerability scanning tool. Perform scans on a monthly,
48
+ or more frequent, basis.
49
+ implementation_groups:
50
+ - IG2
51
+ - IG3
52
+ - id: 3.1
53
+ version: 7
54
+ name: Run Automated Vulnerability Scanning Tools
55
+ description: >-
56
+ Utilize an up-to-date SCAP-compliant vulnerability scanning tool to
57
+ automatically scan all systems on the network on a weekly or more frequent basis
58
+ to identify all potential vulnerabilities on the organization's systems.
59
+ implementation_groups:
60
+ - IG2
61
+ - IG3
62
+ additional_info: >-
@@ -0,0 +1,10 @@
1
+ # 3.2 Validate Packages
2
+
3
+ This section consists of security recommendations for managing package validations and checks. Third-party packages and dependencies might put the organization in danger, not only by being vulnerable to attacks, but also by being improperly used and harming license conditions. To protect the software supply chain from these dangers, it is important to validate packages and understand how and if to use them. This section's recommendations cover this topic.
4
+
5
+ ## Recommendations
6
+
7
+ * [3.2.1 - org_wide_dependency_policy.yml](./org_wide_dependency_policy.yml)
8
+ * [3.2.2 - package_vuln_scanning.yml](./package_vuln_scanning.yml)
9
+ * [3.2.3 - package_license_scanning.yml](./package_license_scanning.yml)
10
+ * [3.2.4 - package_ownership_change.yml](./package_ownership_change.yml)
@@ -0,0 +1,46 @@
1
+ ---
2
+ id: 5.1.2
3
+ name: audit_deployment_config
4
+ title: Ensure changes in deployment configuration are audited
5
+ profile: 1
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Audit and track changes made in deployment configuration.
10
+ rationale: >-
11
+ Deployment configuration is sensitive in nature. The tiniest mistake can lead to
12
+ downtime or bugs in production, which consequently may have a direct effect on both
13
+ product integrity and customer trust. Misconfigurations might also be used by malicious
14
+ actors to attack the production platform. Because of this, every change in the
15
+ configuration needs a review and possible "revert" in case of a mistake or malicious
16
+ change. Auditing every change and tracking them helps detect and fix such incidents
17
+ more quickly.
18
+ impact: >-
19
+ audit: >-
20
+ For each deployment configuration, ensure changes made to it are audited and tracked.
21
+ remediation: >-
22
+ For each deployment configuration, track and audit changes made to it.
23
+ default_value:
24
+ references:
25
+ cis_controls:
26
+ - id: 8.5
27
+ version: 8
28
+ name: Collect Detailed Audit Logs
29
+ description: >-
30
+ Configure detailed audit logging for enterprise assets containing sensitive data.
31
+ Include event source, date, username, timestamp, source addresses, destination
32
+ addresses, and other useful elements that could assist in a forensic investigation.
33
+ implementation_groups:
34
+ - IG2
35
+ - IG3
36
+ - id: 6.3
37
+ version: 7
38
+ name: Enable Detailed Logging
39
+ description: >-
40
+ Enable system logging to include detailed information such as an event source,
41
+ date, user, timestamp, source addresses, destination addresses, and other useful
42
+ elements.
43
+ implementation_groups:
44
+ - IG2
45
+ - IG3
46
+ additional_info: >-
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: 5.1.4
3
+ name: limit_deployment_config_access
4
+ title: Limit access to deployment configurations
5
+ profile: 1
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Restrict access to the deployment configuration to trusted and qualified users only.
10
+ rationale: >-
11
+ Deployment configurations are sensitive in nature. The tiniest mistake can lead to
12
+ downtime or bugs in production, which can have a direct effect on the product's integrity
13
+ and customer trust. Misconfigurations might also be used by malicious actors to attack
14
+ the production platform. To avoid such harm as much as possible, ensure only trusted
15
+ and qualified users have access to such configurations. This will also reduce the
16
+ number of accounts that might affect the environment in case of an attack.
17
+ impact: >-
18
+ Reducing the number of users who have access to the deployment configuration means
19
+ those users would lose their ability to make direct changes to that configuration.
20
+ audit: >-
21
+ Verify each deployment configuration is accessible only to known and authorized users.
22
+ remediation: >-
23
+ Restrict access to the deployment configuration to trusted and qualified users.
24
+ default_value:
25
+ references:
26
+ cis_controls:
27
+ - id: 3.3
28
+ version: 8
29
+ name: Configure Data Access Control Lists
30
+ description: >-
31
+ Configure data access control lists based on a user's need to know. Apply data
32
+ access control lists, also known as access permissions, to local and remote file
33
+ systems, databases, and applications.
34
+ implementation_groups:
35
+ - IG1
36
+ - IG2
37
+ - IG3
38
+ - id: 14.6
39
+ version: 7
40
+ name: Protect Information through Access Control Lists
41
+ description: >-
42
+ Protect all information stored on systems with file system, network share,
43
+ claims, application, or database specific access control lists. These controls will
44
+ enforce the principle that only authorized individuals should have access to the
45
+ information based on their need to access the information as a part of their
46
+ responsibilities.
47
+ implementation_groups:
48
+ - IG1
49
+ - IG2
50
+ - IG3
51
+ additional_info: >-
@@ -0,0 +1,59 @@
1
+ ---
2
+ id: 5.1.7
3
+ name: pin_deployment_config_manifests
4
+ title: Ensure deployment configuration manifests are pinned to a specific, verified version
5
+ profile: 1
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Deployment configuration is often stored in a version control system and is pulled from
10
+ there. Pin the configuration used to a specific, verified version or commit Secure Hash
11
+ Algorithm (SHA). Avoid referring configuration without its version tag specified.
12
+ rationale: >-
13
+ Deployment configuration manifests are often stored in version control systems and
14
+ pulled from there either by automation platforms, for example Ansible, or GitOps
15
+ platforms, such as ArgoCD. When a manifest is pulled from a version control system
16
+ without tag or commit Secure Hash Algorithm (SHA) specified, it is pulled from the
17
+ HEAD revision, which is equal to the 'latest' tag, and pulls the last change made. This
18
+ increases the risk of encountering a new, potentially malicious configuration. If an
19
+ attacker pushes malicious configuration to the version control system, the next user who
20
+ pulls the HEAD revision will pull it and risk attack. To avoid that risk, use a version tag of
21
+ verified version or a commit SHA of a trusted commit, which will ensure this is the only
22
+ version pulled.
23
+ impact: >-
24
+ Changes in deployment configuration will not be pulled unless their version tag or
25
+ commit Secure Hash Algorithm (SHA) is specified. This might slow down the
26
+ deployment process.
27
+ audit: >-
28
+ For every deployment configuration manifest in use, ensure it is pinned to a specific
29
+ version or commit Secure Hash Algorithm (SHA).
30
+ remediation: >-
31
+ For every deployment configuration manifest in use, pin to a specific version or commit
32
+ Secure Hash Algorithm (SHA).
33
+ default_value:
34
+ references:
35
+ cis_controls:
36
+ - id: 4.1
37
+ version: 8
38
+ name: Establish and Maintain a Secure Configuration Process
39
+ description: >-
40
+ Establish and maintain a secure configuration process for enterprise assets
41
+ (end-user devices, including portable and mobile, non-computing/IoT devices, and
42
+ servers) and software (operating systems and applications). Review and update
43
+ documentation annually, or when significant enterprise changes occur that could
44
+ impact this Safeguard.
45
+ implementation_groups:
46
+ - IG1
47
+ - IG2
48
+ - IG3
49
+ - id: 5.1
50
+ version: 7
51
+ name: Establish Secure Configurations
52
+ description: >-
53
+ Maintain documented, standard security configuration standards for all
54
+ authorized operating systems and software.
55
+ implementation_groups:
56
+ - IG1
57
+ - IG2
58
+ - IG3
59
+ additional_info: >-
@@ -0,0 +1,13 @@
1
+ # 5.1 Deployment Configuration
2
+
3
+ This section consists of security recommendations for the management of the deployment configuration. This consists of the files, instructions, and access management of the deployment configuration. Usually, the configuration files are stored in a version control system, so they need to be protected in it as well.
4
+
5
+ ## Recommendations
6
+
7
+ * [5.1.1 - separate_deployment_config.yml](./separate_deployment_config.yml)
8
+ * [5.1.2 - audit_deployment_config.yml](./audit_deployment_config.yml)
9
+ * [5.1.3 - secret_scan_deployment_config.yml](./secret_scan_deployment_config.yml)
10
+ * [5.1.4 - limit_deployment_config_access.yml](./limit_deployment_config_access.yml)
11
+ * [5.1.5 - scan_iac.yml](./scan_iac.yml)
12
+ * [5.1.6 - verify_deployment_config.yml](./verify_deployment_config.yml)
13
+ * [5.1.7 - pin_deployment_config_manifests.yml](./pin_deployment_config_manifests.yml)
@@ -0,0 +1,72 @@
1
+ ---
2
+ id: 5.1.5
3
+ name: scan_iac
4
+ title: Detect and prevent misconfigurations or insecure instructions in Infrastructure as Code (IaC) files, such as Terraform files.
5
+ profile: 2
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Detect and prevent misconfigurations or insecure instructions in Infrastructure as Code
10
+ (IaC) files, such as Terraform files.
11
+ rationale: >-
12
+ Infrastructure as Code (IaC) files are used for production environment and application
13
+ deployment. These are sensitive parts of the software supply chain because they are
14
+ always in touch with customers, and thus might affect their opinion of or trust in the
15
+ product. Attackers often target these environments. Detecting and fixing
16
+ misconfigurations and/or insecure instructions in IaC files decreases the risk for data
17
+ leak or data theft. It is important to secure IaC instructions in order to prevent further
18
+ problems of deployment, exposed assets, or improper configurations, which might
19
+ ultimately lead to easier ways to attack and steal organization data.
20
+ impact: >-
21
+ audit: >-
22
+ For every Infrastructure as Code (IaC) instructions file, verify that scanners are set to
23
+ identify and prevent misconfigurations and insecure instructions.
24
+ remediation: >-
25
+ For every Infrastructure as Code (IaC) instructions file, set scanners to identify and
26
+ prevent misconfigurations and insecure instructions.
27
+ default_value:
28
+ references:
29
+ cis_controls:
30
+ - id: 7.5
31
+ version: 8
32
+ name: Perform Automated Vulnerability Scans of Internal Enterprise Assets
33
+ description: >-
34
+ Perform automated vulnerability scans of internal enterprise assets on a
35
+ quarterly, or more frequent, basis. Conduct both authenticated and
36
+ unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
37
+ implementation_groups:
38
+ - IG2
39
+ - IG3
40
+ - id: 16.7
41
+ version: 8
42
+ name: Use Standard Hardening Configuration Templates for Application Infrastructure
43
+ description: >-
44
+ Use standard, industry-recommended hardening configuration templates for
45
+ application infrastructure components. This includes underlying servers, databases,
46
+ and web servers, and applies to cloud containers, Platform as a Service (PaaS)
47
+ components, and SaaS components. Do not allow in-house developed software to
48
+ weaken configuration hardening.
49
+ implementation_groups:
50
+ - IG2
51
+ - IG3
52
+ - id: 3.1
53
+ version: 7
54
+ name: Run Automated Vulnerability Scanning Tools
55
+ description: >-
56
+ Utilize an up-to-date SCAP-compliant vulnerability scanning tool to
57
+ automatically scan all systems on the network on a weekly or more frequent basis
58
+ to identify all potential vulnerabilities on the organization's systems.
59
+ implementation_groups:
60
+ - IG2
61
+ - IG3
62
+ - id: 18.11
63
+ version: 7
64
+ name: Use Standard Hardening Configuration Templates for Databases
65
+ description: >-
66
+ For applications that rely on a database, use standard hardening configuration
67
+ templates. All systems that are part of critical business processes should also be
68
+ tested.
69
+ implementation_groups:
70
+ - IG2
71
+ - IG3
72
+ additional_info: >-
@@ -0,0 +1,45 @@
1
+ ---
2
+ id: 5.1.3
3
+ name: secret_scan_deployment_config
4
+ title: Ensure scanners are in place to identify and prevent sensitive data in deployment configuration
5
+ profile: 1
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Detect and prevent sensitive data - such as confidential ID numbers, passwords, etc. -
10
+ in deployment configurations.
11
+ rationale: >-
12
+ Sensitive data in deployment configurations might create a major incident if an attacker
13
+ gains access to it, as this can cause data loss and theft. It is important to keep sensitive
14
+ data safe and to not expose it in the configuration. In order to prevent a possible
15
+ exposure, set scanners that will identify and prevent such data in deployment
16
+ configurations.
17
+ impact: >-
18
+ audit: >-
19
+ For each deployment configuration file, verify that scanners are set to identify and
20
+ prevent the existence of sensitive data within it.
21
+ remediation: >-
22
+ For each deployment configuration file, set scanners to identify and prevent sensitive
23
+ data within it.
24
+ default_value:
25
+ references:
26
+ cis_controls:
27
+ - id: 16.12
28
+ version: 8
29
+ name: Implement Code-Level Security Checks
30
+ description: >-
31
+ Apply static and dynamic analysis tools within the application life cycle to verify
32
+ that secure coding practices are being followed.
33
+ implementation_groups:
34
+ - IG3
35
+ - id: 3.1
36
+ version: 7
37
+ name: Run Automated Vulnerability Scanning Tools
38
+ description: >-
39
+ Utilize an up-to-date SCAP-compliant vulnerability scanning tool to
40
+ automatically scan all systems on the network on a weekly or more frequent basis
41
+ to identify all potential vulnerabilities on the organization's systems.
42
+ implementation_groups:
43
+ - IG2
44
+ - IG3
45
+ additional_info: >-
@@ -0,0 +1,50 @@
1
+ ---
2
+ id: 5.1.1
3
+ name: separate_deployment_config
4
+ title: Ensure deployment configuration files are separated from source code
5
+ profile: 2
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Deployment configurations are often stored in a version control system. Separate
10
+ deployment configuration files from source code repositories.
11
+ rationale: >-
12
+ Deployment configuration manifests are often stored in version control systems. Storing
13
+ them in dedicated repositories, separately from source code repositories, has several
14
+ benefits. First, it adds order to both maintenance and version control history. This
15
+ makes it easier to track code or manifest changes, as well as spot any malicious code
16
+ or misconfigurations. Second, it helps achieve the Least Privilege principle. Because
17
+ access can be configured differently for each repository, fewer users will have access to
18
+ this configuration, which is typically sensitive.
19
+ impact: >-
20
+ audit: >-
21
+ Ensure each deployment configuration file is stored separately from source code.
22
+ remediation: >-
23
+ Store each deployment configuration file in a dedicated repository separately from
24
+ source code.
25
+ default_value:
26
+ references:
27
+ cis_controls:
28
+ - id: 16.1
29
+ version: 8
30
+ name: Establish and Maintain a Secure Application Development Process
31
+ description: >-
32
+ Establish and maintain a secure application development process. In the
33
+ process, address such items as: secure application design standards, secure coding
34
+ practices, developer training, vulnerability management, security of third-party code,
35
+ and application security testing procedures. Review and update documentation
36
+ annually, or when significant enterprise changes occur that could impact this
37
+ Safeguard.
38
+ implementation_groups:
39
+ - IG2
40
+ - IG3
41
+ - id: 18.1
42
+ version: 7
43
+ name: Establish and Maintain a Secure Application Development Process
44
+ description: >-
45
+ Establish secure coding practices appropriate to the programming language and
46
+ development environment being used.
47
+ implementation_groups:
48
+ - IG2
49
+ - IG3
50
+ additional_info: >-
@@ -0,0 +1,49 @@
1
+ ---
2
+ id: 5.1.6
3
+ name: verify_deployment_config
4
+ title: Ensure deployment configuration manifests are verified
5
+ profile: 1
6
+ category: deployment
7
+ sub_category: deployment_configuration
8
+ description: >-
9
+ Verify the deployment configuration manifests.
10
+ rationale: >-
11
+ To ensure that the configuration manifests used are trusted and have not been infected
12
+ by malicious actors before arriving at the platform, it is important to verify the manifests.
13
+ This may be done by comparing the checksum of the manifest file to its checksum in a
14
+ trusted source. If a difference arises, this is a sign that an unknown actor has interfered
15
+ and may have added malicious instructions. If this manifest is used, it might harm the
16
+ environment and application deployment, which could end in a massive breach and
17
+ leave the organization exposed to data leaks, etc.
18
+ impact: >-
19
+ audit: >-
20
+ For each deployment configuration manifest in use, ensure it has been verified.
21
+ remediation: >-
22
+ Verify each deployment configuration manifest in use.
23
+ default_value:
24
+ references:
25
+ cis_controls:
26
+ - id: 4.1
27
+ version: 8
28
+ name: Establish and Maintain a Secure Configuration Process
29
+ description: >-
30
+ Establish and maintain a secure configuration process for enterprise assets
31
+ (end-user devices, including portable and mobile, non-computing/IoT devices, and
32
+ servers) and software (operating systems and applications). Review and update
33
+ documentation annually, or when significant enterprise changes occur that could
34
+ impact this Safeguard.
35
+ implementation_groups:
36
+ - IG1
37
+ - IG2
38
+ - IG3
39
+ - id: 5.1
40
+ version: 7
41
+ name: Establish Secure Configurations
42
+ description: >-
43
+ Maintain documented, standard security configuration standards for all
44
+ authorized operating systems and software
45
+ implementation_groups:
46
+ - IG1
47
+ - IG2
48
+ - IG3
49
+ additional_info: >-