07기본 정책 관리Basic Policy Management
이 장은 동작하는 QoS Rule Base를 정의하고 운영하는 데 필요한 기본기 전체 를 빠짐없이 정리합니다. GUI 클라이언트를 여는 법부터 시작해, Rule Base가 패킷을 어떻게 검사하는지, 연결을 무엇으로 분류하는지, 대역폭을 가중치·보장·제한으로 어떻게 나누는지, Default Rule과 Action 속성은 무엇인지, VPN 트래픽 규칙과 서브 규칙의 대역폭 흐름은 어떻게 되는지, 그리고 마지막으로 정책을 게시·설치하는 절차까지 차례로 풀어 둡니다. 더 정교한 기능은 고급 정책 관리에서 이어집니다.
GUI 클라이언트 열기
QoS 정책은 두 도구로 다룹니다. SmartConsole 은 Windows 시작 메뉴에서 SmartConsole 항목을 눌러 엽니다. 실제 규칙을 편집하는 SmartDashboard 는 기존 QoS 정책을 열거나 새 QoS 정책을 만들면 자동으로 뜨므로, 따로 손수 열 일이 거의 없습니다.
그래도 직접 열어야 할 때는 다음 순서를 따릅니다.
- SmartConsole에서 QoS 정책을 엽니다.
- Security Policies > Access Control > QoS 로 이동합니다.
- QoS 화면에서 Open QoS Policy in SmartDashboard 를 누릅니다.
그러면 SmartDashboard가 열리고 QoS 화면이 나타납니다.
Rule Base의 동작 원리
QoS 정책은 Rule Base에 규칙(rule) 묶음을 정의해 구현 합니다. Rule Base는 데이터 패킷을 어떻게 다룰지를 정하는데, 구체적으로는 다음을 지정합니다.
- 트래픽의 출발지(Source)와 목적지(Destination)
- 쓸 수 있는 서비스(Services)
- 시간(Times)
- 로깅 여부와 로깅 수준
Rule Base는 우리가 직접 만든 규칙들 과 자동으로 생기는 Default Rule(기본 규칙) 로 이뤄집니다. Default Rule은 Rule Base를 만들 때 자동으로 함께 생기며, 수정은 되지만 삭제는 안 됩니다. 다른 규칙이 아무것도 안 걸리면 Default Rule이 모든 패킷에 적용되므로, 이 규칙은 항상 Rule Base의 맨 마지막 에 위치합니다.
순차 검사 — 가장 잘 맞는 규칙이 아니라 가장 먼저 맞는 규칙
QoS는 패킷을 순차적(sequential) 으로 검사합니다. 어떤 연결의 패킷이 들어오면 Rule Base의 첫 번째 규칙과 비교하고, 안 맞으면 두 번째, 그다음 세 번째와 차례로 견줍니다. 매칭되는 규칙을 찾는 순간 검사를 멈추고 그 규칙을 적용 합니다.
매칭된 규칙에 서브 규칙(sub-rule) 이 달려 있으면, 이번에는 그 서브 규칙들을 첫 번째·두 번째·세 번째 순으로 다시 검사해 맞는 것을 찾습니다. 만약 어떤 규칙이나 서브 규칙에도 끝내 안 맞으면 Default Rule(또는 서브 규칙 묶음의 Default) 이 적용됩니다.
여기서 핵심은 가장 잘 맞는(best match) 규칙이 아니라, 가장 먼저 맞는(first match) 규칙 이 적용된다는 점입니다. 그래서 규칙의 순서가 결과를 좌우합니다.
네트워크 객체·서비스·리소스를 먼저 정의해 두면, 그것들을 재료 삼아 Rule Base를 짤 수 있습니다. Rule Base를 실제로 짜는 자세한 절차는 QoS 관리를 참고하세요. 참고로 QoS Policy Rule Base의 개념은 일반 Security Policy Rule Base와 동일하며, 더 자세한 내용은 R82 Security Management Administration Guide 에 있습니다.
연결 분류 — 네 가지 기준
한 연결(connection)은 네 가지 기준 으로 분류됩니다.
| 기준 | 뜻 |
|---|---|
| Source(출발지) | 특정 컴퓨터·네트워크·사용자 그룹·도메인 같은 네트워크 객체 묶음 |
| Destination(목적지) | 특정 컴퓨터·네트워크·사용자 그룹·도메인 같은 네트워크 객체 묶음 |
| Service(서비스) | TCP·UDP·ICMP·URL 같은 IP 서비스 묶음 |
| Time(시간) | 지정한 요일·시간대 |
각 기준에 쓰이는 객체의 종류는 다음과 같습니다.
네트워크 객체 (Network Objects)
QoS 규칙에 쓸 수 있는 네트워크 객체 에는 워크스테이션(workstation), 네트워크(network), 도메인(domain), 그룹(group)이 있습니다.
사용자 그룹 (User Groups)
QoS는 미리 정의된 사용자들을 묶은 사용자 그룹 을 정의할 수 있습니다. 예컨대 마케팅 부서의 모든 사용자를 Marketing 이라는 사용자 그룹으로 묶을 수 있습니다. 규칙을 만들 때는 사용자를 한 명씩 Source 칸에 적는 대신 이 그룹을 통째로 Source로 쓰면 됩니다.
서비스·리소스 (Services and Resources)
QoS는 출발지·목적지뿐 아니라 요청된 서비스(service)에 따라서도 규칙을 만들 수 있습니다. 규칙에 쓸 수 있는 서비스에는 TCP, Compound TCP, UDP, ICMP, 그리고 IP 서비스 가 있습니다.
리소스(Resource) 도 QoS Rule Base에 쓸 수 있는데, QoS에서는 반드시 URI 타입 이어야 합니다.
시간 객체 (Time Objects)
QoS는 시간 객체 도 정의합니다. 시간 객체는 규칙이 언제 집행될지를 지정 하는 데 씁니다. 특정 시각이나 요일로 정의할 수 있고, 날(day)은 한 달의 며칠(days of the month)이나 한 주의 요일(days of the week) 단위로 나눌 수 있습니다.
대역폭 배분의 세 요소 — 가중치·보장·제한
규칙은 분류된 연결의 대역폭 배분에 세 가지 요소 를 적용할 수 있습니다.
가중치 (Weight)
가중치 는 한 규칙에 배정되는 가용 대역폭의 비율 입니다. 이는 SmartDashboard에서 수동으로 매기는 우선순위(priority)를 가리키며, 그 값으로 비율을 계산합니다.
가중치 = (SmartDashboard에서의 우선순위) / (열린 연결이 있는 모든 규칙의 우선순위 합)예를 들어 다음과 같다고 합시다.
- 이 규칙의 가중치(SmartDashboard 우선순위)가 12
- 현재 연결이 열려 있는 모든 규칙의 우선순위 합이 120
그러면 이 규칙에 매칭된 모든 연결은 12 / 120 = 10% 를 받습니다. 즉 규칙이 활성 상태일 때 가용 대역폭의 10%를 받는 셈입니다.
다만 실제로는 다른 규칙들이 자기 몫의 최대치를 안 쓰면, 이 규칙이 위 공식보다 더 많이 받 을 수 있습니다. 그리고 규칙에 연결당(per connection) 제한이나 보장이 따로 정의돼 있지 않으면, 한 규칙 아래의 모든 연결은 동일한 가중치 를 받습니다.
가중치로 대역폭을 나누면 특정 클래스가 자기 대역폭을 다 안 쓰더라도 회선이 놀지 않게 됩니다. 이런 경우 남는 대역폭은 나머지 클래스들이 상대 가중치대로 나눠 갖습니다. 대역폭의 단위(units)는 설정할 수 있으며, 자세한 내용은 고급 정책 관리의 QoS Global Properties 정의 항목을 참고하세요.
보장 (Guarantees)
보장 은 규칙에 매칭된 연결에 최소 대역폭을 할당 합니다. 보장은 두 가지 방식으로 정의할 수 있습니다.
- 규칙 전체 연결의 합에 보장 — 규칙 아래의 모든 연결을 합쳐 최소 대역폭을 예약합니다. 연결마다 실제로 받는 대역폭은 그 규칙에 매칭돼 열려 있는 연결 수에 따라 달라지고, 규칙 전체에 할당되는 대역폭은 보장값보다 작아질 수 없습니다. 따라서 연결이 많이 열릴수록 연결당 받는 몫은 줄어 듭니다.
- 연결마다 개별 보장(per-connection) — 그 규칙에 매칭되는 각 연결 하나하나에 최소 대역폭을 보장 합니다.
제한 (Limits)
제한 은 모든 연결이 함께 받을 수 있는 최대 대역폭 을 지정합니다. 즉 이 점(point)을 넘으면, 남는 대역폭이 있더라도 규칙 아래 연결들에 더 주지 않 습니다.
제한 역시 규칙 전체 연결의 합 또는 연결마다 개별 로 정의할 수 있습니다.
가중치·보장·제한에 대한 더 자세한 내용은 아래 Action Type 항목을 참고하세요.
Default Rule
Default Rule 은 각 QoS Policy Rule Base에 자동으로 추가되며, Global Properties 창의 QoS 페이지에 지정된 가중치 를 받습니다. 가중치는 바꿀 수 있어도 Default Rule 자체는 삭제할 수 없 습니다.
Default Rule은 Rule Base의 다른 규칙·서브 규칙에 안 걸린 모든 연결 에 적용됩니다. 또 서브 규칙 묶음마다 각각 Default Rule이 자동으로 추가 되어, 그 묶음 안의 다른 서브 규칙에 분류되지 않은 연결에 적용됩니다.
QoS Action Properties
규칙의 동작은 QoS Action Properties 창에서 정의합니다. 여기서 대역폭 배분 속성, 제한, 보장 을 규칙에 지정합니다.
Action Type
QoS Action에는 두 종류가 있으며, 각각 Recommended·Express 모드에서 쓸 수 있는지가 다릅니다.
| Action Type | Recommended | Express |
|---|---|---|
| Simple | 지원 | 지원 |
| Advanced | 지원 | 미지원 |
Simple
Simple Action 타입은 다음 속성을 갖습니다.
- Apply rule only to encrypted traffic(암호화 트래픽에만 규칙 적용)
- Rule weight(규칙 가중치)
- Rule limit(규칙 제한)
- Rule guarantee(규칙 보장)
Advanced
Advanced Action 타입은 Recommended 전용이며, 더 정교한 속성을 더합니다.
- Per rule(규칙 단위)
- Per connection(연결 단위)
- Per rule guarantee(규칙 단위 보장)
- Per connection guarantee(연결 단위 보장)
- Number of permanent connections(영구 연결 수)
- Accept additional connections(추가 연결 허용)
VPN 트래픽을 매칭하는 규칙 예
여기서 말하는 VPN 트래픽 이란 이 Security Gateway가 직접 암호화한 트래픽 을 가리킵니다. 다른(비-Check Point) 제품이 이 Security Gateway에 도착하기 전에 미리 암호화해 들여보낸 트래픽은 VPN 트래픽이 아니며, 그런 트래픽은 IPSec 서비스 로 매칭할 수 있습니다.
QoS Action Properties 창에서 Apply rule only to encrypted traffic 을 켜면 VPN 트래픽만 그 규칙에 걸립니다. 이 항목을 안 켜면 VPN·비-VPN을 가리지 않고 모든 종류의 트래픽 이 규칙에 매칭됩니다.
이 옵션을 활용하면 VPN 트래픽에만 적용되는 Rule Base 를 만들 수 있고, 그 동작을 비-VPN 트래픽과 다르게 줄 수 있습니다. QoS가 First Rule Match로 동작하므로, VPN 규칙은 Rule Base의 맨 위에 두 어야 합니다. 그 아래에 다른 모든 트래픽에 적용될 규칙을 두면, 비-VPN 트래픽은 위쪽 VPN 규칙을 건너뛰고 아래의 비-VPN 규칙 중 하나에 걸리 게 됩니다.
VPN 트래픽과 비-VPN 트래픽을 분리하려면 다음과 같은 규칙을 QoS Rule Base 맨 위에 둡니다.
| Name | Source | Destination | Service | Action |
|---|---|---|---|---|
| VPN rule | Any | Any | Any | VPN Encrypt, 그리고 설정한 다른 Action들 |
이렇게 하면 모든 VPN 트래픽이 이 규칙에 매칭되고, 그 아래 규칙들은 비-VPN 트래픽만 대상으로 검사 됩니다. VPN Traffic 규칙 아래에 서브 규칙을 두면 VPN 트래픽을 더 세밀하게 분류할 수도 있습니다.
대역폭 배분과 서브 규칙
연결이 서브 규칙을 가진 규칙에 매칭되면 그 서브 규칙들을 차례로 검사하고, 아무 서브 규칙에도 안 맞으면 그 묶음의 Default Rule 이 적용됩니다.
서브 규칙은 중첩(nesting) 도 됩니다. 즉 서브 규칙이 또 자기 서브 규칙을 가질 수 있고, 그 중첩 서브 규칙에도 동일한 규칙이 적용됩니다. 연결이 서브 규칙을 가진 서브 규칙에 매칭되면 그 안의 중첩 서브 규칙을 검사하고, 거기에도 안 맞으면 중첩 서브 규칙 묶음의 Default Rule이 적용됩니다.
대역폭은 위에서 아래로(top/down) 흐릅니다. 그래서 다음 두 원칙이 성립합니다.
- 서브 규칙은 자기가 속한 부모 규칙보다 많은 대역폭을 매칭 규칙에 줄 수 없 습니다.
- 중첩 서브 규칙도 자기가 속한 서브 규칙보다 많은 대역폭을 줄 수 없 습니다.
또 규칙의 Rule Guarantee는 그 안의 서브 규칙 Rule Guarantee보다 항상 같거나 커야 합니다. 서브 규칙과 그 중첩 서브 규칙 사이에도 같은 원칙이 적용됩니다.
예 — 중첩 서브 규칙의 대역폭 배분
다음은 중첩 서브 규칙에서 대역폭이 어떻게 배분되는지 보여 주는 예입니다.
| Rule Name | Source | Destination | Service | Action |
|---|---|---|---|---|
| Rule A | Any | Any | ftp | Rule Guarantee 100KBps, Weight 10 |
| └ Rule A1 (Sub-Rule A 시작) | Client-1 | Any | ftp | Rule Guarantee 100KBps, Weight 10 |
| └ Rule A1.1 (Sub-Rule A1 시작) | Any | Any | ftp | Rule Guarantee 80KBps, Weight 10 |
| └ Rule A1.2 (Sub-Rule A1 끝) | Any | Any | ftp | Weight 10 |
| └ Rule A2 (Sub-Rule A 끝) | Client-1 | Any | ftp | Weight 10 |
| Rule B | Any | Any | http | Weight 30 |
이 예에서는 Rule A1.1을 적용하고 남은 잉여 대역폭이 Rule A1.2보다 Rule A2에 먼저 적용 됩니다. 보장과 제한이 얽힐 때의 정확한 계산은 고급 정책 관리에서 예제로 더 따집니다.
정책 사용과 설치
QoS 규칙을 Rule Base에 다 정의했으면, 먼저 SmartConsole 세션을 게시(Publish)한 뒤 Security Gateway에 정책을 설치 해야 합니다. 정책 설치 과정에서는 규칙과 객체가 자동으로 검증 되며, 검증 오류가 있으면 Install Policy Details 탭에 메시지가 표시됩니다. 정책이 성공적으로 설치되면 Security Gateway가 그 규칙들을 집행합니다.
QoS 정책 설치하기
- SmartDashboard에서 정책 규칙을 변경한 뒤 Update 를 누릅니다.
- SmartConsole에서 Install Policy 를 누릅니다.
- Policy 목록에서 설치할 정책을 고릅니다.
- Policy Targets 를 눌러 이 정책을 받을 Security Gateway를 선택합니다.
- Install 을 누릅니다.
설치가 성공하면 새 정책이 그 대상 Security Gateway들에서 집행됩니다. 만약 설치가 실패하면 다음 순서로 오류 메시지를 확인합니다.
- SmartConsole 왼쪽 아래의 Task Information 영역을 누릅니다.
- Recent Tasks 영역에서 해당 오류의 Details 를 누릅니다.
Install Policy Details 창이 열리면 Status 열의 ^ 아이콘을 눌러 오류 메시지를 펼쳐 봅니다. 모든 오류를 해결해야만 정책을 성공적으로 설치 할 수 있습니다.