Profilanwendbarkeit: Stufe 1 - Cluster / Steuerungsebene
Aktivieren Sie den privaten Endpunktzugriff, um den Zugriff auf die Steuerungsebene
des Clusters auf eine Positivliste autorisierter IPs zu beschränken.
Autorisierte Netzwerke sind eine Möglichkeit, einen eingeschränkten Bereich von IP-Adressen
festzulegen, die Zugriff auf die Steuerungsebene Ihres Clusters haben dürfen. Kubernetes
Engine verwendet sowohl Transport Layer Security (TLS) als auch Authentifizierung,
um sicheren Zugriff auf die Steuerungsebene Ihres Clusters aus dem öffentlichen Internet
zu ermöglichen. Dies bietet Ihnen die Flexibilität, Ihren Cluster von überall aus
zu verwalten; jedoch möchten Sie möglicherweise den Zugriff weiter auf eine Reihe
von IP-Adressen beschränken, die Sie kontrollieren. Sie können diese Einschränkung
festlegen, indem Sie ein autorisiertes Netzwerk spezifizieren.
Das Einschränken des Zugriffs auf ein autorisiertes Netzwerk kann zusätzliche Sicherheitsvorteile
für Ihren Container-Cluster bieten, einschließlich:
-
Better protection from outsider attacks: Autorisierte Netzwerke bieten eine zusätzliche Sicherheitsebene, indem sie den externen Zugriff auf eine bestimmte Gruppe von Adressen beschränken, die Sie festlegen, wie z.B. solche, die von Ihrem Standort stammen. Dies hilft, den Zugriff auf Ihren Cluster im Falle einer Sicherheitslücke im Authentifizierungs- oder Autorisierungsmechanismus des Clusters zu schützen.
-
Better protection from insider attacks: Autorisierte Netzwerke helfen, Ihren Cluster vor versehentlichen Lecks von Master-Zertifikaten aus den Räumlichkeiten Ihres Unternehmens zu schützen. Durchgesickerte Zertifikate, die außerhalb von Cloud-Diensten und außerhalb der autorisierten IP-Bereiche verwendet werden (zum Beispiel von Adressen außerhalb Ihres Unternehmens), werden weiterhin der Zugriff verweigert.
HinweisStandardmäßig ist der öffentliche Zugriff auf Endpunkte deaktiviert.
|
Auswirkung
Beim Implementieren des Endpoint Private Access achten Sie darauf, dass alle gewünschten
Netzwerke auf der Zulassungsliste (Whitelist) stehen, um ein versehentliches Blockieren
des externen Zugriffs auf die Steuerungsebene Ihres Clusters zu verhindern.
Prüfung
Überprüfen Sie, ob das Folgende
aktiviert: true ist:export CLUSTER_NAME=<your cluster name>
export REGION_CODE=<your region>
aws eks describe-cluster \
--name "${CLUSTER_NAME}" \
--region "${REGION_CODE}" \
--query \
"cluster.resourcesVpcConfig.{endpointPrivateAccess:endpointPrivateAccess,endpointPublicAccess:endpointPublicAccess,publicAccessCidrs:publicAccessCidrs}" \
--output json
Überprüfen Sie die Ausgabe für:
"endpointPrivateAccess": true, "endpointPublicAccess": true
Überprüfen Sie, ob
publicAccessCidrs auf eine gültige IP-Adresse gesetzt ist, die nicht auf 0.0.0.0/0 eingestellt ist:"publicAccessCidrs": [ "203.0.113.5/32" ]
Wiederherstellung
Durch Aktivieren des privaten Endpunktzugriffs auf den Kubernetes-API-Server bleibt
die gesamte Kommunikation zwischen Ihren Knoten und dem API-Server innerhalb Ihrer
VPC. Sie können auch die IP-Adressen einschränken, die von außerhalb auf Ihren API-Server
zugreifen können, oder den Internetzugang zum API-Server vollständig deaktivieren.
Mit diesem Gedanken können Sie Ihren Cluster entsprechend aktualisieren, indem Sie
die AWS CLI verwenden, um sicherzustellen, dass der private Endpunktzugriff aktiviert
ist.
Wenn Sie sich entscheiden, auch den Zugriff auf öffentliche Endpunkte zu aktivieren,
sollten Sie eine Liste zulässiger CIDR-Blöcke konfigurieren, was zu einem eingeschränkten
Zugriff aus dem Internet führt. Wenn Sie keine CIDR-Blöcke angeben, kann der öffentliche
API-Server-Endpunkt standardmäßig Anfragen von allen IP-Adressen empfangen und verarbeiten,
indem er auf
['0.0.0.0/0'] zurückgreift.Beispielsweise würde der folgende Befehl privaten Zugriff auf die Kubernetes-API sowie
begrenzten öffentlichen Zugriff über das Internet von einer einzelnen IP-Adresse ermöglichen
(unter Berücksichtigung des /32 CIDR-Suffixes):
aws eks update-cluster-config \ --region $REGION_CODE \ --name $CLUSTER_NAME \ --resources-vpc-config endpointPrivateAccess=true,endpointPublicAccess=true,publicAccessCidrs="203.0.113.5/32"
HinweisDie angegebenen CIDR-Blöcke dürfen keine reservierten Adressen enthalten. Es gibt
eine maximale Anzahl von CIDR-Blöcken, die Sie angeben können. Weitere Informationen
finden Sie im EKS-Servicekontingente-Link im Referenzabschnitt. Für detailliertere
Informationen siehe den EKS-Cluster-Endpunkt-Dokumentationslink im Referenzabschnitt.
|
