Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 권장설정과 Custom ACG 설정 예시를 몇가지 정리해보았습니다

개요

Ncloud (네이버 클라우드)의 IP/Port 기반 필터링 방화벽 서비스인 ACG(Access Control Group) 권장설정과 Custom ACG 설정할 때 참고할 만한 예시를 몇가지 정리해보겠습니다.

Inboud 기본 규칙 삭제

서버 생성 시에 기본으로 생성되는 Default ACG에는 아래처럼 22, 3389 포트에 대해 0.0.0.0/0 즉, 전체 IP에 대해 접근이 허용되어 있는데 보안을 위해 이 항목을 삭제하고 지정된 IP에서만 접속하도록 수정하는 것을 적극 권장합니다.

VPC 화면

아래는 Default ACG가 생성되면서 설정된 전체 접근 허용 상태입니다. 여기서 X버튼을 클릭해서 [0.0.0.0/0] 대역의 설정 2가지를 모두 삭제합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 가이드

위에서 기본 설정을 삭제하고 특정 IP만 접근 허용 상태입니다.
일반적으로 [myip] 버튼을 클릭해서 현재 접속한 PC의 IP를 허용하게 됩니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 가이드

Classic 화면

아래도 Default ACG가 생성되면서 설정된 전체 접근 허용 상태입니다. 여기서 X버튼을 클릭해서 [0.0.0.0/0] 대역의 설정 2가지를 모두 삭제합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 가이드

위에서 기본 설정을 삭제하고 특정 IP만 접근 허용한 상태입니다.
일반적으로 [myip] 버튼을 클릭해서 현재 접속한 PC의 IP를 허용하게 됩니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 가이드

용도별 ACG 구분

ACG는 사용하는 서버들을 용도별로 구분해서 기본 ACG외에 별도의 Custom ACG를 아래의 예시처럼 그룹별로 생성해서 적용하는 것이 좋습니다.

VPC 환경에서 ACG 생성

[Server] - [ACG]에서 생성할 수 있으며 이름 규칙은 최소 3자, 최대 30자, 소문자만, 숫자와 하이픈(-) 사용 가능합니다.
그리고, ACG를 적용할 VPC도 선택해야 합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

Classic 환경에서 ACG 생성

[Server] - [ACG]에서 생성할 수 있으며 이름 규칙은 최소 6자, 최대 30자, 소문자만, 숫자와 하이픈(-) 사용 가능합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

용도별 Custom ACG 생성 예시

아래의 Custom ACG 명칭은 임의로 작성한 것이며, 어떤 규칙으로 이름을 정할 것인가는 각자 자체 기준에 따라 편하신대로 정하시면 됩니다.

  • DB-ACG
  • APP-ACG
  • WAS-ACG
  • WEB-ACG
  • BILL-ACG
  • Jenkins-ACG
  • Login-Server-ACG
  • Lobby-Server-ACG
  • Chat-Server-ACG
  • PVP-Server-ACG
  • Live-Streaming-ACG
  • VOD-Server-ACG
  • API-Server-ACG
  • Bill-DB-ACG
  • Bill-APP-ACG
  • Admin-Tool-ACG
  • Live-Service-ACG
  • Dev-System-ACG
  • QA-System-ACG
  • Home-Access-ACG
  • External-Developer-ACG
  • Partner-Company-ACG

복수의 ACG 적용

1개 서버에 허용이 필요한 설정을 모두 추가한 1개의 ACG만 무리하게 적용하려 하기 보다는 위의 예시처럼 용도별로 구분한 ACG를 여러 개 적용하는 것을 추천합니다. 예를 들어 아래와 같이 각각의 용도별 서버들에는 이런 식으로 ACG를 구분해서 적용할 수도 있습니다.


예를 들어 채팅 서버에 ACG를 적용할 때의 예시는 다음과 같습니다.

  • 적용 ACG: APP-ACG, Chat-Server-ACG


마찬가지로 QA 빌링 DB에 ACG를 적용할 때의 예시는 다음과 같습니다.

  • 적용 ACG: DB-ACG, BILL-ACG, QA-System-ACG

Custom ACG 적용 순서

  1. ACG 생성
    • 우선 위의 방법대로 ACG를 용도별로 구분해서 생성합니다.
  2. ACG 적용
    • 다음으로 생성한 ACG를 서버에 적용하는 단계입니다. 아래쪽에서 VPC, Classic 각각의 환경별로 살펴보겠습니다.

VPC 환경

VPC 환경은 NIC에 ACG가 적용되는 구조이므로 NIC당 최대 3개까지 할당할 수 있습니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

Classic 환경

Classic 환경에서는 서버에 적용되는 구조이고, 최대 5개까지 선택 가능합니다.

이때 Classic 환경 ACG는 서버를 생성하는 단계에서만 적용할 수 있습니다.
서버 생성이 완료된 후에는 추가로 ACG를 적용할 수 없습니다.
Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

Custom ACG 추가 적용-제거

Classic 환경과 달리 VPC 환경에서는 ACG가 서버가 아닌 NIC에 적용되는 구조이며, 기존에 적용된 ACG외에 추가로 ACG를 적용하거나 제거할 수 있습니다.

아래와 같이 서버 상세정보 NIC 항목에서 [ACG 수정] 버튼을 클릭합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

ACG 추가 적용

ACG 수정 화면에서 왼쪽 창에서 적용하려는 ACG를 선택하고 오른쪽 창으로 이동시키면 됩니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

ACG 제거

ACG 수정 화면에서 오른쪽 창에서 제거하려는 ACG를 선택하고 왼쪽 창으로 이동시키면 됩니다.

이때 ACG는 최소 1개가 적용되어 있어야 하므로 마지막 ACG 1개는 제거할 수 없습니다.
Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

접근소스를 Load Balancer로 설정

ACG를 설정할 때 접근 소스 항목은 보통 IP주소를 입력하게 됩니다. 하지만 특수한 경우로 Load Balancer를 지정하거나 ACG를 직접 지정하는 경우도 있습니다.

먼저 로드밸런서를 생성하고 서버와 연결한 후에 서버측 ACG에 로드밸런서의 접근을 허용하는 방법에 대해 알아보겠습니다.

VPC 환경

VPC 환경에서 아래와 같이 로드밸런서의 서브넷 네트워크가 [10.0.4.0/24] 대역이라고 가정해보겠습니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

서버의 ACG 규칙 설정 화면에서 아래와 같이 접근소스에 위에서 확인한 로드밸런서의 서브넷 네트워크 [10.0.4.0/24]를 입력하면 됩니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시
VPC 환경에서 로드밸런서와 서버를 연결할 때에는 ACG 설정 외에도 Network ACL 등 추가로 설정해야 하는 것들이 많이 있습니다. 자세한 설정 방법은 아래 문서를 참고하시기 바랍니다.
VPC 환경에서 Application Load Balancer 생성하기

Classic 환경

Classic 환경에서는 아래와 같이 로드밸런서의 ACG 소스 명칭이 [ncloud-load-balancer]로 고정되어 있습니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

ACG 규칙 설정 화면에서 접근소스에 로드밸런서의 ACG 소스 [ncloud-load-balancer]를 입력하면 됩니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

접근소스를 ACG로 설정

다음으로 다른 ACG를 접근소스로 지정하는 경우도 있습니다. 이것은 해당 ACG가 적용된 서버들이 접근할 수 있도록 규칙을 설정하는 것인데, 아래 설정 방법과 예시를 통해 자세히 알아보겠습니다.

VPC 환경

ACG 규칙 설정에서 접근 소스 항목에 지정하려는 ACG 이름을 일부 입력하면 아래와 같이 적용 가능한 ACG 리스트가 나타는데 그 중에서 지정하려는 ACG를 선택하면 됩니다.

VPC 환경에서 ACG를 접근소스를 설정할 때는 동일한 VPC에 생성된 ACG만 접근소스로 설정할 수 있습니다.
Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

Classic 환경

Classic도 마찬가지로 ACG 규칙 설정에서 접근 소스 항목에 지정하려는 ACG 이름을 일부 입력하면 아래와 같이 적용 가능한 ACG 리스트가 나타는데 그 중에서 지정하려는 ACG를 선택하면 됩니다. Classic은 VPC와 달리 특별한 제한이 없습니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

예시

아래와 같이 SVR-1, SVR-2, SVR-3 서버에 각각 ACG-1, ACG-2가 적용되어 있다고 가정해보겠습니다.

[ACG-1]

  • 적용서버 : SVR-1, SVR-2

[ACG-2]

  • 적용서버 : SVR-3

[ACG-2 적용 규칙]

  • 프로토콜 : TCP
  • 접근소스 : ACG-1
  • 허용포트 : 80

ACG 삭제

Custom ACG는 VPC, Classic 환경 모두 [Console] - [Server] - [ACG] 메뉴에서 삭제할 수 있습니다.

삭제하려는 ACG를 선택하고 [ACG 삭제] 버튼을 클릭합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

ACG 삭제 팝업에서 [예] 버튼을 클릭합니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

삭제 불가

아직 적용된 서버나 NIC가 존재하는 ACG는 삭제할 수 없습니다.

VPC 환경

VPC 환경에서 삭제를 시도하면 [ACG에 속해 있는 Network Interface가 존재합니다. 해당 Network Interface에서 ACG를 삭제 후 다시 시도해주세요]라는 메시지가 나타납니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

Classic 환경

Classic 환경에서 삭제를 시도하면 [서버가 한대라도 ACG 에 적용되어 있는 상태이면, 해당 ACG 는 삭제할 수 없습니다]라는 메시지가 나타납니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

Default ACG 삭제 불가

기본적으로 생성된 Default ACG는 삭제할 수 없습니다.

Ncloud의 IP/Port 기반 필터링 방화벽 서비스 ACG(Access Control Group) 설정 예시

참고 URL

  1. VPC 환경 ACG 설정
  2. Classic 환경 ACG 설정