08Desktop SecurityDesktop Security
원격 접속 클라이언트는 늘 보호된 네트워크 바깥에 있습니다. 게이트웨이는 네트워크를 지나가는 트래픽에 보안 정책을 적용하지만, 원격 단말로 오가는 트래픽은 애초에 게이트웨이를 거치지 않습니다. 그래서 원격 클라이언트는 게이트웨이의 검사를 받지 못한 채 공격에 노출 됩니다. 더 위험한 것은, 공격자가 보호받지 못하는 원격 클라이언트를 발판 삼아 VPN 터널을 타고 내부망까지 침투 할 수 있다는 점입니다. 이 장에서 다루는 Desktop Security 는 바로 이 두 가지 위협을 막기 위한 기능으로, 단말 자체에 중앙 관리 방화벽 정책을 입혀 원격 사용자의 컴퓨터와 조직 내부망을 함께 보호합니다.
Desktop Security 솔루션
Endpoint Security VPN 처럼 Desktop Security를 포함하는 Check Point 클라이언트는, 클라이언트 자신에게 Desktop Security Policy 를 적용해 방화벽 보호 를 제공합니다. 정책은 관리자가 직접 정의합니다 — SmartDashboard 의 Desktop Rule Base 에 규칙을 만들고, 그 규칙을 특정 사용자 그룹에 배정하거나 모든 사용자에게 적용합니다.
정책이 단말까지 전달되는 흐름은 이렇습니다.
- Security Management Server 가 Desktop Security Policy를 Policy Server 로 내려보냅니다. Policy Server는 원격 접속 Security Gateway에서 켜는 기능 입니다.
- 원격 접속 클라이언트 컴퓨터는 게이트웨이에 연결할 때 Policy Server에서 자신의 Desktop Security Policy를 내려받 습니다.
- 클라이언트는 이 정책에 따라 출발지(Source)·목적지(Destination)·서비스(Service)를 기준으로 연결을 accept(허용)·encrypt(암호화)·drop(차단) 합니다.
위 그림에 등장하는 구성 요소는 다음과 같습니다.
| 번호 | 구성 요소 |
|---|---|
| 1 | Security Management Server |
| 2 | Firewall |
| 3 | Internet |
| 4 | Security Gateway 및 Policy Server |
| 5 | Security Gateway |
| 6 | Remote Access Client |

Desktop Security Policy의 구조
Desktop Security Policy는 두 방향의 규칙으로 나뉩니다.
- Inbound 규칙 — 클라이언트 컴퓨터로 들어오는 연결에 적용됩니다.
- Outbound 규칙 — 클라이언트 컴퓨터에서 나가는 연결에 적용됩니다.
각 규칙은 트래픽을 출발지·목적지·서비스 로 정의하고, 일치하는 트래픽에 적용할 동작(Action) 을 지정합니다. 각 항목의 의미는 다음과 같습니다.
| 항목 | 의미 |
|---|---|
| Source | 통신을 시작하는 네트워크 객체 |
| Destination | Inbound 통신에서는 사용자 그룹과 위치, Outbound 통신에서는 대상 IP 주소 |
| Service | 통신의 서비스 또는 프로토콜 |
| Action | Accept(허용), Encrypt(암호화), Block(차단) |
여기서 반드시 기억할 규칙 이 하나 있습니다. 조직 내부의 컴퓨터로 가는 연결(예: 게이트웨이의 VPN 도메인에 속한 모든 컴퓨터)은, 규칙이 단순히 Accept로 통과시키는 경우라 하더라도 자동으로 암호화 됩니다.
Implied Rules(암묵 규칙)
관리자가 직접 정의한 규칙 외에도, Desktop Security Policy에는 Inbound·Outbound 정책의 맨 끝에 자동으로 추가되는 암묵 규칙 이 있습니다. 이 규칙은 앞선 규칙에 걸리지 않은 나머지 트래픽을 어떻게 처리할지 결정합니다.
- 암묵 Outbound 규칙 — 클라이언트에서 나가는 연결 중 앞선 차단 규칙에 걸리지 않은 것은 모두 밖으로 나가도록 허용 합니다. 즉
Any Destination, Any Service = Accept입니다. - 암묵 Inbound 규칙 — 클라이언트로 들어오는 연결 중 앞선 규칙에 맞지 않은 것은 모두 차단 합니다. 즉
Any Source, Any Service = Block입니다.
이 둘의 비대칭이 핵심입니다 — 나가는 것은 기본 허용, 들어오는 것은 기본 차단 이 단말 방화벽의 기본 자세입니다.
User Granularity(사용자 단위 세분화)
원격 사용자마다 위치(Location) 와 사용자 그룹(User Group) 에 따라 서로 다른 규칙을 적용할 수 있습니다.
- Locations(위치) — 물리적 위치에 따라 규칙을 다르게 적용합니다. 예를 들어 사무실 건물 안에서 노트북을 쓰는 사용자는, 같은 노트북으로 공용 무선 액세스 포인트에서 접속할 때보다 덜 제한적인 정책 을 적용받게 할 수 있습니다.
- User Groups(사용자 그룹) — 일부 사용자에게만 규칙을 적용합니다. 예를 들어 대부분의 사용자에게는 제한적인 규칙을 주되, 시스템 관리자에게는 더 넓은 접근 권한 을 부여할 수 있습니다. 특정 사용자 그룹을 지정하지 않고 "모든 사용자(all users)"를 대상으로 하면, 모든 원격 사용자에게 강제할 규칙도 정의할 수 있습니다.
여기서 알아 둘 점은, 규칙은 개별 사용자가 아니라 사용자 그룹에 적용 된다는 것입니다. 그런데 클라이언트 자체는 사용자 그룹을 알지 못하므로, 연결할 때 게이트웨이로부터 그룹 정의를 받아 와야 합니다. 동작은 이렇습니다 — 게이트웨이가 인증된 사용자의 사용자 그룹을 해석(resolve)해 그 정보를 클라이언트에 보내 면, 클라이언트는 그 사용자가 속한 그룹에 해당하는 규칙을 적용합니다. 규칙은 RADIUS 서버의 radius 그룹 에도 적용할 수 있습니다.
Default Policy(기본 정책)
클라이언트가 시작된 직후, 아직 Policy Server에 연결하기 전에는 기본 정책(default policy) 을 적용 합니다. 이 시점에는 클라이언트가 사용자가 어느 그룹에 속하는지 아직 모르기 때문입니다. 기본 정책은 Policy Server에서 마지막으로 내려받은 정책 중 "모든 사용자"용으로 정의된 규칙 으로 구성됩니다. Policy Server에서 갱신된 정책(그리고 현재 사용자의 그룹 정보)을 내려받기 전까지 이 기본 정책이 유지됩니다.
클라이언트가 Policy Server와의 연결을 잃으면, 연결이 복구되어 정책을 다시 내려받을 때까지 기본 정책을 적용 합니다.
Known Limitations(알려진 제한)
가상 데스크톱 인프라(VDI, Virtual Desktop Infrastructure) 안에서 Remote Access VPN 클라이언트(Check Point Mobile Access Client 포함)를 실행하는 것은 지원되지 않 습니다.
Desktop Security 구성하기
게이트웨이를 Policy Server로 켜기
Security Gateway가 Desktop Security용 Policy Server 역할을 하도록 활성화하는 절차입니다.
- Gateways & Servers 를 클릭하고 해당 Security Gateway를 더블 클릭합니다. Security Gateway 창이 열리며 General Properties 페이지가 보입니다.
- Network Security 탭에서 IPsec VPN 과 Policy Server 를 선택합니다.
- OK 를 클릭합니다.
- 변경을 Publish 합니다.
Desktop Security 정책 활성화하기
- Security Policies 를 클릭하고 Manage Policies 창을 엽니다(
CTRL + T). - All 아이콘을 클릭합니다.
- 편집할 정책을 선택하고 Edit 를 클릭합니다. 정책 창이 열립니다.
- Desktop Security 를 선택합니다.
- OK 를 클릭합니다.
- 정책을 설치(Install policy)합니다.
Desktop Policy 규칙 구성하기
- Security Policies 를 클릭하고 탐색 트리에서 Access Control > Desktop 을 클릭합니다.
- Open Desktop Policy in SmartDashboard 를 클릭합니다. SmartDashboard가 열리며 Desktop 탭이 보입니다.
- Inbound 규칙 을 구성합니다. Rules > Add Rule 을 클릭해 규칙을 추가합니다. Inbound 규칙에서는 클라이언트 컴퓨터(데스크톱)가 목적지(Destination) 입니다. 규칙을 적용할 사용자 그룹을 선택합니다.
- Outbound 규칙 을 구성합니다. 마찬가지로 Rules > Add Rule 을 클릭합니다. Outbound 규칙에서는 클라이언트 컴퓨터(데스크톱)가 출발지(Source) 입니다. 적용할 사용자 그룹을 선택합니다.
- Save 를 누르고 SmartDashboard를 닫습니다.
- 정책을 설치합니다.
Rule Base 다루기
Desktop Security Policy를 정의할 때, 규칙은 순서대로 처리 됩니다 — 앞선 규칙이 차단한 것은 뒤에서 다시 허용할 수 없습니다. Rule Base의 우클릭 메뉴에는 다음 옵션이 있습니다.
| 메뉴 | 하는 일 |
|---|---|
| Add Rule | 선택한 규칙의 위 또는 아래에 규칙을 추가합니다. |
| Delete | 더 이상 필요 없는 규칙을 삭제합니다. |
| Hide | 현재 보기와 무관한 규칙을 숨겨 Rule Base를 보기 쉽게 합니다. 숨겨진 규칙도 여전히 적용 됩니다. |
| Disable Rule | 지금은 쓰지 않지만 나중에 쓸 수 있는 규칙을 비활성화합니다. |
| Where Used | 선택한 네트워크 객체가 다른 규칙에서 어디에 쓰이는지 봅니다. |
| Copy as Image | 규칙 그림을 클립보드로 복사합니다. |
| Copy Rule UID | 규칙의 고유 UID를 복사합니다. |
| View Rule Logs | 이 규칙에 일치한 트래픽의 로그를 봅니다. |
| Negate Cell | 셀을 부정(negate)하면 규칙이 해당 객체·서비스를 "제외한 전부(all-except)"가 됩니다. 예를 들어 Service 열에서 http를 부정하면 http를 제외한 모든 서비스가 규칙에 포함됩니다. |
Active FTP용 규칙 만들기
클라이언트가 active FTP 를 쓴다면, 필요한 서비스를 명시적으로 허용하는 규칙을 Desktop Security Policy에 추가해야 합니다. 이때 ftp-pasv 가 아닌 active FTP 서비스 중 하나 를 선택합니다. 절차는 다음과 같습니다.
- SmartDashboard에서 Desktop 탭을 엽니다.
- Outbound 규칙 을 우클릭하고 Add 를 선택합니다.
- 규칙에서 FTP 서비스 중 하나를 서비스로, Accept 를 동작으로 선택합니다.
Policy Server
Policy Server 는 General Properties > Network Security 탭에서 켜면 Security Gateway에 설치 되며, Desktop Security Policy의 저장소(repository) 역할을 합니다. 클라이언트 컴퓨터는 자신의 Desktop Security Policy를 이 Policy Server에서 내려받습니다. 클라이언트가 사이트에 연결하거나 재인증할 때마다, 자동으로 Policy Server에 업데이트가 있는지 확인하고 내려받 습니다.
Location-Based Policies(위치 기반 정책)
위치 기반 정책은 Desktop Firewall에 위치 인식(Location Awareness) 기능을 더해 줍니다. 두 가지 정책이 있습니다.
- Connected Policy — 다음 경우에 적용됩니다.
- VPN이 연결되어 있을 때.
- VPN은 끊겼지만 Location Awareness가 단말이 내부 네트워크에 있다고 판단 할 때. 단, 이때는 정책이 "있는 그대로" 적용되지 않고 기능의 모드(
disconnected_in_house_fw_policy_mode속성)에 따라 변형되어 적용됩니다.
- Disconnected Policy — VPN이 연결되지 않았고, Location Awareness가 단말이 내부 네트워크에 있지 않다고 판단 할 때 적용됩니다.
Desktop Firewall의 위치 기반 정책은 기본적으로 비활성화 되어 있습니다.
Location Awareness 구성하기
Location Awareness는 클라이언트 구성 파일의 두 가지 속성을 기준으로 동작합니다.
| 속성 | 의미 | 값 |
|---|---|---|
disconnected_in_house_fw_policy_enabled | 기능을 켤지 끌지 정의 | true(활성화) / false(비활성화, 기본값) |
disconnected_in_house_fw_policy_mode | Location Awareness 감지 후 어떤 정책을 적용할지 정의 | encrypt_to_allow / any_any_allow |
disconnected_in_house_fw_policy_mode 의 두 값은 다음을 뜻합니다.
encrypt_to_allow— 마지막으로 연결했던 사용자 기준으로 Connected Policy를 적용하되, Encrypt 규칙을 Allow 규칙으로 변환 합니다(기본값).any_any_allow—Any - Any - Allow를 적용합니다.
Desktop Firewall에 Location Awareness를 켜려면 다음과 같이 합니다.
- Security Gateway에서
$FWDIR/conf/trac_client_1.ttm파일을 편집합니다. disconnected_in_house_fw_policy_enabled항목을 추가합니다.
:disconnected_in_house_fw_policy_enabled (
:gateway (disconnected_in_house_fw_policy_enabled
:default (true)
)
)- 파일을 저장하고 정책을 설치합니다.
위치 기반 정책의 모드를 설정하려면 다음과 같이 합니다.
- Security Gateway에서
$FWDIR/conf/trac_client_1.ttm파일을 편집합니다. disconnected_in_house_fw_policy_mode항목을 추가합니다.
:disconnected_in_house_fw_policy_mode (
:gateway (disconnected_in_house_fw_policy_mode
:default (encrypt_to_allow)
)
)- 파일을 저장하고 정책을 설치합니다.
로그와 알림
Desktop Security 로그는 클라이언트 컴퓨터에 로컬로 저장 됩니다. 위치는 시스템 비트 수에 따라 다릅니다.
- 32비트 시스템:
C:\Program Files\CheckPoint\Endpoint Connect\trac_fwpktlog.log- 64비트 시스템:
C:\Program Files(x86)\CheckPoint\Endpoint Connect\trac_fwpktlog.log알림(Alerts)은 저장되었다가 클라이언트가 연결될 때 Security Management Server로 업로드 됩니다. 업로드된 알림은 SmartConsole의 Logs & Events 뷰의 Logs 탭에서 볼 수 있습니다.
IPv6 트래픽 차단·허용하기
기본적으로 Desktop Firewall은 클라이언트로 오는 IPv6 트래픽을 허용 합니다. 클라이언트로 오는 IPv6 트래픽을 차단하려면 다음과 같이 합니다.
- Security Gateway에서 다음 파일을 편집용으로 엽니다.
$FWDIR/conf/trac_client_1.ttm- 다음 내용을 추가합니다.
:allow_ipv6 (
:gateway (allow_ipv6
:default (false)
)
)- 파일을 저장하고 닫습니다.
- 정책을 설치합니다.
Wireless Hotspots(무선 핫스팟)
Desktop Policy는 무선 핫스팟을 지원 할 수 있습니다. 다만 환경에 따라 프록시가 필요할 수도 있습니다.
사용자가 Desktop Firewall을 끄게 허용하기
경우에 따라 Endpoint Security VPN 사용자가 자기 컴퓨터에서 방화벽 정책을 직접 끌 수 있게 허용할 수 있습니다. 이 옵션을 켜면, 사용자가 클라이언트 아이콘을 우클릭해 Disable Security Policy 를 선택 할 수 있게 됩니다. 다만 이는 단말 보호를 약화시키므로 신중히 적용해야 합니다.
Allow disable firewall 설정을 바꾸려면 다음과 같이 합니다.
- Security Gateway에서 텍스트 편집기로
$FWDIR/conf/trac_client_1.ttm파일을 엽니다. :allow_disable_firewall줄을 찾아 값을 지정합니다.
| 값 | 의미 |
|---|---|
true | 사용자가 자신의 방화벽 정책을 끌 수 있습니다. |
false | 사용자에게 방화벽을 끌 수 있는 선택지를 주지 않습니다. |
client_decide | 클라이언트 컴퓨터의 파일에서 값을 가져옵니다. |
- 파일을 저장하고 정책을 설치합니다.
Policy Server에서 이중 인증 피하기
Policy Server High Availability 를 쓸 때는, 사용자가 한 Security Gateway로 조직에 접속하면서 정작 Policy Server는 다른 모듈에 설치되어 있는 상황이 생길 수 있습니다. 이렇게 되면 사용자가 인증을 두 번 받게 됩니다 — 한 번은 Security Gateway 모듈에, 또 한 번은 Policy Server에.
만약 어떤 사용자가 평소 특정 Security Gateway를 통해 접속하고 그 게이트웨이에 Policy Server 모듈이 설치되어 있다면, 이 이중 인증을 피할 수 있습니다. 사용자 프로필을 "모든 Policy Server 중 High Availability, 선택한 것 먼저 시도(High Availability among all Policy Servers, trying selected first)" 로 구성하고, 기본 Policy Server를 그 사용자가 평소 접속하는 게이트웨이로 지정 하면 됩니다. 그러면 사용자가 Security Gateway에 인증한 뒤, 그 게이트웨이에 설치된 Policy Server에서 보안 정책을 자동으로 내려받을 권한을 얻습니다.
Desktop Security 고려사항
Desktop Security 정책은 보안과 편의 사이의 균형 을 잡아 계획해야 합니다. 사용자가 가능한 한 자유롭게 일하게 하되, 동시에 원격 사용자의 컴퓨터를 공격하기는 어렵게 만들어야 합니다. 다음은 정책을 짤 때 꼭 새겨 둘 핵심입니다.
- 사용자가 해당 포트에서 서버를 돌리고 있는 경우가 아니라면, Inbound 정책에서 서비스를 명시적으로 허용하지 마 세요. 만약 클라이언트로 오는 Inbound 연결에 서비스를 허용한다면, 누가, 어디에서 그 연결을 열 수 있는지 까지 함께 정의하세요.
- Outbound 정책을 짜는 가장 좋은 방법은 Netbus 같은 문제 있는 특정 서비스만 차단(block)하고 나머지는 허용 하는 것입니다. 반대로 제한적인 정책(예: POP3·IMAP·HTTP만 허용하고 나머지는 모두 차단)을 쓰면 사용자의 업무가 어려워집니다. Outbound에서 일부 서비스만 허용하고 나머지를 막으면, 사용자가 다른 서비스를 필요로 할 때마다 정책을 자주 갱신 해야 합니다.
- 조직의 암호화 도메인으로 가는 Outbound 연결은, 서비스 규칙이 Accept로 되어 있어도 항상 자동으로 암호화 됩니다.
- 암묵 규칙(Implied Rules)이 앞선 규칙에서 명시적으로 다루지 않은 서비스를 허용하거나 차단 할 수 있음을 늘 염두에 두세요. 예를 들어 클라이언트 컴퓨터에서 서버를 돌린다면, 그 컴퓨터로 오는 연결을 허용하는 명시적 규칙을 반드시 만들어야 합니다. 그렇지 않으면 Inbound 암묵 차단 규칙에 걸려 연결이 막 힙니다.
정리하면, Desktop Security는 보호망 밖의 원격 단말에 중앙 관리 방화벽 정책을 입혀, 단말 자신과 그 단말을 통한 내부망 침투를 함께 막는 기능입니다. 단말이 정책에 맞게 구성됐는지까지 검증하려면 SCV를 함께 씁니다.