Programming/Web

GCP 방화벽 허용하는 방법(외부 접속 port 허용)

Jan92 2023. 8. 21. 00:46

GCP 방화벽 설정 방법, 외부 접속 port 허용 방법

GCP 방화벽 허용하는 방법

해당 포스팅은 GCP(Google Cloud Platform) VM 인스턴스에 대한 방화벽을 허용하는 방법에 대해 정리한 내용입니다.

 


방화벽이란?

방화벽이란, 쉽게 원치 않는 트래픽으로부터 네트워크를 보호하는 네트워크 보안 시스템을 의미하며, 방화멱을 통해 신뢰할 수 있는 네트워크와 신뢰할 수 없는 네트워크 사이의 장벽을 설정할 수 있습니다.

만약 방화벽이 없으면 해당 네트워크는 시스템을 손상시키려는 바이러스나 멀웨어, 해커의 공격 등 많은 악성 트래픽에 무방비로 노출되게 됩니다.

 

 


GCP 방화벽 기본 설정

gcp 기본 방화벽 설정

GCP 서버를 구축한 뒤에 해당 서버에 설정된 방화벽 정보를 확인해 보면 다음과 같은데요.

 

인스턴스 생성 시 HTTP, HTTPS에 대한 트래픽을 허용했기 때문에 외부에서 http로 접근 가능한 tcp:80 포트와 외부에서 https로 접근 가능한 tcp:443 포트에 대한 수신이 허용되며, 이 외에 ICMP 트래픽에 대한 허용과 원격 데스크톱 수신 용도의 tcp:3389 포트, 외부에서 ssh 접속을 위한 tcp:22 포트가 허용되어 있는 것을 볼 수 있습니다.

 

따라서 기본적으로 허용된 포트 외에 다른 포트에 대해 외부에서의 접근을 허용하기 위해서는 아래 방법에 따라 방화벽 설정을 추가해야 합니다.

 

 


방화벽 허용 방법 (방화벽 규칙 만들기 및 적용)

 

gcp 방화벽 규칙 만들기

1. '네트워크 보안 -> 방화벽 관리자 -> 방화벽 정책' 경로로 이동합니다.

2. 상단에 '방화벽 규칙 만들기' 경로로 이동합니다.

 

 

gcp 방화벽 규칙 만들기 상세

먼저 해당 방화벽 규칙에 대한 이름을 설정하고, 아래 네트워크 부분에서 대상이 되는 네트워크를 설정합니다.

 

그리고 중요한 부분이 바로 '대상' 부분입니다.

대상에는 '지정된 대상 태그', '네트워크의 모든 인스턴스', '지정된 서비스 계정' 3가지 옵션이 있는데요.

 

'네트워크의 모든 인스턴스' 옵션을 설정하는 경우 말 그대로 해당 네트워크의 모든 인스턴스에 자동으로 적용되며, '지정된 서비스 계정' 옵션은 해당 방화벽 규칙을 적용할 서비스를 지정하는 것입니다.

마지막으로 '지정된 대상 태그'를 선택하는 경우, 아래 대상 태그를 필수로 입력해야 하며, 여기서 입력한 해당 방화벽 규칙을 사용할 인스턴스의 네트워크 태그 부분에 입력해 주는 과정이 필요합니다. (아래 이미지 부분)

 

인스턴스의 네트워크 태그 부분

 

다음으로 '소스 필터 및 범위'의 경우 'IPv4 범위' 기준으로 0.0.0.0/0 값을 입력하는 경우 모든 ip에 대한 요청을 허용하겠다는 것이며, 특정 ip만 입력하는 경우는 해당 ip에 대해서만 허용한다는 것인데요.

후자는 회사 내부망에서 만의 접속을 허용할 경우가 예시가 될 수 있습니다.

 

 

//콤마(,)를 통해 여러 포트를 허용
8080,8081

//하이픈(-)을 통해 허용할 포트의 범위를 지정
8080-8085

그리고 실질적으로 port를 지정하는 부분에서는 이미지와 같이 단일 포트(8080)를 입력할 수도 있으며, 콤마 기호(,)를 통해 여러 개의 포트를 입력하거나 하이픈 기호(-)를 통해 포트의 범위를 입력할 수도 있습니다.

 

이렇게 원하는 설정을 완료한 후 규칙을 만들게 되면 해당 방화벽 규칙이 적용되게 됩니다.

(앞에서 이야기한 것처럼 지정된 대상 태그 옵션의 경우 인스턴스에서 추가 작업이 필요합니다.)

 

 

 

< gcp 관련 자료 >

2022.07.29 - [Programming/Web] - GCP 인스턴스 SSH 접속하는 방법

2023.02.22 - [Programming/Web] - gcp vm 인스턴스 swap 스왑 메모리 적용하는 방법