설명
EKS 관리형 노드 그룹을 생성할 때 RemoteAccess.Ec2SshKey를 지정하면서 SourceSecurityGroups를 생략하면 관리 포트가 0.0.0.0/0에 열립니다. Linux 노드는 SSH 22, Windows 노드는 RDP 3389에 해당합니다. 실제 인터넷 접근에는 주소, 경로와 다른 네트워크 조건도 필요합니다.
운영 노드의 직접 원격 접속은 필요한 경우로 제한하세요. 접속 범위를 줄여도 운영체제 인증과 노드·클러스터의 권한 관리는 계속 필요합니다.
잠재적 영향
- 도달 가능한 관리 포트가 외부 스캔이나 인증 공격 대상이 될 수 있습니다.
- 노드가 침해되면 해당 노드의 데이터, 자격 증명과 권한에 따라 워크로드나 클러스터로 영향이 확산될 수 있습니다.
해결 방법
- 원격 접속이 필요하면
SourceSecurityGroups에 승인된 관리용 보안 그룹을 지정하고, 실제 관리 호스트를 해당 그룹에 연결하세요. - 직접 접속이 필요하지 않으면 원격 접근 설정을 제거하고, 필요한 에이전트·IAM·통신 경로를 갖춘 Session Manager 같은 관리 방식을 검토하세요.
- CloudFormation에서 원격 접근 속성 변경은 노드 그룹 교체가 필요하므로 워크로드 용량과 이동을 계획하고 접속 범위를 시험하세요.
예시
클러스터, 노드 역할, 서브넷과 VpcId는 실제 환경 값으로 준비하세요. Ec2SshKey: ED25519의 값은 알고리즘 선택이 아니라 기존 EC2 키 페어 이름이어야 합니다.
변경 전
yaml
Resources:
EKSNodegroup:
Type: AWS::EKS::Nodegroup
Properties:
ClusterName: prod
NodeRole: arn:aws:iam::012345678910:role/eksInstanceRole
Subnets:
- subnet-6782e71e
RemoteAccess:
Ec2SshKey: ED25519
키 페어만 지정하여 관리 포트의 출발지 보안 그룹을 제한하지 않습니다.
변경 후
yaml
Resources:
SSHAccessToNodeSG:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: !Ref VpcId
GroupDescription: ssh access to eks workers
EKSNodegroup:
Type: AWS::EKS::Nodegroup
Properties:
ClusterName: prod
NodeRole: arn:aws:iam::012345678910:role/eksInstanceRole
Subnets:
- subnet-6782e71e
RemoteAccess:
Ec2SshKey: ED25519
SourceSecurityGroups:
- !Ref SSHAccessToNodeSG
지정된 보안 그룹을 사용하는 관리 호스트에서 접속하도록 제한합니다. 그룹 생성만으로 관리 호스트가 연결되지는 않으므로 별도 연결과 네트워크 경로를 준비하세요.