설명
방화벽에서 0.0.0.0/0에 TCP 22를 허용하면 인터넷 전체에서 SSH 연결을 시도할 수 있는 범위가 열립니다. 실제 VM 도달 여부는 외부 IP나 다른 연결 경로, 적용되는 방화벽 정책과 실행 중인 SSH 서비스에도 달려 있습니다.
관리용 접근은 승인된 출발지나 VPN, IAP, Bastion 등의 경로로 제한하세요. 네트워크 연결이 허용되어도 SSH 인증은 여전히 필요합니다.
잠재적 영향
- 관리 포트가 무차별 로그인 시도와 취약점 스캔에 노출될 수 있습니다.
- 유출된 자격 증명이나 SSH 서비스의 취약점이 악용되면 인스턴스가 침해될 수 있습니다.
해결 방법
- 불필요한 공개 대역의 TCP 22 허용을 제거하고, 필요한 관리용 출발지와 대상 인스턴스만 허용하세요.
- VPN, IAP 또는 Bastion 경유 접근과 강한 SSH 인증을 구성하세요. 다른 방화벽 규칙·정책과 IPv6를 함께 검토하고 승인된 경로에서 연결을 시험하세요.
예시
Deployment Manager 지원은 종료되었습니다. 지원되는 관리 도구를 사용하세요. 아래는 출발지 제한만 비교하는 기존 발췌이며 네트워크와 대상 범위는 별도 구성입니다. 203.0.113.10/32는 문서용 주소이므로 실제 승인된 관리 출발지로 바꾸세요.
변경 전
yaml
resources:
- name: firewall
type: compute.v1.firewall
properties:
sourceRanges:
- "0.0.0.0/0"
allowed:
- IPProtocol: tcp
ports:
- "22"
변경 후
yaml
resources:
- name: firewall
type: compute.v1.firewall
properties:
sourceRanges:
- "203.0.113.10/32"
allowed:
- IPProtocol: tcp
ports:
- "22"
설명:
- 변경 전: 이 규칙은 모든 IPv4 출발지에 TCP 22를 허용합니다.
- 변경 후: 이 규칙의 출발지를 단일 IPv4 주소로 제한합니다. 다른 규칙이나 정책이 허용하는 접근도 확인해야 합니다.