Bitrise on AWS: OS security patching
The responsibilities regarding OS security patching on AWS are shared between Bitrise and the customer. The exact responsibilities differ based on the AWS environment: different policies apply to macOS and Linux environments.
On AWS, security patching and maintenance are governed by the Shared Responsibility Model. For Bitrise, the most important issues are the following:
-
Host AMI updates
-
Bitrise VM image updates (if applicable)
The responsibilities regarding these tasks are shared between Bitrise and the customer. The exact responsibilities differ based on the AWS environment: different policies apply to macOS and Linux environments.
macOS virtualized environment
Bitrise on AWS offers AMIs with VM images of our stable stacks (not edge stacks) for the macOS virtualized environment.
Regular tooling updates
Bitrise performs regular VM updates for tooling changes. When a new VM image is built due to a tooling update, the latest AWS macOS version is used for the host instance (AMI). The OS of the VM image will not change.
|
Component |
Bitrise Update Frequency |
Customer Responsibility |
|---|---|---|
|
Host OS |
Bitrise does not perform general OS updates. OS security patches occur only if required by our internal information security assessment (as defined in our trust center). |
It is the customer’s responsibility to use the newest AMIs. |
|
VM OS |
Bitrise does not perform general OS updates. OS security patches occur only if required by our internal information security assessment (as defined in our trust center). |
It is the customer’s responsibility to use the newest AMIs. |
macOS bare metal environment
In the macOS Bare Metal environment, Bitrise on AWS offers AMIs only for stable stacks only (not edge stacks).
|
Component |
Bitrise Update Frequency |
Customer Responsibility |
|---|---|---|
|
Bitrise AMI |
Bitrise uses AWS's latest macOS version as the base when building a new host AMI. We monitor macOS vulnerabilities and rebuild and publish new AMI versions when internal information security assessments dictate. |
It is the customer’s responsibility to use the newest AMIs. |
Trust Center
Additional information on how Bitrise monitors and assesses vulnerabilities can be found in the Trust Center.
Linux environment
Linux instances on Bitrise on AWS operate on Bare Metal only, with no virtualization or Docker. All required tooling is baked directly into the Amazon Machine Image (AMI).
|
Component |
Bitrise Update Frequency |
Customer Responsibility |
|---|---|---|
|
Bitrise AMI |
Bitrise updates the core Linux AMI for tooling changes (for example, Android tools) only. |
The customer is responsible for applying OS security patches. |
Patching scenarios
The method for applying security patches differs based on whether or not you are using the Bitrise Controller.
Patching without the controller
If you are using a manual setup, you have more flexibility for applying patches or updates in general to the instance. You can:
-
Create a custom AMI: start a Bitrise AMI, make a change (like an OS patch), take a new AMI snapshot, and then configure your environment to run with the ID of this new, custom AMI.
-
Use a user data script: define your own script to execute commands upon instance startup.
-
Use SSH updates: connect to your instances via SSH to perform updates manually with a guarantee that the updates will persist.
Patching with the controller
You have multiple options to apply patches when using the controller:
-
Host warmup script: this script runs when an instance is started (a one-time operation). To apply updates to the instance, you can modify the host warmup script, drain the instance pool and then bring it back up, which will run the script for a fully updated instance.
Availability
Be mindful of Mac EC2 availability when performing this operation.
-
Controller with virtualization: the VM OS on stable stacks does not receive general updates, however, Bitrise monitors for OS vulnerabilities and publishes new AMIs based on internal information security assessments. The VM warmup script runs in the fresh VM for every new build that is started. This may not be a good option for VM OS patches due to the time they consume.
Custom AMIs
You cannot use a custom AMI with the Bitrise Controller, which means you cannot take a snapshot of an updated AMI and use it with the Controller. The Controller only permits specific Bitrise AMIs. If you think this may be a requirement, please contact us to discuss.
Security patching reference
|
macOS Virtualized - Controller |
macOS Bare Metal - Controller |
macOS Virtualized - Manual |
macOS Bare Metal - Manual |
Linux Bare Metal - Manual |
|
|---|---|---|---|---|---|
|
Host OS Update |
Can use host warm up script to perform updates. |
Can use host warm up script to perform updates. |
Can use custom AMI Can directly modify instance |
Can use custom AMI Can directly modify instance |
Can use custom AMI Can directly modify instance |
|
VM OS Update |
Bitrise is responsible for critical security updates. |
N/A |
Bitrise is responsible for critical security updates. |
N/A |
N/A |