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

added policy to check public cluster access for eks #1080

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
13 changes: 13 additions & 0 deletions avd_docs/aws/eks/AVD-AWS-0195/docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

EKS Clusters should have the public access disabled

### Impact
<!-- Add Impact here -->

<!-- DO NOT CHANGE -->
{{ remediationActions }}

### Links
- https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html


3 changes: 3 additions & 0 deletions avd_docs/kubernetes/general/AVD-KSV-0107/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@ apiVersion and kind has been deprecated
<!-- DO NOT CHANGE -->
{{ remediationActions }}

### Links
-

SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

4 changes: 2 additions & 2 deletions avd_docs/kubernetes/general/AVD-KSV-0108/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
Services with external IP addresses allows direct access from the internet and might expose risk for CVE-2020-8554

### Impact
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.
https://www.cvedetails.com/cve/CVE-2020-8554/
<!-- Add Impact here -->
SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved
<!-- DO NOT CHANGE -->
{{ remediationActions }}

Expand Down
2 changes: 1 addition & 1 deletion avd_docs/kubernetes/general/AVD-KSV-0109/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Storing secrets in configMaps is unsafe

### Impact
Unsafe storage of secret content in configMaps could lead to the information being compromised.
<!-- Add Impact here -->
SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

<!-- DO NOT CHANGE -->
{{ remediationActions }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# METADATA
# title: "EKS Public Aceess"
# description: "EKS Clusters should have the public access disabled"
# scope: package
# schemas:
# - input: schema.input
# related_resources:
# - https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
# custom:
# avd_id: AVD-AWS-0195
# provider: aws
# service: eks
# severity: CRITICAL
# short_code: no-public-cluster-access
# recommended_action: "EKS clusters are available publicly by default, this should be explicitly disabled in the vpc_config of the EKS cluster resource."
# input:
# selector:
# - type: cloud
package builtin.aws.eks.aws0195

deny[res] {
cluster := input.aws.eks.clusters[_]
cluster.publicaccessenabled.value
res := result.new("Public cluster access is enabled.", cluster.publicaccessenabled)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package builtin.aws.eks.aws0195

test_detects_when_disabled {
r := deny with input as {"aws": {"eks": {"clusters": [{"publicaccessenabled": {"value": false}}]}}}
count(r) == 0
}

test_when_enabled {
r := deny with input as {"aws": {"eks": {"clusters": [{"publicaccessenabled": {"value": true}}]}}}
count(r) == 1
}