You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: jekyll/_cci2/security-server.adoc
+20Lines changed: 20 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -78,3 +78,23 @@ Following are the system events that are logged. See `action` in the Field secti
78
78
- **scope:** If the target is owned by an Account in the CircleCI domain model, the account field should be filled in with the Account name and ID. This data is a JSON blob that will always contain `id` and `type` and will likely contain `name`.
79
79
- **success:** A flag to indicate if the action was successful.
80
80
- **request:** If this event was triggered by an external request this data will be populated and may be used to connect events that originate from the same external request. The format is a JSON blob containing `id` (the request ID assigned to this request by CircleCI), `ip_address` (the original IP address in IPV4 dotted notation from which the request was made, eg. 127.0.0.1), and `client_trace_id` (the client trace ID header, if present, from the 'X-Client-Trace-Id' HTTP header of the original request).
81
+
82
+
== Checklist To Using CircleCI Securely as a Customer
83
+
84
+
If you are getting started with CircleCI there are some things you can ask your team to consider for security best practices as _users_ of CircleCI:
85
+
86
+
- Minimise the number of secrets (private keys / environment variables) your
87
+
build needs and rotate secrets regularly.
88
+
- It is important to rotate secrets regularly in your organization, especially as team members come and go.
89
+
- Rotating secrets regularly means your secrets are only active for a certain amount of time, helping to reduce possible risks if keys are compromised.
90
+
- Ensure the secrets you _do_ use are of limited scope - with only enough permissions for the purposes of your build. Consider carefully adjudicating the role and permission systems of other platforms you use outside of CircleCI; for example, when using something such as IAM permissions on AWS, or Github's https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users[Machine User] feature.
91
+
- Sometimes user misuse of certain tools might accidentally print secrets to stdout which will land in your logs. Please be aware of:
92
+
- running `env` or `printenv` which will print all your environment variables to stdout.
93
+
- literally printing secrets in your codebase or in your shell with `echo`.
94
+
- programs or debugging tools that print secrets on error.
95
+
- Consult your VCS provider's permissions for your organization (if you are in an organizations) and try to follow the https://en.wikipedia.org/wiki/Principle_of_least_privilege[Principle of Least Privilege].
96
+
- Use Restricted Contexts with teams to share environment variables with a select security group. Read through the <<contexts#restricting-a-context,contexts>> document to learn more.
97
+
- Ensure you audit who has access to SSH keys in your organization.
98
+
- Ensure that your team is using Two-Factor Authentication (2FA) with your VCS (https://help.github.com/en/articles/securing-your-account-with-two-factor-authentication-2fa[Github 2FA], https://confluence.atlassian.com/bitbucket/two-step-verification-777023203.html[Bitbucket]). If a user's GitHub or Bitbucket account is compromised a nefarious actor could push code or potentially steal secrets.
99
+
- If your project is open source and public, please make note of whether or not you want to share your environment variables. On CircleCI, you can change a project's settings to control whether your environment variables can pass on to _forked versions of your repo_. This is **not enabled** by default. You can read more about these settings and open source security in our <<oss#security,Open Source Projects document>>.
0 commit comments