설명
can_ip_forward = true는 VM이 자신에게 할당되지 않은 주소의 패킷을 수신·전송할 수 있도록 Compute Engine의 검사를 완화합니다. 실제 중계에는 운영체제 설정, 경로와 방화벽도 필요하며 이 옵션 하나로 자동 라우터가 되는 것은 아닙니다.
네트워크 장비 용도가 아니라면 일반 애플리케이션 서버에서는 비활성화하는 편이 안전합니다.
잠재적 영향
- 침해된 인스턴스가 허용된 경로를 통해 트래픽 중계에 악용될 수 있습니다.
- 의도하지 않은 전달 경로는 보안 정책 검토와 사고 추적을 어렵게 할 수 있습니다.
해결 방법
- 포워딩이 필요 없는 VM에는
can_ip_forward = false를 설정하세요. - 라우팅용 VM의 예외 사유를 관리하고 운영체제, 경로와 방화벽을 함께 제한하세요.
예시
이미지, 프로젝트, 영역과 네트워크는 실제 지원 환경에 맞게 준비하세요. 이 예시는 포워딩 옵션만 비교하며 애플리케이션 프록시 등 다른 중계 방식까지 차단하지는 않습니다.
변경 전
hcl
resource "google_compute_instance" "appserver" {
name = "primary-application-server"
machine_type = "e2-medium"
can_ip_forward = true
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
network = "default"
}
}
변경 후
hcl
resource "google_compute_instance" "appserver" {
name = "primary-application-server"
machine_type = "e2-medium"
can_ip_forward = false
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
network = "default"
}
}
설명:
- 변경 전: Compute Engine 수준에서 IP 포워딩을 허용합니다. 실제 전달 여부는 추가 구성에 달려 있습니다.
- 변경 후: IP 포워딩 허용을 끕니다. 애플리케이션 권한과 다른 네트워크 경로는 별도로 관리해야 합니다.