-
Notifications
You must be signed in to change notification settings - Fork 110
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
[SC-7] Restrict egress traffic from EKS workloads by default, allow by configuration #3665
Comments
I said in our meeting today that I thought the VPC-CNI add-on for EKS would be sufficient for us to implement a default-deny |
Note that the monzo-operator hasn't been touched in 11 months, so it may no longer be a first-choice solution. |
Resources Used:
|
There's no way to implement a network policy that applies to all namespaces, so we must do them individually 😢 |
That's fine, we can do that with a |
For future reference: Replacing Calico with Cilium would give us DNS-based egress control (like the Monzo operator) and mTLS between pods as well as many other service-mesh features. |
User Story
In order to meet the intent of SC-7 (and sub-controls), EKS clusters provisioned by the SSB should restrict outbound traffic by default, and allow by exception/explicit configuration.
Acceptance Criteria
[ACs should be clearly demoable/verifiable whenever possible. Try specifying them using BDD.]
Outbound:
AND I did not configure allowed outbound CIDRs during provision
WHEN I
kubectl ssh
into a podAND try to ping well-known public IPs
THEN the traffic is blocked.
AND I configured allowed outbound CIDRs during provision
WHEN I
kubectl ssh
into a podAND try to ping an IP in those allowed CIDR ranges
THEN the traffic is permitted.
Background
[Any helpful contextual notes or links to artifacts/evidence, if needed]
NIST SC-7 says outbound traffic should be permitted by exception, not by default. We can restrict outbound IP ranges to just those configured at provisioning (or none, if none were provided) to meet the intent of this control for the SSB's managed boundary.
Security Considerations (required)
[Any security concerns that might be implicated in the change. "None" is OK, just be explicit here!]
Sketch
Most flexible option for users of the broker (though more complex and not a core k8s feature):
The simplest-to-implement near-term alternative is to just implementing CIDR-based controls:
The text was updated successfully, but these errors were encountered: