설명
보안 그룹에서 SSH에 사용하는 TCP 22를 넓은 공용 대역에 허용하면, 서버에 도달할 수 있는 많은 외부 클라이언트가 관리 접속을 시도할 수 있습니다. SSH는 관리용 서비스이므로 관리망, VPN 또는 배스천처럼 승인된 출발지로 제한하는 것이 좋습니다.
보안 그룹 규칙만으로 서버가 인터넷에 연결되거나 로그인이 허용되는 것은 아닙니다. 공개 주소, 라우팅, 호스트 방화벽과 SSH 인증을 함께 확인해야 합니다.
잠재적 영향
- 외부에서 자동화된 로그인 시도와 취약점 탐색이 발생할 수 있습니다.
- 탈취된 계정이나 키, 취약한 SSH 설정과 결합하면 서버 침해로 이어질 수 있습니다.
해결 방법
- TCP 22의 허용 범위를 실제 관리 연결의 출발지로 좁히세요. 사설 CIDR이라는 이유만으로 전체 범위를 신뢰하지 마세요.
- 필요하면 Systems Manager Session Manager 같은 대안을 사용하고 필요한 IAM 권한과 네트워크 연결을 준비하세요.
- SSH 인증을 강화하고 서비스를 최신 상태로 유지하세요. 연결된 다른 보안 그룹이나 넓은 포트 범위에 불필요한 허용이 남지 않았는지 확인하세요.
예시
VPC와 CIDR은 실제 환경의 값으로 바꿔야 합니다. 인스턴스 연결과 SSH 서버 설정은 생략했습니다.
변경 전
yaml
- name: 보안 그룹 생성
amazon.aws.ec2_group:
name: example
description: ssh-open security group
vpc_id: vpc-12345
rules:
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 79.32.0.0/12
SSH를 넓은 공용 대역 79.32.0.0/12에 허용합니다. 인터넷 전체를 뜻하지는 않지만 관리 접근에 필요한 범위인지 확인해야 합니다.
변경 후
yaml
- name: 보안 그룹 생성
amazon.aws.ec2_group:
name: example
description: ssh-restricted security group
vpc_id: vpc-12345
rules:
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 10.0.10.0/24
지정한 사설 대역으로 범위를 줄입니다. 해당 대역이 실제 관리 클라이언트의 출발지와 일치하는지 확인하고, 네트워크 제한과 별도로 강한 인증을 유지하세요.