Profilanwendbarkeit: Stufe 2
Deaktivieren Sie den Zugriff auf die Kubernetes-API von außerhalb des Knotennetzwerks,
wenn er nicht erforderlich ist.
In einem privaten Cluster hat der Masterknoten zwei Endpunkte, einen privaten und
einen öffentlichen Endpunkt. Der private Endpunkt ist die interne IP-Adresse des Masters,
hinter einem internen Lastenausgleich im virtuellen Netzwerk des Masters. Die Knoten
kommunizieren mit dem Master über den privaten Endpunkt. Der öffentliche Endpunkt
ermöglicht den Zugriff auf die Kubernetes-API von außerhalb des virtuellen Netzwerks
des Masters.
Obwohl die Kubernetes-API ein autorisiertes Token benötigt, um sensible Aktionen auszuführen,
könnte eine Sicherheitslücke möglicherweise den Kubernetes öffentlich mit uneingeschränktem
Zugriff exponieren. Zusätzlich könnte ein Angreifer in der Lage sein, den aktuellen
Cluster und die Kubernetes-API-Version zu identifizieren und festzustellen, ob sie
anfällig für einen Angriff ist. Sofern nicht erforderlich, hilft das Deaktivieren
des öffentlichen Endpunkts, solche Bedrohungen zu verhindern und erfordert, dass der
Angreifer sich im virtuellen Netzwerk des Masters befindet, um einen Angriff auf die
Kubernetes-API durchzuführen.
Prüfung
Überprüfen Sie, ob die folgenden Einstellungen korrekt sind:
export CLUSTER_NAME=<your cluster name>
export RESOURCE_GROUP=<your resource group name>
az aks show \
--name "${CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--query "{enablePrivateCluster:apiServerAccessProfile.enablePrivateCluster, enablePublicFqdn:apiServerAccessProfile.enablePublicFqdn, authorizedIpRanges:apiServerAccessProfile.authorizedIpRanges}" \
--output json
Die Ausgabe wäre ähnlich wie:
{
"enablePrivateCluster": true,
"enablePublicFqdn": false,
"authorizedIpRanges": [
"203.0.113.10/32",
"198.51.100.0/24"
]
}
Dieser Befehl fragt die
enablePrivateCluster-Eigenschaft innerhalb des apiServerAccessProfile Ihres AKS Clusters ab. Wenn die Ausgabe wahr ist, bedeutet dies, dass endpointPrivateAccess
aktiviert ist und der AKS Cluster API-Server so konfiguriert ist, dass er nur über
einen privaten Endpunkt zugänglich ist. Wenn die Ausgabe falsch ist, ist der Cluster
nicht ausschließlich für privaten Zugriff konfiguriert, und der API-Server könnte
je nach anderen Einstellungen über das Internet zugänglich sein.Wiederherstellung
Um einen privaten Endpunkt zu verwenden, erstellen Sie einen neuen privaten Endpunkt
in Ihrem virtuellen Netzwerk und erstellen Sie dann eine Verbindung zwischen Ihrem
virtuellen Netzwerk und einer neuen privaten DNS Zone.
