設定檔適用性:等級 1
關閉叢集節點的公共 IP 位址,使其僅具有私人 IP 位址。私人節點是指沒有公共 IP 位址的節點。
停用叢集節點上的公共 IP 位址將限制僅能存取內部網路,迫使攻擊者在嘗試入侵底層 Kubernetes 主機之前,必須先獲得本地網路存取權。
影響
要啟用私人節點,叢集還必須配置私人主 IP 範圍並啟用 IP 別名。
私有節點無法輸出至公共網路。如果您想為您的私有節點提供輸出網路存取,您可以使用 Cloud NAT 或管理您自己的 NAT 閘道。
稽核
檢查以下項目是否
已啟動:true:export CLUSTER_NAME=<your cluster name>
aws eks describe-cluster --name ${CLUSTER_NAME} --query \
"cluster.resourcesVpcConfig.endpointPrivateAccess"
aws eks describe-cluster --name ${CLUSTER_NAME} --query \
"cluster.resourcesVpcConfig.endpointPublicAccess"
檢查以下項目是否不為空,並設置為適當的 IP,且不是
0.0.0.0/0:export CLUSTER_NAME=<your cluster name>
aws eks describe-cluster --name ${CLUSTER_NAME} --query \
"cluster.resourcesVpcConfig.publicAccessCidrs"
注意此外,請檢查節點是否部署在私人子網中且未分配公共 IP。私人子網不應與具有通往網路閘道 (IGW) 路由的路由表相關聯。
|
補救
要使用 AWS CLI 關閉 EKS 節點群組節點的公共 IP 位址,您在執行
create-nodegroup 時必須確保以下事項:-
使用不自動指派公共 IP 的私人子網。
-
將
associatePublicIpAddress設為 false:
"NetworkInterfaces": [{ "AssociatePublicIpAddress": false }]
您可以使用以下方法限制對控制平面端點的訪問:
aws eks update-cluster-config \ --name $CLUSTER_NAME \ --region $REGION_CODE \ --resources-vpc-config endpointPublicAccess=false,endpointPrivateAccess=true
這將使 API 伺服器變為私有,但不影響節點 IP。
確保節點僅使用私有 IP:
-
使用
aws eks create-nodegroup僅限私人子網,或 -
使用啟動模板,並設置
AssociatePublicIpAddress=false。
