14HTTPS InspectionHTTPS Inspection
오늘날 인터넷 트래픽은 대부분 HTTPS로 암호화 되어 흐릅니다. HTTPS는 TLS(Transport Layer Security) 프로토콜을 써서 데이터의 비밀성과 무결성을 지켜 주지만, 바로 그 암호화 때문에 불법 활동이나 악성 트래픽이 그 안에 숨을 수 있다는 보안 위험도 함께 안고 있습니다. Security Gateway는 암호화된 트래픽을 그대로는 들여다볼 수 없으므로, 속에 위협이 들어 있어도 검사하지 못합니다. HTTPS Inspection 을 켜면 게이트웨이가 외부 서버와 새 TLS 연결을 맺어 그 트래픽을 복호화하고 검사 할 수 있게 되어, Threat Prevention의 효과를 끌어올립니다. Custom·Autonomous 정책 공통 기능입니다.
두 가지 방향
HTTPS Inspection에는 트래픽 방향에 따라 두 종류가 있습니다.
- Outbound HTTPS Inspection — 내부 클라이언트가 외부 사이트·서버로 보내는 트래픽을 악성으로부터 보호합니다.
- Inbound HTTPS Inspection — 인터넷이나 외부 네트워크에서 내부 서버로 들어오는 악성 요청으로부터 보호합니다.
게이트웨이는 인증서를 써서 클라이언트와 보안 웹 사이트 사이의 중개자 가 됩니다. 모든 데이터는 HTTPS Inspection 로그에 비공개로 보관 되며, HTTPS Inspection 권한이 있는 관리자만 그 로그의 모든 필드 를 볼 수 있습니다.
HTTPS 연결 검사하기
Outbound 연결 흐름
Outbound 연결은 내부 클라이언트에서 외부 서버로 향하는 HTTPS 연결입니다. 다음 순서로 처리됩니다.
- 내부 클라이언트에서 외부 서버로 가는 HTTPS 요청 이 게이트웨이에 도착합니다.
- 게이트웨이가 그 HTTPS 요청을 검사합니다.
- 요청이 기존 HTTPS Inspection 규칙 과 매칭되는지 판단합니다.
- 규칙에 매칭되지 않으면 게이트웨이는 HTTPS 페이로드를 검사하지 않습니다.
- 규칙에 매칭되면 다음 단계로 넘어갑니다.
- 게이트웨이가 외부 서버의 HTTPS 인증서를 검증합니다. 이때 OCSP(Online Certificate Status Protocol) 표준을 사용합니다.
- 게이트웨이가 외부 서버와의 연결을 위해 새 인증서를 생성 합니다.
- 게이트웨이가 HTTPS 연결을 복호화합니다.
- 게이트웨이가 복호화된 HTTPS 연결을 검사합니다.
- Security Policy가 이 트래픽을 허용하면, 게이트웨이는 HTTPS 연결을 다시 암호화합니다.
- 게이트웨이가 HTTPS 요청을 외부 서버로 보냅니다.
즉 규칙에 걸릴 때만 복호화 하고, 걸리지 않으면 페이로드는 그대로 둡니다.
Inbound 연결 흐름
Inbound 연결은 외부 클라이언트에서 시작해 DMZ나 내부 네트워크의 서버로 들어오는 HTTPS 연결입니다.
- 외부 클라이언트에서 내부 서버로 가는 HTTPS 요청 이 게이트웨이에 도착합니다.
- 게이트웨이가 그 HTTPS 요청을 검사합니다.
- 요청이 기존 HTTPS Inspection 규칙과 매칭되는지 판단합니다.
- 규칙에 매칭되지 않으면 HTTPS 페이로드를 검사하지 않습니다.
- 규칙에 매칭되면 다음 단계로 넘어갑니다.
- 게이트웨이가 내부 서버의 인증서 를 사용해 외부 클라이언트와 HTTPS 연결을 맺습니다.
- 게이트웨이가 내부 서버와 새 HTTPS 연결을 맺습니다.
- 게이트웨이가 HTTPS 연결을 복호화합니다.
- 게이트웨이가 복호화된 HTTPS 연결을 검사합니다.
- Security Policy가 이 트래픽을 허용하면, 게이트웨이는 HTTPS 연결을 다시 암호화해 내부 서버로 보냅니다.
Outbound는 게이트웨이가 새로 만든 인증서를 쓰는 반면, Inbound는 보호하려는 내부 서버 본래의 인증서 를 쓴다는 점이 가장 큰 차이입니다.
HTTPS Inspection 시작하기
다음은 게이트웨이가 Outbound·Inbound HTTPS 트래픽을 검사하도록 구성하는 전체 예시입니다.
| 단계 | 할 일 |
|---|---|
| 1 | 게이트웨이에서 관련 Software Blade 들을 켭니다. |
| 2 | Inbound·Outbound에 맞는 HTTPS Inspection 정책 을 구성합니다(아래 "HTTPS Inspection 정책" 참고). |
| 3 | 게이트웨이가 Inbound 인증서 를 쓰도록 구성합니다(아래 "Inbound CA 인증서 다루기" 참고). |
| 4 | 게이트웨이에서 HTTPS Inspection을 구성합니다. ⓐ 게이트웨이가 Outbound 인증서 를 쓰도록 하고 조직에 배포 ⓑ 게이트웨이에서 HTTPS Inspection 활성화 ⓒ 추가 설정 구성(아래 "게이트웨이에서 HTTPS Inspection 구성하기" 참고). |
| 5 | Access Control Policy 를 설치합니다. |
HTTPS Inspection 정책
HTTPS Inspection 규칙은 게이트웨이가 HTTPS 트래픽을 어떻게 검사할지 를 정의합니다. R82부터 HTTPS 정책은 Inbound Policy 와 Outbound Policy 로 분리 됩니다.
HTTPS Inspection 규칙은 URL Filtering 카테고리 를 써서 여러 웹 사이트·애플리케이션의 트래픽을 식별할 수 있습니다. 예를 들어 사용자 프라이버시 보호를 위해 은행·금융기관으로 가는 HTTPS 트래픽은 검사에서 제외 하는 규칙을 둘 수 있습니다.
기본적으로 게이트웨이는 지원되는 모든 Software Blade에 대해 HTTPS Inspection을 적용합니다. HTTPS Inspection을 지원하는 Software Blade는 다음과 같습니다.
- Access Control: Application Control, URL Filtering, Content Awareness, Data Loss Prevention
- Threat Prevention: IPS, Anti-Virus, Anti-Bot, Threat Emulation, Threat Extraction, Zero Phishing
특정 Software Blade에 대해서만 HTTPS Inspection을 적용하려면 다음 두 가지를 해야 합니다.
- 게이트웨이 객체에서 해당 Software Blade를 켭니다.
- HTTPS Inspection 정책에 적절한 규칙을 만들고, 그 규칙의 Blade 열에서 원하는 Software Blade를 선택합니다.
정책 패키지마다 서로 다른 HTTPS Inspection 레이어를 만들 수 있습니다. 새 정책 패키지를 만들 때는 미리 정의된 HTTPS Inspection 레이어를 그대로 쓰거나, 필요에 맞게 커스터마이즈 할 수 있습니다. 또한 하나의 HTTPS Inspection 레이어를 여러 정책 패키지에서 공유 할 수도 있습니다.
HTTPS Inspection 정책의 열
HTTPS Inspection 규칙은 다음 열들로 구성됩니다(열 머리글을 우클릭하면 열을 보이거나 숨길 수 있습니다).
| 열 | 설명 |
|---|---|
| No. | HTTPS Inspection Rule Base에서의 규칙 번호. |
| Name | 관리자가 규칙에 붙이는 이름. |
| Source | 트래픽이 시작되는 곳을 정의하는 네트워크 객체. |
| Destination | 트래픽의 목적지를 정의하는 네트워크 객체. |
| Services | 검사하거나 우회(bypass)할 네트워크 서비스. 기본적으로 443 포트의 HTTPS 와 8080 포트의 HTTP_and_HTTPS proxy 가 검사됩니다. 목록에 서비스를 추가하거나 삭제할 수 있습니다. |
| Site Category | 검사하거나 우회할 애플리케이션·웹 사이트의 카테고리. |
| Action | 트래픽이 규칙에 매칭될 때 수행할 동작. 트래픽을 검사(Inspect)하거나 무시(Bypass)합니다. |
| Track | 트래픽이 매칭될 때 수행할 추적·로깅 동작. |
| Blade | 기본값은 "All" 로 지원되는 모든 Software Blade에 적용합니다. 특정 Software Blade만 선택해 그 블레이드에만 적용할 수도 있습니다. |
| Install On | HTTPS Inspection 정책을 적용할 네트워크 객체. HTTPS Inspection이 켜진 게이트웨이만 선택할 수 있습니다(기본적으로 이 열에 나타나는 게이트웨이는 HTTPS Inspection이 켜져 있습니다). |
| Certificate | Inbound Policy 에만 있는 열 입니다. 내부 서버가 그 규칙에 사용할 인증서를 선택합니다. |
| Comment | 규칙 설명을 적는 선택 필드. |
HTTPS Inspection 정책 구성하기
Outbound·Inbound 트래픽을 위한 규칙은 각각 해당하는 Outbound 정책과 Inbound 정책 안에 따로 만듭니다. Inbound 규칙은 내부 서버마다 서로 다른 인증서 를 사용합니다.
검사하지 말아야 할 민감한 트래픽을 위해 bypass 규칙 을 만들 수도 있습니다. 이때 bypass 규칙은 Outbound 정책의 맨 위에 두어야 합니다. Outbound·Inbound 정책을 수정할 때마다 Access Control 정책을 설치 해야 적용됩니다.
Outbound 규칙 예시
다음은 일반적인 정책의 Outbound Rule Base 예시입니다.
| No | Name | Source | Destination | Services | Site Category | Action | Track | Install On |
|---|---|---|---|---|---|---|---|---|
| 1 | Financial sites | Any | Internet | HTTPS, HTTP_HTTPS_proxy | Financial Services | Bypass | Log | HTTPS Policy Targets |
| 2 | Outbound traffic | Any | Internet | HTTPS, HTTP_HTTPS_proxy | Any | Inspect | Log | HTTPS Policy Targets |
- 1. Financial sites — Financial Services 카테고리에 정의된 웹 사이트로 가는 HTTPS 트래픽을 검사하지 않는 bypass 규칙입니다.
- 2. Outbound traffic — 인터넷으로 가는 HTTPS 트래픽을 검사합니다. 이 규칙은 Outbound CA 인증서 를 사용합니다.
Inbound 규칙 예시
다음은 일반적인 정책의 Inbound 규칙 예시입니다.
| No | Name | Source | Destination | Services | Action | Certificate |
|---|---|---|---|---|---|---|
| 1 | Inbound traffic | Any | WebCalendar Server | HTTPS | Inspect | WebCalendarServer CA |
- Inbound traffic — 네트워크 객체 WebCalendarServer 로 가는 HTTPS 트래픽을 검사합니다. 이 규칙은 WebCalendarServer 인증서 를 사용합니다.
HTTPS Inspection 정책 적용 방식
HTTPS Inspection Rule Base의 적용은 두 단계로 이루어집니다.
- 연결을 Rule Base와 매칭합니다.
- 수행할 동작을 계산합니다.
동작은 매칭된 규칙, 그 규칙에 정의된 Software Blade, 규칙 예외(exception) 를 함께 따져 계산합니다. 어떤 경우에는 매칭된 규칙의 동작이 Inspect 였더라도, 2단계 계산 결과 동작이 Bypass 로 바뀔 수 있습니다. 이런 경우 HTTPS Inspection 로그에는 매칭된 규칙의 데이터가 담기지만, 로그상의 동작은 Bypass 로 기록됩니다.
Inbound CA 인증서 다루기
설계상 게이트웨이/클러스터는 자기 자신을 향하는 트래픽에는 HTTPS Inspection을 수행하지 않 도록 의도적으로 구성되어 있습니다. 이 동작을 바꾸려면 sk114574를 따르세요.
Inbound HTTPS Inspection용 서버 인증서 지정하기
조직 외부의 클라이언트가 내부 서버로 HTTPS 연결을 시작하면, 게이트웨이가 그 트래픽을 가로챕니다. 게이트웨이는 인바운드 트래픽을 검사한 뒤, 게이트웨이에서 내부 서버로 가는 새 HTTPS 연결 을 만듭니다. HTTPS Inspection이 동작하려면 게이트웨이가 원본 서버 인증서와 개인 키 를 가지고 있어야 하며, 게이트웨이는 이 인증서와 개인 키로 내부 서버와의 TLS 연결을 맺습니다.
서버 인증서를 CER 형식 으로 게이트웨이에 가져온(import) 다음에는, 그 객체를 HTTPS Inspection 정책에 추가합니다. 이 절차는 조직 외부 클라이언트의 연결 요청을 받는 모든 서버 에 대해 수행합니다.
Inbound HTTPS Inspection용 서버 인증서 추가하기
| 단계 | 할 일 |
|---|---|
| 1 | SmartConsole에서 Security Policies view > HTTPS Inspection > Inbound Policy > 상단 도구 모음에서 Inbound Certificates 를 클릭합니다. |
| 2 | Import 를 클릭하면 Import Inbound Certificate 창이 열립니다. |
| 3 | Certificate name 과 Comment(선택)를 입력합니다. |
| 4 | 인증서 파일을 찾아 선택합니다. |
| 5 | Password 를 입력합니다. 서버에서 인증서의 개인 키를 보호하는 데 쓴 것과 같은 암호 를 입력합니다. |
| 6 | OK 를 클릭합니다. |
| 7 | Close 를 클릭합니다. |
서버 인증서를 처음 가져올 때는 Successful Import 창이 열려, 이 객체를 HTTPS Inspection 정책의 어디에 추가하면 되는지 알려 줍니다. 매번 보고 싶지 않다면 Don't show this again 을 클릭하고 Close 합니다.
게이트웨이에서 HTTPS Inspection 구성하기
HTTPS Inspection은 게이트웨이마다 따로 구성해야 합니다.
| 단계 | 할 일 |
|---|---|
| 1 | SmartConsole의 Gateways & Servers view에서 게이트웨이 객체를 더블클릭합니다. |
| 2 | HTTPS Inspection 을 클릭합니다. |
| 3 | (선택) Outbound CA 인증서가 다른 게이트웨이용으로 이미 생성·가져오기 되어 있다면, 전역 인증서(global certificate)를 그대로 쓰거나 게이트웨이마다 특정 인증서로 재정의 할 수 있습니다. 전역 인증서를 재정의하려면 게이트웨이 객체의 HTTPS Inspection > Step 1 로 가서 Override global setting 을 선택하고 드롭다운에서 원하는 인증서를 고릅니다. |
| 4 | HTTPS Inspection용 Outbound CA 인증서 를 가져오거나 새로 만듭니다(아래 "Outbound CA 인증서 다루기" 참고). |
| 5 | Outbound 인증서를 조직에 Export 및 배포 합니다(아래 "생성한 CA 인증서 내보내기·배포하기" 참고). |
| 6 | Step 3 에서 Enable HTTPS Inspection 을 선택합니다. |
| 7 | HTTPS Inspection Deployment Mode 를 구성합니다(아래 표 참고). |
| 8 | Additional Settings > Edit 에서 클라이언트 측·서버 측 fail mode 를 구성합니다(아래 참고). |
| 9 | Bypass Under Load 를 구성합니다(아래 참고). |
| 10 | OK 를 클릭하고 Access Control Policy 를 설치합니다. |
배포 모드(Deployment Mode)
7단계의 배포 모드는 두 가지입니다.
- Full inspection — HTTPS 연결을 HTTPS Inspection 정책에 따라 모두 검사합니다.
- Learning mode — HTTPS Inspection을 부분 배포해 연결성·성능에 미칠 영향을 미리 가늠 하는 모드입니다. 게이트웨이가 트래픽의 일부(작은 비율)만 검사 해 연결성 문제를 찾고, 구성한 정책이 소비할 자원량을 추정합니다. Learning mode의 효과나 모든 게이트웨이의 상태를 보려면 Security Policies view > HTTPS Inspection > Outbound Policy 또는 Inbound Policy > HTTPS Inspection Tools 의 Deployment 를 클릭합니다(아래 "HTTPS Inspection 배포 뷰" 참고).
Fail Mode(실패 시 동작)
8단계에서는 클라이언트나 서버 연결 오류가 났을 때의 동작을 정합니다. 두 가지 모드가 있습니다.
- Fail Open — 서버 측이나 클라이언트 측에서 실패한 연결에 대해 HTTPS Inspection을 수행하지 않 습니다(우회).
- Fail Close — 내부 시스템 오류·서버 연결 오류(서버 측 오류)나 클라이언트 연결 문제로 실패한 연결을 차단 합니다.
서버·클라이언트 오류는 전역 설정을 그대로 따르거나, 게이트웨이별로 재정의할 수 있습니다(전역 설정은 아래 "Fail Mode" 절 참고). 게이트웨이별로 설정하려면 다음과 같이 합니다.
- Additional Settings 에서 Edit 를 클릭하면 HTTPS Inspection Settings 창이 열립니다.
- Server Side Fail Mode — 내부 시스템 오류나 서버 연결 오류가 났을 때의 동작을 고릅니다.
- Use the global setting — 기본 전역 설정은 Fail Open 입니다.
- Override global settings — Fail-Open 또는 Fail-Close 를 선택합니다.
- Client-Side Fail Mode — 클라이언트 연결 문제가 감지됐을 때의 동작을 고릅니다.
- Use the global setting — 기본 전역 설정은 Fail Open 입니다.
- Override global settings — Fail-Open 또는 Fail-Close 를 선택합니다.
Bypass Under Load(과부하 시 우회)
9단계의 Bypass Under Load 는 게이트웨이가 심한 부하 상태 일 때(원인이 꼭 HTTPS Inspection이 아니어도) 연결성을 유지해 주는 기능입니다. 게이트웨이는 다시 안정될 때까지 HTTPS 연결을 우회하며, 그 동안에는 HTTPS 페이로드를 검사하지 않습니다. 게이트웨이가 다시 안정되면 HTTPS Inspection이 자동으로 재개 됩니다. 이 기능은 기본적으로 꺼져 있습니다.
HTTPS Inspection 배포 뷰
이 뷰는 Learning Mode로 HTTPS Inspection이 켜진 게이트웨이들의 상태와 권장 사항 을 보여 줍니다. 또한 각 게이트웨이의 검사 상태를 다음과 같이 나타냅니다.
- Full inspection — 게이트웨이에 Full Inspection이 구성됐을 때 표시됩니다. 구성된 정책에 따라 모든 HTTPS 연결을 검사합니다.
- Learning mode — Learning mode가 구성됐을 때 표시됩니다. 배포의 영향과 권장 사항을 볼 수 있습니다.
- Categorized HTTPS Inspection only — 게이트웨이에서 HTTPS Inspection은 꺼져 있고, Categorized HTTPS websites 가 전역으로 구성 됐을 때 표시됩니다(Manage & Settings view > Blades > Application Control & URL Filtering > Advanced Settings > URL Filtering).
- Disabled — HTTPS Inspection이 꺼져 있고 Categorized HTTPS websites 옵션도 꺼져 있을 때 표시됩니다.
Outbound CA 인증서 다루기
Outbound CA 인증서는 Security Management Server가 관리하는 게이트웨이들 이 사용합니다. 어느 게이트웨이에서든 HTTPS Inspection을 처음 켤 때는 HTTPS Inspection용 Outbound CA 인증서를 새로 만들거나, 조직에 이미 배포된 CA 인증서를 가져와야 합니다. R82부터는 추가 Outbound 인증서를 더 만들거나 가져올 수 있습니다.
Outbound CA 인증서 만들기
Outbound CA 인증서는 CER 확장자로 저장되며, 파일의 개인 키를 암호화하는 데 암호 를 씁니다. 게이트웨이는 이 암호로 HTTPS Inspection용 인증서에 서명합니다. 이 CA 인증서를 가져오는 다른 Security Management Server들도 파일을 열 때 같은 암호를 쓰므로, 암호는 안전하게 보관 해야 합니다.
Outbound CA 인증서를 만든 뒤에는 반드시 내보내(export) 내부 클라이언트에 배포 해야 합니다. 생성한 Outbound CA 인증서를 내부 클라이언트에 배포하지 않으면, 사용자가 HTTPS 사이트에 접속할 때 브라우저에서 TLS 오류 메시지 를 받게 됩니다(이런 연결을 로그로 남기는 문제 해결 옵션을 둘 수 있습니다). 만든 인증서는 HTTPS Inspection 정책에서 Outbound HTTPS 트래픽을 검사하는 규칙에 사용합니다.
| 단계 | 할 일 |
|---|---|
| 1 | SmartConsole Gateways & Servers view에서 게이트웨이 객체를 더블클릭하면 Gateway Properties 창이 열립니다. |
| 2 | 탐색 트리에서 HTTPS Inspection 을 클릭합니다. |
| 3 | Step 1 에서 Create 를 클릭합니다. |
| 4 | 필요한 정보를 입력합니다(아래 참고). |
| 5 | OK 를 클릭합니다. |
| 6 | CA 인증서를 Export 및 배포 합니다(아래 "생성한 CA 인증서 내보내기·배포하기" 참고). |
4단계에서 입력하는 정보는 다음과 같습니다.
| 항목 | 설명 |
|---|---|
| Issued by (DN) | 조직의 도메인 이름을 입력합니다. |
| Private key password | CA 인증서의 개인 키를 암호화하는 데 쓸 암호를 입력합니다. |
| Retype private key password | 같은 암호를 다시 입력합니다. |
| Valid from | CA 인증서가 유효한 날짜 범위를 선택합니다. |
Outbound CA 인증서 가져오기
조직에 이미 배포된 CA 인증서를 가져오거나, 한 Security Management Server에서 만든 CA 인증서를 다른 Server로 가져올 수 있습니다.
HTTPS Inspection이 켜진 게이트웨이를 둔 각 Security Management Server마다 다음을 해야 합니다.
- CA 인증서를 가져옵니다.
- Server가 CA 인증서 파일을 열고 사용자용 인증서에 서명할 때 쓸 암호를 입력합니다. 이 암호는 새 Server로 인증서를 가져올 때만 사용합니다.
가져오기 절차는 다음과 같습니다.
| 단계 | 할 일 |
|---|---|
| 1 | CA 인증서를 다른 Server에서 만들었다면, 만든 그 Server에서 인증서를 먼저 내보냅니다(아래 "한 Server에서 다른 Server로 인증서 내보내기" 참고). |
| 2 | SmartConsole Gateways & Servers view에서 게이트웨이 객체를 더블클릭합니다. |
| 3 | 탐색 트리에서 HTTPS Inspection 을 클릭합니다. |
| 4 | Step 1 에서 Import 를 클릭합니다. |
| 5 | 인증서 파일을 찾아 선택합니다. |
| 6 | 개인 키 암호(private key password) 를 입력합니다. |
| 7 | OK 를 클릭합니다. |
| 8 | CA 인증서를 다른 Server에서 만들었다면, 클라이언트에 배포합니다(아래 "생성한 CA 인증서 내보내기·배포하기" 참고). |
생성한 CA 인증서 내보내기·배포하기
HTTPS Inspection이 쓰는 생성 CA 인증서에 대해 사용자가 경고를 받지 않게 하려면, 그 CA 인증서를 신뢰할 수 있는 CA(trusted CA)로 설치 해야 합니다. Windows GPO 같은 다양한 배포 방식으로 CA를 배포할 수 있으며, 이렇게 하면 클라이언트 컴퓨터의 신뢰할 수 있는 루트 인증서 저장소 에 생성 CA가 추가됩니다. 사용자가 표준 업데이트를 실행하면 생성 CA가 CA 목록에 들어 있어, 브라우저에서 인증서 경고를 받지 않습니다.
GPO로 인증서 배포하기
| 단계 | 할 일 |
|---|---|
| 1 | 게이트웨이에서 인증서를 내보냅니다(아래 두 방법 중 하나). |
| 2 | Group Policy Management Console 로 인증서를 Trusted Root Certification Authorities 인증서 저장소에 추가합니다(아래 "그룹 정책으로 인증서 배포하기" 참고). |
| 3 | GPO 정책 을 조직 내 클라이언트 컴퓨터로 푸시합니다. |
| 4 | 클라이언트 컴퓨터 한 대에서 HTTPS 사이트에 접속해 CA 인증서 배포가 잘 됐는지 테스트합니다. 또한 CA 인증서가 Create할 때 Issued by 필드에 입력한 이름 으로 보이는지 확인합니다. |
1단계의 인증서 내보내기 방법은 두 가지입니다.
- 방법 1 — SmartConsole에서 Security Policies view > HTTPS Inspection > Outbound Policy 로 갑니다. 상단 도구 모음에서 Outbound Certificates 를 클릭하면 Manage Outbound Certificates 창이 열립니다. 원하는 인증서를 선택해 내보내기 버튼을 누르고, 저장할 폴더를 골라 Save 합니다.
- 방법 2 — SmartConsole의 Gateways & Servers view에서 게이트웨이 객체를 더블클릭해 객체 편집기를 엽니다. 왼쪽 메뉴에서 HTTPS Inspection 으로 가서 Step 2 의 Export Certificate 를 클릭하고, 저장할 폴더를 골라 Save 합니다.
그룹 정책으로 인증서 배포하기
이 절차는 Active Directory Domain Services 와 GPO(Group Policy Object) 로 여러 클라이언트 컴퓨터에 인증서를 배포합니다. GPO는 여러 구성 옵션을 담을 수 있고, GPO 범위 안의 모든 컴퓨터에 적용됩니다.
| 단계 | 할 일 |
|---|---|
| 1 | Windows Server에서 Group Policy Management Console 을 엽니다. |
| 2 | 기존 GPO를 찾거나 새 GPO를 만들어 인증서 설정을 담습니다. 정책을 적용할 사용자가 속한 도메인·사이트·조직 단위에 GPO가 연결되어 있는지 확인합니다. |
| 3 | GPO를 우클릭해 Edit 를 선택하면 Group Policy Management Editor 가 열립니다. |
| 4 | Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Publishers 를 엽니다. |
| 5 | Action > Import 를 클릭합니다. |
| 6 | Certificate Import Wizard 의 안내에 따라 SmartConsole에서 내보낸 인증서를 찾아 가져옵니다. |
| 7 | 탐색 창에서 Trusted Root Certification Authorities 를 클릭하고 5~6단계를 반복해 그 저장소에도 인증서 사본을 설치합니다. |
한 Server에서 다른 Server로 인증서 내보내기
조직에서 Security Management Server를 둘 이상 쓴다면, 다른 Server로 가져오기 전에 먼저 인증서를 만든 그 Server에서 export_https_cert CLI 명령 으로 CA 인증서를 내보내야 합니다.
명령 구문은 다음과 같습니다.
export_https_cert -helpexport_https_cert {[-local] | [-s <server address>]} [-f
<certificate file name in the FWDIR/tmp/ directory>]CA 인증서를 내보내려면 Server에서 다음 명령을 실행합니다.
$FWDIR/bin/export_https_cert -local -f <certificate file name in the FWDIR/tmp/ directory>예시:
$FWDIR/bin/export_https_cert -local -f mycompany.cerOutbound HTTPS Inspection을 위한 Trusted CA 다루기
클라이언트가 서버로 TLS 연결을 시작하면 게이트웨이가 연결을 가로채고, 트래픽을 검사한 뒤 게이트웨이에서 대상 서버로 가는 새 TLS 연결 을 만듭니다. 게이트웨이는 대상 서버와 TLS 연결을 맺을 때 서버 인증서를 반드시 검증 해야 합니다.
HTTPS Inspection에는 미리 구성된 Trusted CA 목록 이 함께 제공됩니다. 이 목록은 필요할 때 Check Point가 갱신하며, Check Point Download Center에서 Management Server로 자동 다운로드 됩니다. Server에서 Trusted CA 업데이트를 받은 뒤에는 게이트웨이에 정책을 설치해야 합니다. 자동 업데이트를 끄고 수동으로 Trusted CA 목록을 갱신 하도록 할 수도 있습니다(sk64521 참고).
게이트웨이가 신뢰되지 않는 서버 인증서 를 받으면, 기본적으로 사용자에게는 생성 인증서가 아니라 자체 서명 인증서(self-signed certificate) 가 제시됩니다. 그러면 서버 보안 인증서에 문제가 있다는 페이지가 사용자에게 알려 주되, 사용자는 그대로 서버로 진행할 수 있습니다. 이 기본 설정을 신뢰되지 않는 서버 인증서를 차단 하도록 바꾸려면 Security Policies > HTTPS Inspection > HTTPS Inspection Tools > Advanced Settings > Server Validations 에서 Untrusted server certificates 를 선택합니다.
Trusted Certificates 목록을 관리하는 방법은 다음과 같습니다.
- SmartConsole에서 Security Policies view > HTTPS Inspection > HTTPS Inspection Tools 의 Trusted Certificates 를 클릭하면 Trusted Certificates 창이 열립니다.
- Trusted CA 패키지가 최신인지 확인합니다. 상태(status) 섹션에서 다운로드된 패키지 버전, 마지막 업데이트 시각, 마지막 확인 시각 을 볼 수 있습니다.
- 두 가지 방식으로 갱신합니다.
- 자동 업데이트 — Trusted CA 패키지는 매일 오전 2:00 에 자동으로 갱신됩니다.
- 수동 업데이트 — Updated Trusted CAs Package manually 를 선택하고 Update Now 를 클릭해 직접 갱신합니다.
- Certificate 섹션에서 패키지에 포함된 모든 인증서를 볼 수 있습니다. 인증서를 켜거나 끄려면 체크박스로 해당 인증서를 선택한 뒤(맨 위 체크박스를 누르면 전체 선택), 상단 메뉴의 Actions 에서 Enable 또는 Disable 을 고릅니다.
- Custom trusted certificates 탭에서는 인증서를 가져오거나 내보내거나 삭제할 수 있습니다.
HTTPS Inspection 전역 설정
모든 게이트웨이에 적용되는 전역 설정 은 Security Policies > HTTPS Inspection > HTTPS Inspection Tools > Advanced Settings 에서 구성합니다.
Fail Mode(전역)
전역 fail mode를 바꾸려면 다음과 같이 합니다.
- Security Policies view > HTTPS Inspection > Inbound Policy 또는 Outbound Policy > HTTPS Inspection Tools 의 Advanced Settings 를 클릭합니다.
- Fail Mode 로 가서 설정을 고릅니다.
- Server Side Fail Mode — Bypass all requests (Fail-Open) 또는 Block all requests (Fail-Close).
- Client Side Fail Mode — Bypass all requests (Fail-Open) 또는 Block all requests (Fail-Close).
Categorization Mode(분류 모드)
HTTPS 사이트를 분류하는 모드를 설정합니다.
- Background — 분류가 끝날 때까지 모든 요청을 허용 합니다. 캐시된 응답으로 분류할 수 없는 요청에는 미분류(uncategorized) 응답을 주고 사이트 접근을 허용합니다. 그동안 Check Point Online Web Service 가 백그라운드에서 분류를 계속하고, 그 결과를 로컬에 캐시 해 이후 요청에 씁니다. 이 옵션은 분류 절차의 지연(latency)을 줄 입니다.
- Hold — 기본 설정 입니다. 캐시된 응답으로 분류할 수 없는 요청은 Check Point Online Web Service가 분류를 끝낼 때까지 차단 된 채로 둡니다.
Server Validations(서버 검증)
게이트웨이가 웹 사이트 서버로부터 신뢰되지 않는 인증서 를 받았을 때, 이 섹션의 설정이 언제 연결을 끊을지 를 정합니다.
- Untrusted server certificate(신뢰되지 않는 서버 인증서)
- 선택하면 — 신뢰되지 않는 서버 인증서를 쓰는 사이트의 트래픽이 즉시 드롭 되고, 사용자는 브라우저가 웹페이지를 표시할 수 없다는 오류 페이지를 받습니다.
- 해제하면 — 신뢰되지 않는 서버의 트래픽일 때 클라이언트에 자체 서명 인증서가 표시됩니다. 사용자는 보안 인증서 문제를 통지받되 사이트로 계속 진행할 수 있습니다(기본값).
- Revoked server certificate (validate CRL)(폐기된 서버 인증서 — CRL 검증)
- 선택하면 — 게이트웨이가 각 서버의 사이트 인증서를 검증합니다. 이때 OCSP 표준을 쓰는데, OCSP는 R80.10 미만에서 쓰던 CRL(Certificate Revocation List) 검증보다 빠르고 메모리를 훨씬 적게 씁니다.
- 해제하면 — 게이트웨이가 서버 사이트 인증서의 폐기 여부를 확인하지 않습니다.
서버 인증서가 OCSP를 지원하지 않으면 게이트웨이는 CRL 검증 을 사용합니다. CRL에 도달할 수 없으면 그 인증서는 신뢰됨으로 간주 되며, 이것이 기본 구성입니다. 이 경우 CRL에 도달할 수 없었다는 HTTPS Inspection 로그 가 발행됩니다. 이 동작은 Database Tool(GuiDBEdit Tool) 에서 바꿀 수 있습니다 — Other > SSL Inspection > general_confs_obj 를 선택하고 drop_if_crl_cannot_be_reached 속성을 false 에서 true 로 바꾼 다음, Access Control 정책을 설치합니다.
CRL을 검증하려면 게이트웨이가 인터넷에 접근 할 수 있어야 합니다. 예를 들어 조직 환경에서 프록시 서버를 쓴다면 게이트웨이가 그 프록시를 쓰도록 구성해야 합니다. 프록시 구성 방법은 다음과 같습니다.
- SmartConsole의 Gateways & Servers view에서 프록시 구성이 필요한 게이트웨이를 더블클릭합니다.
- Network Management > Proxy 로 갑니다.
- Use custom proxy settings for this network object 와 Use proxy server 를 선택하고 프록시 IP 주소 를 입력합니다.
- (선택) 기본 프록시 설정을 그대로 쓸 수도 있습니다.
- OK 를 클릭합니다.
- Access Control 정책을 설치합니다.
나머지 서버 검증 옵션은 다음과 같습니다.
- Expired Server Certificate(만료된 서버 인증서)
- 선택하면 — 서버 인증서가 만료된 경우 게이트웨이가 연결을 드롭 합니다.
- 해제하면 — 게이트웨이가 만료 날짜를 가진 인증서를 만들어, 사용자가 사이트로 계속 진행할 수 있습니다(기본값).
- Track validation errors(검증 오류 추적) — 서버 검증을 로그로 남길지(SmartConsole의 Logs & Events view > Logs 에서 확인) 또는 다른 알림을 띄울지를 선택합니다.
Certificate Blocking(인증서 차단)
차단할 인증서 목록 을 만들 수 있습니다. 이 목록의 인증서를 쓰는 서버의 트래픽은 드롭됩니다. 목록의 인증서가 Trusted CAs 목록에도 들어 있다면, 차단 목록이 Trusted CAs 목록보다 우선 합니다.
- New — 인증서를 추가합니다. 인증서 일련번호(16진수 형식 HH:HH) 와 인증서를 설명하는 주석을 입력합니다.
- Edit — 차단 인증서 목록의 세부 내용을 바꿉니다.
- Delete — 차단 목록에서 인증서를 삭제합니다.
- Search — 차단 목록에서 인증서를 검색합니다.
- Track dropped traffic — 드롭된 트래픽을 로그로 남길지 또는 다른 알림을 띄울지 선택합니다.
Bypass Allow Lists(우회 허용 목록)
Check Point는 더 나은 연결성을 위해 우회해도 되는 잘 알려진 업데이트 서비스와 인증서 고정(certificate-pinned) 애플리케이션 목록을 동적으로 갱신합니다.
- Well-known update services — 일부 잘 알려진 업데이트 서비스는 제대로 동작하려면 우회되어야 합니다(목록은 sk98655 참고).
- Certificate-pinned Applications — 일부 모바일·데스크톱 애플리케이션은 특정 서버 인증서만 신뢰 합니다. 이런 앱은 HTTPS Inspection의 Outbound CA 인증서로 서명된 인증서를 받으면 신뢰 문제로 연결을 끊을 수 있습니다. 인증서 고정 앱으로 분류된 클라이언트의 연결이 감지되면, 선택한 동작이 수행됩니다.
선택할 수 있는 동작은 다음과 같습니다.
| 동작 | 설명 |
|---|---|
| Bypass | 끊김 없는 연결성을 위해 HTTPS Inspection을 우회하고, 'bypass' 로그를 보냅니다. |
| Detect | HTTPS Inspection을 우회하지 않고 'detect' 로그를 보냅니다. 앱에 오류가 나거나 오작동할 수 있습니다. |
| None | HTTPS Inspection을 우회하지 않고 전용 로그도 보내지 않습니다. 앱에 오류가 나거나 오작동할 수 있습니다. |
Session Logs(세션 로그)
R82부터 게이트웨이는 통과하는 TLS 트래픽을 한눈에 보여 주는 세션 로그 를 보낼 수 있습니다. 게이트웨이가 세션 로그를 보내게 하려면 다음과 같이 합니다.
- Send session logs 를 선택합니다.
- HTTPS Inspection Rule Base에서 해당 규칙들의 Track 열을 Log 로 설정합니다.
세션 로그는 다음 공통 특성을 기준으로 개별 연결들을 하나의 세션 로그로 묶 습니다.
- Source IP — 출발지 IP
- Destination IP — 목적지 IP
- SNI (Server Name Indication)
- HTTPS Inspection Action — 트래픽을 우회했는지 검사했는지
- Bypass Reason — 트래픽을 우회한 경우에만 해당
- Time Window — 같은 3시간 구간 안에 일어난 연결들
이렇게 묶은 세션 로그는 Bypass·Inspect 결정을 포함한 통계 뷰 를 만드는 데 쓰입니다(아래 "HTTPS Inspection 통계 뷰" 참고).
Other(기타) — Intermediate CA
Certificate Authority Information Access 확장을 사용해, 인증서 동작에서 빠진 인증서를 가져 옵니다. Automatically retrieve intermediate CA certificates 옵션은 다음과 같이 동작합니다.
- 선택하면 — 신뢰할 수 있는 루트 CA 인증서가 발급했지만 인증서 체인에 포함되지 않은 중간 CA 인증서를, 인증서의 정보를 이용해 자동으로 가져 옵니다(기본값).
- 해제하면 — 중간 CA가 서명했으나 인증서 체인의 일부로 전송되지 않은 웹 서버 인증서는 신뢰되지 않음 으로 간주됩니다.
Bypass Under Load Logging(과부하 우회 로깅)
Bypass Under Load의 로그 유형은 다음과 같이 설정합니다.
- Security Policies view > HTTPS Inspection > Inbound Policy 또는 Outbound Policy 로 갑니다.
- HTTPS Inspection Tools 의 Advanced Settings 를 클릭합니다.
- Other 를 클릭합니다.
- Bypass Under Load Logging 섹션의 Track 필드에서 원하는 옵션을 고릅니다.
- OK 를 클릭합니다.
- Access Control 정책을 설치합니다.
HTTPS Inspection 통계 뷰
R82부터 Logs & Events view와 SmartView 에서 HTTPS Inspection 통계를 볼 수 있습니다. 이 통계 뷰는 게이트웨이를 통과하는 HTTPS 트래픽을 bypass·inspect 통계를 포함해 시각적으로 보여 줍니다. 통계 뷰는 게이트웨이가 세션 로그를 보낼 때마다 갱신 됩니다(위 "Session Logs" 참고).
구성
먼저 Management Server나 Log Server에서 필요한 Software Blade를 켭니다.
- SmartConsole로 Management Server에 접속합니다.
- 왼쪽 탐색 패널에서 Gateways & Servers view로 갑니다.
- 게이트웨이가 로그를 보내는 Management Server나 Log Server 객체 를 더블클릭합니다.
- 왼쪽 패널에서 General Properties 를 클릭합니다.
- Management 탭에서 Logging & Status, SmartEvent Server, SmartEvent Correlation Unit 블레이드를 선택합니다.
- OK 를 클릭하고 변경을 publish 합니다.
- 왼쪽 위 Menu > Install database 를 클릭하고, 모든 객체를 선택해 Install 합니다. 진행 상황은 왼쪽 아래에서 확인합니다.
다음으로 게이트웨이에서 HTTPS Inspection 세션 로그를 켭 니다.
- SmartConsole에서 Manage & Settings view > Blades > HTTPS Inspection > Advanced Settings 로 가면 HTTPS Inspection - Global Settings 창이 열립니다.
- 왼쪽 탐색 트리에서 Session Logs 로 갑니다.
- Session Logs 를 선택하고 OK 를 클릭합니다.
통계 보기
HTTPS Inspection 통계는 두 곳에서 볼 수 있습니다.
SmartConsole 에서
- 왼쪽 탐색 패널에서 Logs & Events 를 클릭합니다.
- 위쪽의 [+] 를 클릭해 새 탭을 엽니다.
- 왼쪽 섹션에서 Views 를 클릭합니다.
- 위쪽 검색 필드에
HTTPS를 입력합니다. - HTTPS Inspection Statistics 뷰를 더블클릭합니다.
SmartView 에서
- 웹 브라우저로 Management Server나 Log Server의 SmartView 포털에 접속합니다. 예시:
- 위쪽 [+] 를 클릭해 새 탭을 엽니다.
- 왼쪽 섹션에서 Views 를 클릭합니다.
- 위쪽 검색 필드에
HTTPS를 입력합니다. - HTTPS Inspection Statistics 뷰를 더블클릭합니다.
로그 세부 정보는 상위에서 하위로 파고들며 봅니다.
- 통계 뷰에서 해당 차트나 그래프를 더블클릭하면 관련 세션 로그 가 모두 보입니다.
- 해당 세션 로그를 더블클릭하면 관련 연결 로그(connection log) 들이 아래 패널에 나타납니다.
- 해당 연결 로그를 더블클릭하면 전체 로그 세부 정보 를 볼 수 있습니다.
사이트 분류를 위한 SNI 지원
R80.30부터, HTTPS Inspection이 시작되기 전에 HTTPS 사이트를 분류 하고, 검사가 실패하더라도 연결 실패를 막아 주는 기능이 추가됐습니다.
SNI(Server Name Indication) 는 TLS 프로토콜의 확장으로, TLS 핸드셰이크 시작 시점에 호스트 이름을 알려 줍니다. 분류는 TLS 핸드셰이크 초기의 client hello 메시지에서 SNI 필드를 살펴 수행됩니다. 올바른 사이트에 도달했는지 확인하기 위해, SNI를 인증서에 나타나는 호스트의 Subject Alternative Name과 대조 해 검증합니다. 호스트의 신원이 알려지고 검증되면 사이트가 분류되고, 그 연결을 검사할지 말지가 결정됩니다.
SNI 지원은 기본적으로 켜져 있습니다.
비표준 포트의 HTTPS Inspection
HTTP를 쓰는 애플리케이션은 보통 TCP 80 포트 로 HTTP 트래픽을 보냅니다. 그러나 일부 애플리케이션은 다른 포트로도 HTTP 트래픽을 보냅니다. 일부 Software Blade는 80 포트의 HTTP만 검사하거나, 비표준 포트의 HTTP까지 검사 하도록 구성할 수 있습니다.
Security Policy는 비표준 포트로 보낸 것까지 포함해 모든 HTTP 트래픽을 검사 하며, 이 옵션은 기본적으로 켜져 있습니다. Manage & Settings view > Blades > Threat Prevention > Advanced Settings > General > HTTPS Inspection 에서 구성할 수 있고, 변경하면 Access Control 정책을 설치해야 합니다.
TLS v1.3 트래픽 검사
R81부터 Check Point 게이트웨이는 TLS v1.3(RFC 8446)에 의존하는 트래픽을 검사 할 수 있습니다. R81.10부터 이 기능은 USFW(User-Space Firewall Mode) 를 쓰는 게이트웨이(및 클러스터 멤버)에서 기본으로 켜져 있습니다. 지원 플랫폼 목록은 sk167052를 참고하세요.
HTTPS Inspection 기능은 트래픽을 복호화해 고급 위협·봇·기타 악성코드로부터 더 잘 보호 할 수 있게 해 줍니다.
---
이 기능은 Security Management 가이드의 HTTPS Inspection에서도 자세히 다룹니다. 인증서를 전용 하드웨어에 보관하려면 HSM을, 서드파티 검사 장비 연동은 ICAP를 함께 보세요. 위협 데이터 활용은 Threat Indicators 장에서 이어집니다.