Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add lockdown notes to SECURITY_GUIDANCE.md #1281

Merged
merged 1 commit into from
Feb 11, 2021

Conversation

bcressey
Copy link
Contributor

Issue number:
Fixes #1224

Description of changes:
Add notes about the Lockdown LSM to security guidance.

Testing done:
Verified that the example works correctly as user-data and disables unsigned kernel modules from being loaded.

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
Comment on lines +116 to +117
The first mode, "none", effectively disables the protection.
This is the default in today's [variants](variants/) of Bottlerocket, for compatibility with existing deployments.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you expect the default to change for some variants? I see it as more of a global Bottlerocket security offering.

Copy link
Contributor Author

@bcressey bcressey Jan 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could change the default for new launches but migrate to "none" on upgrade, which might be the current behavior.

Today we have the property that you can continue launching new versions of the same variant with no user-data changes. I worry about discarding that property; we don't want moving to new versions to become a scary proposition.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd worry about anything where we change behavior for new launches as compared to upgrades because it introduces a risk for drift within a customer's cluster. For example, if a customer operates an auto-scaling group and changes the ASG to launch a new AMI while upgrading the existing instances, some will have "none" (the upgraded ones) while others won't.

This is the default in today's [variants](variants/) of Bottlerocket, for compatibility with existing deployments.

The second mode, "integrity", blocks most ways to overwrite the kernel's memory and modify its code.
This will become the default in future variants.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar question here - some variants are longer-lived, like aws-ecs-1, and I believe we should aim for changing the setting for existing variants rather than segmenting our security story by variant.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For aws-ecs-1, I'd like to change the default prior to GA.

The aws-k8s-* variants will age out of support over the next year, so making the changes in newer variants would let us converge on the new default without risk of disruption.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm 👍 on changing the default for aws-ecs-1 prior to GA. I'm also 👍 on introducing this to the new aws-k8s-* variants as we add them.

@@ -223,6 +246,11 @@ These settings can passed as [user data](https://docs.aws.amazon.com/AWSEC2/late
They apply to any Bottlerocket variant.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this comment still apply if you're talking about segmenting this setting's default by variant?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a correct statement today, and would be a no-op if we change the default.

@bcressey bcressey requested a review from jhaynes January 15, 2021 21:44
@bcressey bcressey merged commit 7d322fa into bottlerocket-os:develop Feb 11, 2021
@bcressey bcressey deleted the lockdown-notes branch February 11, 2021 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update security documentation for kernel lockdown mode
6 participants