목차/09. Secure Configuration Verification(SCV)

09Secure Configuration Verification(SCV)Secure Configuration Verification(SCV)

Desktop Security가 단말이 주고받는 트래픽을 통제한다면, SCV(Secure Configuration Verification) 는 한 걸음 더 들어가 단말 자체가 기업 보안 정책에 맞게 "구성"되어 있는지 를 검증합니다. 둘은 서로 다른 종류의 위협을 막으며, SCV는 Desktop Security Policy를 대체하지 않고 함께 동작 합니다. 이 장은 SCV가 왜 필요한지, local.scv 정책 파일을 어떻게 쓰고, 관리 서버와 단말에서 무엇을 설정하는지를 원문 그대로 빠짐없이 풀어 정리합니다.

왜 SCV가 필요한가 (Use Case)

네트워크·방화벽 관리자는 조직 내부 의 컴퓨터라면 여러 도구로 직접 통제할 수 있습니다. 예를 들어 브라우저에서 Java·ActiveX 같은 위험한 구성 요소를 비활성화하고, Anti-Virus를 설치하며, 그것들이 제대로 동작하는지 확인하는 식입니다.

문제는 LAN 밖에서 조직에 접속하는 원격 사용자 입니다. 관리자는 이런 단말을 같은 도구로 통제할 수 없습니다. 시나리오는 이렇습니다 — 원격 사용자가 ActiveX를 켜 둔 상태에서 악성 ActiveX 컨트롤이 심긴 웹사이트에 접속해 컴퓨터가 감염됩니다. 그 사용자가 조직의 LAN에 연결되는 순간, LAN까지 함께 취약 해집니다.

이런 공격은 잘 구성된 Desktop Security Policy로도 막을 수 없습니다. 공격이 단말에 대한 접근 제어(access control)의 허점을 노리는 게 아니라, 단말에 설치된 애플리케이션의 "취약한 구성"을 파고들기 때문입니다. 바로 이 빈틈을 메우는 것이 SCV입니다.

SCV가 하는 일 (SCV 소개)

SCV(Secure Configuration Verification) 는 원격 접속 클라이언트 컴퓨터가 기업 보안 정책에 맞게 구성됐는지 확인 합니다. SCV로 할 수 있는 일은 세 가지입니다.

  • 원격 클라이언트의 구성에 대한 리포트를 받 습니다.
  • 클라이언트가 조직의 보안 정책을 준수하는지 확인 합니다.
  • 준수하지 않는 클라이언트의 연결을 차단 합니다.

SCV는 SCV 검사(SCV checks) 를 사용합니다. 이 검사들은 클라이언트에 설치된 DLL 플러그인(plug-in) 으로, 관리 서버(Management Server)에서 구성한 정책에 따라 호출·집행됩니다. 각 SCV 검사는 안전하게 구성된 클라이언트 시스템을 정의하는 조건들의 집합 입니다. 예를 들어 사용자의 브라우저 구성, 데스크톱에 설치된 Anti-Virus 소프트웨어의 버전, 개인 방화벽 정책의 동작 같은 것을 검사 항목에 포함할 수 있습니다. 이런 보안 검사는 미리 정해진 주기마다 원격 접속 클라이언트가 직접 수행 하며, 그 결과를 바탕으로 Security Gateway 가 클라이언트의 LAN 연결을 허용할지 차단할지 결정합니다.

  • 클라이언트가 모든 SCV 검사를 통과 하면 그 클라이언트는 준수(compliant) 상태이고, Security Gateway는 연결을 허용합니다.
  • 클라이언트가 SCV 검사 중 하나라도 실패 하면 비준수(not compliant) 상태입니다. 이때 Security Gateway가 비준수 단말의 연결을 거부(reject)하게 하거나, 또는 연결은 받아들이되 로그를 남기게 구성할 수 있습니다.

Check Point의 SCV 솔루션에는 운영체제와 브라우저를 위한 미리 정의된(predefined) SCV 검사 가 많이 들어 있고, Anti-Virus 제조사 같은 OPSEC 파트너 가 자사 제품을 위한 SCV 검사를 추가할 수도 있습니다.

local.scv 파일 소개

SCV 정책은 관리 서버의 local.scv 파일에 구성합니다. 파일 경로는 다음과 같습니다.

$FWDIR/conf/local.scv

이 절에서는 이 파일의 형식과 구문을 설명합니다.

집합(Set)과 하위 집합(Sub-set)

local.scv 파일은 집합(set) 들로 구성됩니다. 각 집합에는 미리 정해진 고유한 용도 가 있습니다. 어떤 집합은 특정 파라미터를 정의하는 데 쓰이고, 또 어떤 집합은 특정 상황에서 일어나야 할 동작을 지정하는 식입니다. 집합은 이름과 계층(hierarchy) 으로 재귀적으로 구분됩니다. 각 집합은 하위 집합을 가질 수 있고, 그 하위 집합도 다시 자신의 하위 집합을 가질 수 있으며, 이런 식으로 계속 중첩됩니다. 하위 집합은 논리식(logical expression) 도 담을 수 있습니다.

표기 규칙은 이렇습니다. 하위 집합·조건이 둘 이상인 집합·하위 집합은 왼쪽·오른쪽 괄호 ( ) 로 묶 고, 집합·하위 집합의 이름으로 시작합니다. 같은 계층에 있는 하위 집합·식끼리는 콜론 : 으로 구분 합니다. 예를 들면 다음과 같습니다.

:SubSetName1 (
:ExpressionName1_1 (5)
:ExpressionName1_2 (false)
)
:SubSetName2 (
:ExpressionName2_1 (true)
:SubSetName2_1 (
:ExpressionName2_1_1 (10)
)
)
)

위 예에서 SetName 집합은 두 개의 하위 집합 SubSetName1SubSetName2 를 가집니다.

  • SubSetName1 에는 조건이 두 개 있습니다(ExpressionName1_1, ExpressionName1_2).
  • SubSetName2 에는 조건 하나(ExpressionName2_1)와 하위 집합 하나(SubSetName2_1)가 있습니다.
  • SubSetName2_1 에도 조건이 하나 있습니다(ExpressionName2_1_1).

local.scv의 집합들

local.scv 정책 파일에는 SCVObject 라는 집합이 하나 들어 있습니다. 이 집합은 항상 존재해야 하며, SCV 검사와 파라미터를 다루는 모든 하위 집합을 담습니다. SCVObject는 다음 세 하위 집합을 가집니다.

하위 집합역할
SCVNamesSCV 정책의 주 정의(definition) 영역 입니다. 모든 SCV 검사와 동작을 여기서 정의합니다. 다만 이 영역은 "정의"만 할 뿐, 실제로 어떤 검사가 수행될지는 결정하지 않 습니다. 여기서 검사들의 집합을 정의해 두면, 나중에 관리자가 사용자 데스크톱에서 실행할 것들을 골라 씁니다.
SCVPolicySCVNames에 정의된 검사 중에서 클라이언트 컴퓨터에서 실제로 수행할 검사의 이름 을 지정하는 영역입니다.
SCVGlobalParamsSCV의 전역(global) 파라미터 일부를 담는 영역입니다.

SCVNames와 SCVPolicy의 차이

핵심은 둘의 역할이 분리되어 있다 는 점입니다.

  • SCVNames 영역은 검사들의 여러 파라미터를 "정의" 합니다.
  • SCVPolicy 영역은 그중 무엇을 "집행(enforce)" 할지를 명시합니다.

그래서 특정 SCV 검사(예: Windows Security Monitor)를 집행하려면 두 단계를 거칩니다.

  1. SCVNames 영역에서 그 검사의 파라미터를 구성합니다.
  2. SCVPolicy 영역에 그 검사의 이름을 포함합니다.

local.scv의 논리식

쓸 수 있는 식(expression)은 제조사가 정해 둡니다. 식의 이름은 해당 SCV 검사가 결정합니다. 식의 값은 SCV 검사 결과에 따라 true 또는 false 가 됩니다.

비교 연산자

SCV 정책에서 RegMonitor 를 다룰 때는 다음의 논리 비교 연산자를 쓸 수 있습니다. 그 밖의 논리 연산은 지원하지 않습니다.

연산자
=같음
!=같지 않음
>보다 큼
<보다 작음
>=크거나 같음
<=작거나 같음

식은 식의 값(SCV 검사 결과)과 괄호 안에 정의한 값을 비교 해 평가됩니다. 예를 들어 클라이언트에 딸려 오는 브라우저 모니터 SCV 검사에서는 다음과 같이 쓸 수 있습니다.

:browser_major_version (5)

이 식은 클라이언트에 설치된 Internet Explorer 브라우저의 버전이 5.x인지 확인합니다. (주) 버전이 5이면 식은 true, 아니면 false로 평가됩니다. 식의 이름(예: browser_major_version)은 SCV 애플리케이션이 정하며 제조사가 제공합니다.

식이 여러 개 연달아 나오면 자동으로 논리 AND 로 묶입니다. 즉 모든 식이 true 일 때만 전체가 true 이고, 하나라도 false이면 전체가 false입니다. 예를 들면 이렇습니다.

:browser_major_version (5)
:browser_minor_version (0)

이 두 식은 AND로 묶입니다. Internet Explorer의 주 버전이 5 AND 부 버전이 0(즉 버전 5.0)이면 결과는 true, 아니면 false입니다. 만약 IE 버전이 4.0이라면 첫 식은 false, 둘째 식은 true이고, 둘을 합친 결과는 false입니다.

논리 구획(Logical Sections)

앞서 보았듯 연달아 오는 식은 자동으로 AND됩니다. 하지만 가끔은 AND 대신 논리 OR 가 필요합니다. 이때 레이블(label) 을 씁니다.

begin_or (orX) 레이블 은 여러 식을 담는 구획을 시작합니다. 이 구획의 끝은 end (orX) 레이블로 표시합니다(X는 서로 다른 OR 구획을 구분하는 숫자로 바꿉니다). 이 구획 안의 모든 식은 OR로 묶여 구획 전체에 대해 하나의 값 을 냅니다. 예를 들면 다음과 같습니다.

:browser_major_version (5)
:browser_major_version (6)
:end(or1)

이 구획은 IE 버전이 5 OR 6인지 확인합니다. 둘 중 하나면 true, 아니면 false입니다.

begin_and (andX) 레이블 은 begin_or와 비슷하지만, 안의 식들을 AND로 평가합니다. 끝은 end (andX) 또는 end (orX) 레이블로 표시합니다. 앞서 말했듯 단순히 연달아 오는 식은 자동으로 AND되는데도 이 레이블이 따로 존재하는 이유는, OR 구획 안에 중첩된 AND 구획 을 만들 수 있게 하기 위해서입니다. 예를 들어 어떤 관리자가 "오래된 브라우저는 위험한 구성 요소가 적어 안전하고, 최신 브라우저는 최신 보안 패치가 들어 있어 안전하다"고 본다면 다음과 같은 규칙을 짤 수 있습니다.

:begin_or (or1)
:begin_and (and1)
:browser_major_version (5)
:browser_minor_version (0)
:browser_version_operand (">=")
:end (and1)
:begin_and (and2)
:browser_major_version (3)
:browser_minor_version (0)
:browser_version_operand ("<=")
:end (and2)
:end (or1)

위 예에서 첫 AND 구획은 IE 버전이 >= 5.0인지, 둘째 AND 구획은 IE 버전이 <= 3.0인지 확인하고, 둘을 OR로 묶습니다. 전체 식은 IE 버전이 5.0 이상이거나 3.0 이하일 때만 true로 평가됩니다.

식 묶기(Grouping Expressions)

다음처럼 단일 식이 하나만 있는 경우입니다.

:browser_major_version (7)

이 식은 Check Point SCV 검사로, 클라이언트의 Internet Explorer 버전이 7.x인지 확인합니다. 주 버전이 7이면 true입니다.

식이 여러 개 연달아 나오면 AND 논리로 검사 됩니다. 모든 식이 true일 때만 전체가 true입니다.

:browser_major_version (7)
:browser_minor_version (0)

IE 버전이 7 AND 부 버전이 0(버전 7.0)이면 결과는 true입니다. 버전이 6.0이면 첫 식은 false, 둘째 식은 true이므로 결과는 false입니다.

영향을 주는 식(Influential Expressions)

어떤 식은 다른 식이 평가되는 방식에 영향을 줍 니다. 예를 들면 이렇습니다.

:browser_major_version (10)
:browser_minor_version (0)
:browser_version_operand (">=")

여기서 셋째 식 browser_version_operand (">=") 가 첫째·둘째 식의 평가 방식에 영향을 줍니다.

  • IE 버전이 10보다 크거나 같으면(">=") true 입니다.
  • 버전이 9이면 false입니다.
  • 버전이 11이면 true입니다.

특별한 의미를 가진 식·레이블

다음 식·레이블은 특별한 의미 를 가집니다.

  • begin_admin (admin) — 이 레이블은, 앞선 식들에 의해 클라이언트가 SCV를 충족하지 못한 것으로 판정됐을 때만(즉 같은 하위 집합의 앞선 식들이 false를 반환했을 때만) 수행할 동작 들을 정의하는 구획을 시작합니다. 끝은 end (admin) 레이블로 표시합니다.
  • send_log (alert / log)begin_admin (admin) – end (admin) 구획 안에서, 클라이언트가 SCV 검사를 통과하지 못했을 때 어디로 로그를 보낼지 정합니다. 값이 alert이면 클라이언트는 Security Management Server 와 클라이언트의 진단 도구(diagnostic tool) 양쪽 에 로그를 보냅니다. 값이 log이면 클라이언트의 진단 도구에만 로그를 보냅니다.
  • mismatchmessage ("Message") — 역시 begin_admin (admin) – end (admin) 구획 안에서 쓰며, 원격 사용자의 데스크톱에 문제를 알리는 팝업 메시지 를 띄우도록 지정합니다. 따옴표 안의 텍스트(Message)는, 문제의 원인과 사용자가 취해야 할 조치를 알려 주는 의미 있는 안내문 으로 바꿔야 합니다.

예를 들면 다음과 같습니다.

:browser_major_version (5)
:browser_minor_version (0)
:browser_version_operand (">=")
:begin_admin (admin)
:send_log (alert)
:mismatchmessage ("The version of your Internet Explorer browser is old.
For security reasons, users with old browsers are not allowed to access
the local area network of the organization. Please upgrade your Internet
Explorer to version 5.0 or higher. If you require assistance in upgrading
or additional information on the subject, please contact your network
administrator.")
:end (admin)

이 예에서 사용자의 IE 브라우저 버전이 5.0보다 낮으면, Security Management Server로 alert가 전송되고 사용자에게 문제를 알리는 팝업 메시지가 표시됩니다.

관리 서버에서 SCV 구성하기

1단계: 관리 서버에서 SCV 검사 활성화

먼저 SmartConsole에서 SCV를 켭니다.

  1. SmartConsole 메뉴에서 Global Properties 를 클릭합니다.
  2. 내비게이션 트리에서 Remote Access > Secure Configuration Verification (SCV) 를 클릭합니다.
  3. 다음 설정을 구성합니다.
설정의미
Apply Secure Configurations on Simplified Mode단순화 정책 모드(simplified policy mode)의 모든 원격 접속 규칙에 SCV를 적용 할지 지정합니다.
Upon Verification failure클라이언트가 SCV 검사 중 하나 이상에 실패했을 때 수행할 동작을 지정합니다. 클라이언트의 연결을 Block(차단) 하거나, Accept(허용)하고 이벤트 로그를 보낼 수 있습니다.
Basic configuration verification on client's machine원격 접속 클라이언트가, 클라이언트 데스크톱의 모든 네트워크 인터페이스 카드에 정책이 설치돼 있는지 , 그리고 그 인터페이스에 TCP/IP 프로토콜만 설치돼 있는지 를 판단하는 SCV 검사를 수행할지 지정합니다.
Configurations Violation Notification on client's machine원격 사용자가 SCV로 검증되지 않았음을 알리는 로그 레코드를 Security Management Server에 저장 할지 지정합니다(이는 어떤 SCV 검사에서 실패했는지까지 명시하지는 않는 일반적인 표시입니다).

이어서 접근 제어 정책을 확인 합니다. 왼쪽 내비게이션 트리의 Access Control 아래에서 Access Control Policy 를 클릭합니다. 그리고 SCV를 구성하는 모든 연결이 Remote Access VPN을 위해 명시적으로 정의된 규칙에 매칭되는지 반드시 확인합니다.

예시 접근 규칙은 다음과 같습니다.

No.SourceDestinationVPNServices & ApplicationsAction
1(관리 규칙 — 이 예와 무관)
2MP_RoleHost_10.10.0.10Anyicmp-proto, httpAccept
3MP_RoleHost_10.10.0.10RemoteAccesssshAccept
  • MP_Role → Host_10.10.0.10 으로의 HTTP 연결 에는 SCV 정책이 집행되지 않 습니다. 이 연결은 규칙 2에 매칭되는데, 규칙 2는 Any VPN 대상이라 Remote Access VPN 전용이 아니기 때문입니다.
  • MP_Role → Host_10.10.0.10 으로의 SSH 연결 에는 SCV 정책이 집행됩니다. 이 연결은 규칙 3에 매칭되는데, 규칙 3은 명시적으로 Remote Access VPN 전용 이기 때문입니다.

설정을 마쳤으면 OK 를 클릭하고 변경 사항을 publish 합니다.

2단계: 관리 서버에서 SCV 정책 만들기

관리 서버의 텍스트 파일 $FWDIR/conf/local.scv 에 SCV 정책을 구성합니다. 이 파일은 집합·하위 집합·식으로 이루어진 정책 파일입니다. 일반적으로는 local.scv의 SCVNames 영역에 있는 미리 정의된 검사들을 템플릿으로 삼 고, 수정한 검사를 SCV Policy 영역에 나열하면 되며, 새 SCV 하위 집합을 직접 쓸 필요가 없습니다. 기본 SCV 정책을 만들 때는 식(expression)을 쓰지 않아도 됩니다.

$FWDIR/conf/local.scv 파일에서 다음 SCV 검사 중 하나 이상을 구성해 기본 SCV 정책을 만듭니다.

"Groupmonitor"

로그온한 사용자가 기대하는 도메인 사용자 그룹(domain user groups)에 속하는지 확인합니다.

파라미터설명
"builtin\administrator" (false)사용자 그룹의 이름입니다. 머신 구성이 검증되려면 사용자가 이 그룹에 속해 있어야 합니다.

"OsMonitor"

Windows 10·Windows 11의 경우, osMonitor는 버전 빌드 번호(version build number) 를 보고 검사합니다. Windows 10에서 이 기능을 쓰려면 os_build_number_10os_build_operand_10 두 파라미터가 모두 있어야 합니다. 만약 enforce_screen_saver_minutes_to_activate 파라미터가 없으면 화면 보호기 구성은 검사하지 않 습니다. OSMonitor는 begin_orbegin_and지원하지 않 습니다.

파라미터설명
enforce_screen_saver_minutes_to_activate (3)화면 보호기가 활성화되기까지의 시간(분). 이 시간 안에 화면 보호기가 켜지지 않으면 클라이언트는 검증되지 않은 것으로 봅니다. 또한 화면 보호기는 암호로 보호 되어 있어야 합니다.
screen_saver_mismatchmessage ("Your screen saver settings do not meet policy requirements")화면 보호기 검사의 불일치 메시지. 이 검사는 enforce_screen_saver_minutes_to_activate 속성이 없거나 시간이 0으로 설정돼 있으면 수행되지 않습니다.
service_pack_version_operand_8 (">=")Windows 8의 OS 서비스 팩을 검사하는 연산자.
major_os_version_number_81 (6)Windows 8.1이 검증되기 위한 주(major) 버전 지정.
minor_os_version_number_81 (3)Windows 8.1이 검증되기 위한 부(minor) 버전 지정.
os_version_operand_81 ("==")Windows 8.1의 OS 주·부 버전을 검사하는 연산자.
service_pack_major_version_number_81 (0)Windows 8.1이 검증되기 위한 서비스 팩 주 버전 지정.
service_pack_minor_version_number_81 (0)Windows 8.1이 검증되기 위한 서비스 팩 부 버전 지정.
service_pack_version_operand_81 (">=")Windows 8.1의 OS 서비스 팩을 검사하는 연산자.
major_os_version_number_10 (10)Windows 10이 검증되기 위한 주 버전 지정.
minor_os_version_number_10 (0)Windows 10이 검증되기 위한 부 버전 지정.
os_version_operand_10 ("==")Windows 10의 OS 주·부 버전을 검사하는 연산자.
os_build_number_10 (0)Windows 10이 검증되기 위한 버전 빌드 번호 지정.
os_build_operand_10 (">=")Windows 10의 OS 버전 빌드 번호를 검사하는 연산자.
major_os_version_number_11 (10)Windows 11이 검증되기 위한 주 버전 지정.
minor_os_version_number_11 (0)Windows 11이 검증되기 위한 부 버전 지정.
os_version_operand_11 ("==")Windows 11의 OS 주·부 버전을 검사하는 연산자.
os_build_number_11 (0)Windows 11이 검증되기 위한 버전 빌드 번호 지정.
os_build_operand_11 (">=")Windows 11의 OS 버전 빌드 번호를 검사하는 연산자.
os_version_mismatches ("Please upgrade your operating system")OS 버전·서비스 팩이 검증되지 않았을 때 표시할 메시지. 이 파라미터들이 scv 파일에 하나도 없으면 OS 버전과 서비스 팩은 검사되지 않습니다.

"ProcessMonitor"

프로세스 활동(process activity) 을 검사합니다. AND·OR 구획을 지원합니다. 프로세스 이름을 기준으로 하며, 실행 중인 프로세스에 대해 해시(hash) 검사 옵션 을 추가로 둘 수 있습니다.

ProcessName.exe (true | false)
ProcessName.exe (true;<SHA1 hash value>)

예를 들면 다음과 같습니다.

calc.exe (true;9018A7D6CDBE859A430E8794E73381F77C840BE0)

값이 true이면 그 프로세스가 실행 중일 때 클라이언트가 준수 상태이고, false이면 그 프로세스가 실행 중이 아닐 때 준수 상태입니다.

"RegMonitor"

시스템 레지스트리(system registry) 를 검사합니다. RegMonitor는 AND·OR 구획을 지원합니다.

먼저 검사할 레지스트리 하이브(hive)를 다음 중에서 지정합니다 — PredefinedKeys (HIVE).

  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS

HKEY_CLASSES_ROOT 를 검사하려면 HKEY_LOCAL_MACHINE\Software\ClassesHKEY_CURRENT_USER\Software\Classes 를 사용합니다.

파라미터설명
value (registry_value_path)검사할 레지스트리 DWORD의 경로. 값은 연산자 다음에 숫자 가 와야 합니다. 예: "Software\TrendMicro\PC-cillinNTCorp\CurrentVersion\Misc.\PatternVer>= 414"
string (registry_string_path)검사할 레지스트리 문자열의 경로. 문자열 값을 주어진 값과 DWORD를 비교하는 것과 같은 방식 으로 비교합니다.
keynexist (registry_key_path)제외(exclusion) 를 확인할 레지스트리 키 경로. 머신이 검증되려면 그 키가 존재하지 않아야 합니다.
keyexist (registry_key_path)포함(inclusion) 을 확인할 레지스트리 키 경로. 머신이 검증되려면 그 키가 반드시 존재해야 합니다.

검사 구성을 마쳤으면, SmartConsole 에서 정책을 설치(install)합니다.

단말(Endpoint Computer)에서 SCV 구성하기

단말 쪽에서 해야 할 일은 다음과 같습니다.

  1. (선택) OPSEC SCV 타사 애플리케이션을 사용할 계획이라면, 그 애플리케이션을 클라이언트에 설치하고 SCV와의 통합 기능을 활성화 합니다(방법은 해당 애플리케이션 문서를 참고하세요).
  2. 클라이언트를 시작하고 Security Gateway 에 연결해 SCV 정책을 받습니다.

WindowsSecurityMonitor 구성 예

: SCVEpsNames (
                : (WindowsSecurityMonitor
                :type (plugin)
                :parameters (
                :VirusProtectionRequired (true)
                :VirusProtectionRequiredMismatchMessage ("Please see
that your AntiVirus is updated and active")
                :VirusProtectionInstalledPrograms ("Trend Micro
OfficeScan Antivirus;Kaspersky Anti-Virus")
                :VirusProtectionInstalledProgramsMismatchMessage
("Please see that your AntiVirus is Trend Micro or Kaspersky")
                :WindowsUpdateRequired (true)
                :WindowsUpdateRequiredMismatchMessage ("Please turn on
Windows automatic Updates")
                :SpywareProtectionRequired (true)
                :SpywareProtectionRequiredMismatchMessage
("AntiMalware is not updated or active")
                :SpywareProtectionInstalledPrograms ("none")
                :SpywareProtectionInstalledProgramsMismatchMessage
("")
                :NetworkFirewallRequired (true)
                :NetworkFirewallRequiredMismatchMessage ("Please check
the your network firewall is turned on")
                :NetworkFirewallInstalledPrograms ("Kaspersky Anti-
Virus")
                :NetworkFirewallInstalledProgramsMismatchMessage
("Please check that Kaspersky Anti-Virus firewall is installed on your
machine")
                )
                )
                )

SCVNames 영역

이 영역에서 관리자는 SCV 제품들의 이름과 여러 검사 를 지정합니다. SCVNames 안의 SCV 검사 하위 집합은 일반적으로 이런 모양입니다.

: (SCVCheckName1
:type (plugin)
:parameters (
:Expression1 (value)
:Expression2 (value)
:begin_admin (admin)
:send_log (alert)
:mismatchmessage ("Failure Message")
:end (admin)
)
)

테스트 영역은 SCV 검사의 이름(SCVCheckName1)으로 시작 합니다. SCVCheckName1 은 그 테스트 집합의 이름을 정의하는데, 이 이름은 SCV 애플리케이션에 정의돼 있으며 SCV 제조사가 제공 해야 합니다. type (plugin) 식은 그 테스트가 SCV DLL 플러그인으로 수행됨 을 명시합니다. parameters 하위 집합은 SCV 규칙과 동작을 정의하는 곳입니다. SCV 검사 하위 집합을 정의할 때는 type (plugin) 식과 parameters 하위 집합을 항상 지정 해야 합니다.

SCVPolicy 영역

이 영역은 실제로 집행할 SCV 검사의 이름 들을 정의합니다(이 이름은 SCVNames에 지정한 SCV 검사 이름의 일부입니다). 일반적인 구조는 다음과 같습니다.

:SCVPolicy (
:(SCVCheckName1)
:(SCVCheckName2)
)

SCVGlobalParams

이 영역은 SCV의 전역 파라미터 를 담습니다.

:SCVGlobalParams (
:disconnect_when_not_verified (false)
:block_connections_on_unverified (false)
:not_verified_script ("myscript.bat")
:not_verified_script_run_show (true)
:not_verified_script_run_admin (false)
:not_verified_script_run_always (false)
:allow_non_scv_clients (false)
)

각 전역 파라미터의 자세한 의미와 활용법은 아래 SCV 고급 절의 SCVGlobalParams 부분에서 이어집니다.

SCV 고급 — 검사 플러그인과 운영

앞 절이 SCV가 무엇이고 local.scv 파일을 어떻게 구성하는지를 다뤘다면, 이 고급편은 기본으로 딸려 오는 모든 SCV 검사 플러그인의 파라미터, 전역 파라미터의 동작, macOS 단말 지원, 예외(exception)·간격(interval)·미준수 시 스크립트 실행 같은 정교한 운영 기능, 그리고 문제 해결 까지 원문 그대로 빠짐없이 풀어 정리합니다.

고급 SCV 정책

추가로 제공되는 SCV 검사들

기본 SCV 검사(플러그인)는 Endpoint Security VPNCheck Point Mobile for Windows 설치 시 함께 들어옵니다. 종류는 다음과 같습니다.

검사검증하는 것
OS Monitor운영체제 버전, 서비스 팩, 그리고 화면 보호기 구성(활성화 시간, 암호 보호 등)을 검증합니다.
HotFix Monitor운영체제 보안 패치가 설치돼 있는지, 또는 설치돼 있지 않은지를 검증합니다.
Group MonitorOS에 로그인한 사용자가 지정된 도메인 사용자 그룹의 멤버인지 검증합니다.
Process Monitor단말에서 특정 프로세스가 실행 중인지, 또는 실행 중이 아닌지 검증합니다(예: 파일 공유 앱이 안 돌고 있는지, Anti-Virus가 돌고 있는지).
Browser MonitorInternet Explorer 버전과 Java·ActiveX 옵션 같은 구성 설정을 검증합니다.
Registry Monitor시스템 레지스트리 키, 값, 그 내용을 검증합니다.
Anti-Virus MonitorAnti-Virus가 실행 중인지 확인하고 버전을 검사합니다. Norton, Trend Office Scan, McAfee 를 지원합니다.
SCVMonitorSCV 제품의 버전, 특히 클라이언트에 설치된 SCV DLL의 버전 을 검증합니다.
HWMonitorCPU의 종류(type), 패밀리(family), 모델(model)을 검증합니다.
ScriptRun클라이언트에서 지정한 실행 파일을 실행하고 그 반환 코드(return code) 를 확인합니다. 예를 들어 특정 파일이 있는지 검사하는 등 원하는 추가 구성 검사를 할 수 있습니다.
Windows Security MonitorWindows 보안 센터(Windows Security Center)가 모니터링하는 구성 요소 가 설치·집행되고 있는지 검증합니다(예: Anti-Virus가 설치돼 실행 중인지). 검사할 구성 요소를 직접 정의할 수 있습니다.

"Anti-Virus monitor"

Anti-Virus의 종류와 시그니처(signature) 를 검사합니다. begin_orbegin_and 를 지원하지 않습니다.

파라미터설명
Type ("av_type")Anti-Virus의 종류. 예: "Norton", "VirusScan", "McAfee", "OfficeScan", "ZoneLabs".
Signature (x)요구하는 바이러스 정의 파일 시그니처. 형식은 Anti-Virus 종류에 따라 다릅니다.

시그니처 형식 예시는 다음과 같습니다.

  • Norton Antivirus: ">=20031020" (Norton AV 시그니처 형식은 yyyymmdd)
  • TrendMicro Officescan: "<650"
  • McAfee VirusScan: (">404291") — 4.0.4291보다 큰 시그니처를 뜻함
  • Zone Labs: (">X.Y.Z") — X = 주 버전, Y = 부 버전, Z = .dat 시그니처 파일의 빌드 번호

"BrowserMonitor"

Internet Explorer 버전만 검사하거나, 특정 영역(zone)의 브라우저 설정만 검사하는 검사입니다. 다음 파라미터가 하나도 없으면 BrowserMonitor는 제한된 영역(restricted zone)의 보안 설정을 검사하지 않습니다.

  • restricted_download_signed_activex
  • restricted_run_activex
  • restricted_download_files
  • restricted_java_permissions

browser_major_version 파라미터가 없거나 값이 0이면 IE 버전 번호는 검사되지 않습니다. BrowserMonitor는 begin_or·begin_and 를 지원하지 않으며, admin 파라미터도 지원하지 않습니다.

파라미터설명
browser_major_version (#)Internet Explorer의 주 버전 번호. 이 필드가 local.scv에 없거나 값이 0이면 BrowserMonitor 검사에서 IE 버전을 검사하지 않습니다.
browser_minor_version (#)Internet Explorer의 부 버전 번호.
browser_version_operand (">=")Internet Explorer 버전 번호를 검사할 때 쓰는 연산자.
browser_version_mismatchmessage ("Please upgrade your Internet Browser.")IE 구성이 검증되지 않았을 때 표시할 메시지.
intranet_download_signed_activex (enable)로컬 인트라넷에서 서명된 ActiveX 컨트롤 다운로드 에 대해 IE가 가질 수 있는 최대 권한 수준.
intranet_run_activex (enable)로컬 인트라넷에서 서명된 ActiveX 컨트롤 실행 에 대한 IE의 최대 권한 수준.
intranet_download_files (enable)로컬 인트라넷에서 파일 다운로드 에 대한 IE의 최대 권한 수준.
intranet_java_permissions (low)로컬 인트라넷에서 Java 애플릿 실행 에 대한 IE의 최대 보안 수준.
trusted_download_signed_activex (enable)신뢰할 수 있는 영역(trusted zone)에서 서명된 ActiveX 다운로드에 대한 IE의 최대 권한 수준.
trusted_run_activex (enable)신뢰 영역에서 서명된 ActiveX 실행에 대한 IE의 최대 권한 수준.
trusted_download_files (enable)신뢰 영역에서 파일 다운로드에 대한 IE의 최대 권한 수준.
trusted_java_permissions (medium)신뢰 영역에서 Java 애플릿 실행에 대한 IE의 최대 보안 수준.
internet_download_signed_activex (disable)인터넷에서 서명된 ActiveX 다운로드에 대한 IE의 최대 권한 수준.
Internet_run_activex (disable)인터넷에서 서명된 ActiveX 실행에 대한 IE의 최대 권한 수준.
internet_download_files (disable)인터넷에서 파일 다운로드에 대한 IE의 최대 권한 수준.
internet_java_permissions (disable)인터넷에서 Java 애플릿 실행에 대한 IE의 최대 보안 수준.
restricted_download_signed_activex (disable)제한 영역(restricted zone)에서 서명된 ActiveX 다운로드에 대한 IE의 최대 권한 수준.
restricted_run_activex (disable)제한 영역에서 서명된 ActiveX 실행에 대한 IE의 최대 권한 수준.
restricted_download_files (disable)제한 영역에서 파일 다운로드에 대한 IE의 최대 권한 수준.
restricted_java_permissions (disable)제한 영역에서 Java 애플릿 실행에 대한 IE의 최대 보안 수준.
send_log (type)클라이언트가 검증되지 않았음을 알리는 로그를 Security Management Server로 보낼지: log 또는 alert. begin_admin을 지원하지 않 습니다.
internet_options_mismach_message ("Your Internet browser settings do not meet policy requirements")Internet Explorer 설정에 대한 불일치 메시지.

"Groupmonitor"

로그온한 사용자가 기대하는 도메인 사용자 그룹에 속하는지 확인합니다.

파라미터설명
"builtin\administrator" (false)사용자 그룹의 이름. 머신 구성이 검증되려면 사용자가 이 그룹에 속해 있어야 합니다.

"HotFixMonitor"

Check Point 핫픽스(Hotfix) 를 검사합니다. 일부 파라미터는 local.scv 파일에 전혀 안 나타나거나, 두 번 이상 나타날 수도 있습니다. 이 파라미터들은 OR·AND 구획 안에 둘 수 있습니다.

파라미터설명
HotFix_Number (true)검사할 시스템 핫픽스의 번호. 머신이 검증되려면 그 핫픽스가 설치돼 있어야 합니다. 예: "823980(true)" 는 Microsoft의 RPC 패치가 설치돼 있는지 확인합니다.
HotFix_Name (true)검사할 시스템 핫픽스의 전체 이름. 머신이 검증되려면 그 핫픽스가 설치돼 있어야 합니다. 예: "KB823980 (true)" 는 Microsoft의 RPC 패치 설치 여부를 확인합니다.

"HWMonitor"

CPU 세부 정보 를 검사합니다. begin_or·begin_and 를 지원하지 않습니다.

파라미터설명
cputype ("GenuineIntel")공급사 ID 문자열에 적힌 CPU 종류. 문자열은 정확히 12자 여야 합니다. 예: "GenuineIntel", "AuthenticAMD", 또는 "aaa bbb ccc " 처럼 공백도 한 글자로 셉니다.
cpufamily (6)CPU 패밀리.
cpumodel (9)CPU 모델.

"SCVMonitor"

SCV의 버전 을 검사합니다. begin_and·begin_or 를 지원하지 않습니다.

파라미터설명
scv_version (">=541000076")SCV DLL의 SCV 빌드 버전. 이는 Endpoint Security VPN의 빌드 번호와는 다릅니다. 문자열은 연산자 다음에 vvshhhbbb 형식의 DLL 버전 번호 가 옵니다. 예를 들어 DLL 버전을 최소 54.1.0.220으로 하려면 구문은 scv_version (">=541000220") 입니다.

"ScriptRun"

클라이언트에서 지정한 실행 파일을 실행하고 그 반환 코드 를 확인합니다. 예를 들어 특정 파일이 있는지 검사하는 등 원하는 추가 구성 검사를 할 수 있습니다. 실제 스크립트 이름을 넣지 않으면 아무 스크립트도 실행되지 않 습니다.

파라미터설명
exe ("c:\Users\nonadmin\script.exe")사용자 머신에 있는 실행 스크립트의 이름과 전체 경로. 확장자는 .pl, .bat 등 어떤 실행 형식이든 됩니다.
script_run_cycle (#)몇 사이클(cycle)마다 스크립트를 실행할지. 한 사이클은 전역 scv_checks_interval 에 정의된 간격이며, 기본값은 20초입니다. 기본적으로 스크립트는 매 사이클(1)마다 실행됩니다.
run_as_admin (no)스크립트를 관리자 권한으로 실행할지 사용자 권한으로 실행할지 결정합니다. 기본값은 no. 값이 yes이면 관리자 권한 으로 실행됩니다.
run_timeout (#)실행 파일이 끝나기를 기다리는 시간(초). 정해진 시간 안에 끝나지 않으면 머신은 비준수로 간주됩니다. 기본값은 0으로, 타임아웃 없음 입니다.

"user_policy_scv"

사용자의 행동(user behavior)과 사용자 알림 을 검사합니다.

파라미터설명
logged_on_to_policy_server (true 또는 false)SCV를 충족하려면 사용자가 Policy Server에 로그온해 있어야 하는지 지정합니다.
policy_refresh_rate ("[INTEGER]")데스크톱 정책이 유효한 시간(시간 단위). 168시간이 지나면 데스크톱 정책은 더 이상 유효하지 않 게 되고, 사용자는 SCV를 더 이상 충족하지 못합니다. 이 파라미터를 지정하지 않으면 정책의 신선도(freshness)는 검사되지 않습니다.
mismatchmessage ("[YOUR MESSAGE]")user_policy_scv 검사가 실패했을 때 단말 사용자에게 표시할 메시지.
dont_enforce_while_connecting이 파라미터가 있으면, 사용자는 Security Gateway에 연결하는 동안에는 SCV를 충족 합니다. 즉 연결 과정이 지속되는 동안에만 SCV를 충족합니다.

"SCVGlobalParams"

단말이 SCV 정책을 준수하지 않을 때 원격 접속 클라이언트가 무엇을 할지 를 지정하는 파라미터들입니다.

파라미터설명
disconnect_when_not_verified (true/false)true이면, 단말이 SCV 검사에 실패할 때 원격 접속 클라이언트가 Security Gateway 연결을 중단 합니다.
block_connections_on_unverified (true/false)true이면, 단말이 SCV 검사에 실패할 때 원격 접속 클라이언트가 Security Gateway 연결을 차단 합니다.
ip_forwarding_mismatchmessage ("Message string placed here")IP 포워딩(IP Forwarding)이 켜져 있을 때 표시할 문자열. 예: ip_forwarding_mismatchmessage ("Please....etc"). 이는 IP Forwarding이 SCV 검사의 일부일 때, 즉 그 파라미터가 True로 정의된 경우에만 의미가 있습니다.
not_verified_script ("script_name.bat")데스크톱이 SCV를 충족하지 못할 때 실행할 실행 파일의 이름. 아래 세 파라미터로 실행 방식을 더 세부 조정합니다.
not_verified_script_run_show (true/false)true이면 실행 파일의 진행 상황이 화면 창에 표시 됩니다.
not_verified_script_run_admin (true/false)true이면 실행 파일이 관리자 권한 으로 실행됩니다.
not_verified_script_run_always (true/false)true이면 데스크톱이 SCV를 충족하지 못할 때마다 매번 실행됩니다. false이면 원격 접속 클라이언트 세션당 한 번만 실행됩니다.
allow_non_scv_clients (true/false)true이면, OS가 SCV를 지원하지 않더라도 클라이언트가 집행 중인 Security Gateway에 검증됨(verified) 상태 를 보냅니다.

macOS 단말을 위한 SCV 검사

독립형(standalone) 원격 접속 VPN 클라이언트 버전 E88.40부터 는, 관리 서버의 local.scv 구성 파일에서 macOS 단말용 SCV 검사 를 구성할 수 있습니다. SCV 검사의 파일 구문과 기능은 Windows와 macOS가 동일 합니다. macOS 단말과 관련된 파일 영역은 다음과 같습니다.

  • :SCVPolicyMac
  • :SCVNamesMac
  • :SCVGlobalParams (Windows·macOS 양쪽에 관련)

macOS 단말에 SCV 검사를 적용하려면 레지스트리 파라미터 값을 바꿔야 합니다.

1단계: 관리 서버 구성

  1. 관리 서버의 명령줄에 접속합니다.
  2. Expert mode 로 로그인합니다.
  3. Multi-Domain Server 라면 Domain Management Server의 컨텍스트로 전환합니다.
   [Expert@HostName]# mdsenv <Domain_Name>
   
  1. $FWDIR/conf/local.scv 파일을 백업합니다.
   [Expert@HostName]# cp $FWDIR/conf/local.scv $FWDIR/conf/local.scv_ORIGINAL
   
  1. $FWDIR/conf/local.scv 파일을 편집·구성합니다.
   [Expert@HostName]# vi $FWDIR/conf/local.scv
   
  1. 파일에 :SCVNamesMac:SCVPolicyMac 영역을 추가합니다. 다음 예의 SCV 정책은 몇몇 애플리케이션이 실행 중인지 검사합니다.
   :SCVNamesMac (
   : (OsMonitor
   :type (plugin)
   :parameters (
   :major_os_version ...
   :minor_os_version ...
   :os_version_operand ...
   :begin_admin (admin)
   :send_log (alert)
   :mismatchmessage (...)
   :end (admin)
   )
   )
   : (ProcessMonitor
   :type (plugin)
   :parameters (
   :begin_or (or1)
   :begin_and (and1)
   :ping (true)
   :Weather (true)
   :end (and1)
   :begin_and (and2)
   :Calculator (true)
   :Calendar (true)
   :end (and2)
   :end (or1)
   :begin_admin (admin)
   :send_log (alert)
   :mismatchmessage ("...processes are running: ping and Weather or calculator and
   calendar")
   :end (admin)
   )
   )
   : (groupmonitor
   :type (plugin)
   :parameters (
   :begin_and (or1)
   :"test_group" ...
   :"everyone" (false)
   :end (or1)
   :begin_admin (admin)
   :send_log (alert)
   :mismatchmessage ("...non-authorized user. Make sure you are logged on as an
   authorized user.")
   :securely_configured ...
   :end (admin)
   )
   )
   : (AntiVirusMonitor
   :type (plugin)
   :parameters (
   :type ("CrowdStrike")
   :signature ("2...")
   :begin_admin (admin)
   :send_log (alert)
   :mismatchmessage ("...the LiveUpdate option).")
   :end (admin)
   )
   )
   )
   :SCVPolicyMac (
   : (ProcessMonitor)
   )
   

2단계: macOS 단말 구성

이 절차에는 macOS 단말의 슈퍼유저(superuser) 권한 이 필요합니다.

  1. macOS 단말에서 Terminal 을 엽니다.
  2. GUI 프로세스를 중지합니다.
   sudo launchctl bootout gui/$(id -u) /Library/LaunchAgents/com.checkpoint.eps.gui.plist
   
  1. Check Point VPN 서비스를 중지합니다.
   sudo launchctl bootout system /Library/LaunchDaemons/com.checkpoint.epc.service.plist
   
  1. 텍스트 편집기로 원격 접속 VPN 클라이언트 레지스트리 파일 을 엽니다. 기본 파일 경로는 다음과 같습니다.
   /Library/Application Support/Checkpoint/Endpoint Connect/registry/HKLM_registry.data
   
  1. "disable SCV" 파라미터의 값을 바꿉니다.
    • 기능을 켜려면(enable) 값을 0 으로 설정합니다.
    • 기능을 끄려면(disable) 값을 1 로 설정합니다.
  2. GUI 프로세스를 시작합니다.
   sudo launchctl bootstrap gui/$(id -u) /Library/LaunchAgents/com.checkpoint.eps.gui.plist
   
  1. Check Point VPN 서비스를 시작합니다.
   sudo launchctl bootstrap system /Library/LaunchDaemons/com.checkpoint.epc.service.plist
   

타사(Third Party) SCV 검사

SCV 검사는 Check Point의 OPSEC SCV SDK 를 사용해 타사 공급사 가 직접 작성할 수도 있습니다.

SCV 없는 클라이언트 허용하기 (Allow non SCV clients)

Allow non SCV clients 옵션은 SecuRemote처럼 SCV가 없는 클라이언트 의 Security Gateway 연결을 허용합니다. 단, 이 설정은 단말 클라이언트에 SCV가 있는 경우에는 적용되지 않 습니다. 따라서 이 옵션을 구성하더라도 Check Point Mobile for WindowsEndpoint Security VPN 은 여전히 Security Gateway 뒤의 자원에 접근하기 전에 SCV 준수가 요구 됩니다. 기본값은 비활성화입니다.

전역 파라미터에서 Allow non SCV Clients를 켜는 방법은 다음과 같습니다.

  1. Security Management Server 에서 $FWDIR/conf/local.scv 파일을 편집합니다.
  2. SCVGlobalParams 영역에서 allow_non_scv_clients 파라미터 값을 true 로 설정합니다.
  3. Desktop Policy 를 설치합니다.
  4. 변경은 클라이언트가 연결될 때 적용됩니다.

검증되지 않으면 연결 끊기 (Disconnect When Not Verified)

이 기능은 클라이언트가 VPN에 연결된 동안 비준수 상태가 되면 연결을 끊 게 합니다.

  1. Security Management Server 에서 $FWDIR/conf/local.scv 파일을 편집합니다.
  2. SCVGlobalParams 영역에서 disconnect_when_not_verified 파라미터 값을 설정합니다.
    • true — 연결된 비준수 클라이언트가 VPN에서 자동으로 끊깁 니다. 사용자에게 알림이 표시됩니다.
    • false — 연결된 비준수 클라이언트가 VPN에 계속 연결된 채 로 남습니다(기본값).

검증 실패 시 스크립트 실행 (Not Verified Script)

이 기능은 클라이언트가 비준수 상태가 됐을 때 스크립트를 실행 하도록 구성합니다. 비준수 클라이언트에서 스크립트를 실행할 수 있으면 원격 조치(remediation) 에 활용할 수 있습니다. 예를 들어 Anti-Virus를 설치하는 스크립트나, 조치 안내 링크가 담긴 HTML 페이지를 여는 스크립트를 실행할 수 있습니다.

  1. Security Management Server 에서 $FWDIR/conf/local.scv 파일을 편집합니다.
  2. SCVGlobalParams 영역에서 not_verified_script 를 찾습니다.
  3. 값에 스크립트의 이름을 넣습니다.
    • 스크립트는 클라이언트 컴퓨터에 직접 제공 해야 합니다.
    • 필요하다면 스크립트가 검색 경로(search path)에 있는지 확인해야 합니다.
  4. not_verified_script_run_show 파라미터 값을 설정합니다.
    • true — 사용자가 스크립트 실행을 보게 됩니다.
    • false — 스크립트 실행이 숨겨집니다(기본값).
  5. not_verified_script_run_admin 파라미터 값을 설정합니다.
    • true — 사용자에게 관리자 권한이 없더라도, 스크립트가 원격 접속 클라이언트 서비스 계정의 관리자 권한 으로 실행됩니다.
    • false — 스크립트가 로컬 사용자 계정 권한 으로 실행됩니다(기본값). 관리자 권한이 필요하면 스크립트는 실패합니다.
  6. not_verified_script_run_always 파라미터 값을 설정합니다.
    • true — 클라이언트가 비준수가 될 때마다 매번 실행됩니다.
    • false — 클라이언트가 처음 비준수가 됐을 때 한 번만 실행됩니다(기본값).

SCV 검사 간격 (SCV Intervals)

이 기능은 SCV 검사가 수행되는 기본 간격 을 바꿉니다. 기본 간격은 20초 라서 검사가 20초마다 수행됩니다.

전역 파라미터에서 간격을 바꾸는 방법은 다음과 같습니다.

  1. Security Management Server 에서 $FWDIR/conf/local.scv 파일을 편집합니다.
  2. SCVGlobalParams 영역에서 scv_checks_interval 파라미터 값을 원하는 초 단위 숫자로 설정합니다. 값을 0으로 두거나 문자 같은 잘못된 값 을 넣으면 간격은 기본값인 20초가 됩니다.
  3. Desktop Policy 를 설치합니다.

변경은 클라이언트가 연결될 때 적용됩니다.

SCV 예외 구성하기 (Configuring SCV Exceptions)

클라이언트가 준수 상태가 아니어도 선택한 서비스로 접근할 수 있는 호스트 에 대한 예외를 구성합니다. 예를 들어 클라이언트가 SCV 검사가 요구하는 최신 업데이트나 Anti-Virus 버전을 내려받아야 하는 상황 처럼, 비준수 상태에서도 연결을 허용해야 할 때 씁니다.

비준수 원격 클라이언트에 대한 예외를 만드는 방법은 다음과 같습니다.

  1. Apply Secure Configuration Verification on Simplified mode Firewall Policies 옵션을 선택합니다.
  2. Exceptions 버튼을 클릭합니다. Secure Configuration Verification Exceptions 창이 열립니다.
  3. Add 를 클릭합니다.
  4. None 을 더블 클릭합니다.
  5. 암호화 도메인(encryption domain)에서 SCV 검사에서 제외하려는 호스트 와, 그 호스트와 통신할 특정 서비스 를 추가합니다.
  6. OK 를 클릭합니다.
  7. 정책을 설치합니다.

Skip firewall enforcement 옵션은 Check Point Mobile for Windows 처럼 방화벽이 집행되지 않은 클라이언트 의 게이트웨이 연결을 허용합니다. 기본값은 비활성화로, SCV 검사의 일부로서 방화벽 집행이 요구됩니다.

전역 파라미터에서 Skip firewall enforcement를 켜는 방법은 다음과 같습니다.

  1. Security Management Server 에서 $FWDIR/conf/local.scv 파일을 편집합니다.
  2. SCVGlobalParams 영역에서 skip_firewall_enforcement_check 파라미터 값을 true 로 설정합니다.
  3. Desktop Policy 를 설치합니다.

변경은 클라이언트가 연결될 때 적용됩니다.

정확한 제품 이름 찾기 (Finding Exact Product Names)

WindowsSecurityMonitor 검사의 다음 파라미터에는 제품 목록 을 넣을 수 있습니다.

  • NetworkFirewallInstalledPrograms
  • VirusProtectionInstalledPrograms
  • SpywareProtectionInstalledPrograms

이때 제품 이름은 Windows Management Instrumentation Tester 도구에 표시되는 것과 똑같이 적어야 합니다. 제품은 그 컴퓨터에 설치돼 있을 때만 표시됩니다.

Windows Management Instrumentation Tester 도구에서 이름을 찾는 방법은 다음과 같습니다.

  1. 명령 프롬프트를 관리자 권한 으로 열고 wbemtest 를 입력합니다. Windows Management Instrumentation Tester가 열립니다.
  2. Connect 를 클릭합니다.
  3. Namespace 필드에 root\SecurityCenter 를 입력하고 Connect 를 클릭합니다. Windows 7에서는 일부 제품이 root\SecurityCenter2 에 등록돼 있습니다.
  4. Enum Instances 를 클릭합니다.
  5. Class Info 창에서 제품의 클래스를 공백 없이 입력합니다.
    • AntiVirusProduct
    • FirewallProduct
  6. Query Results 에 나타난 인스턴스를 더블 클릭합니다.
  7. Object editor 창에서 아래로 스크롤해 displayName 속성으로 갑니다. 거기에 적힌 이름을 복사해 검사의 파라미터에 사용합니다.

SCV 문제 해결 (Troubleshooting SCV)

"file is corrupt"

Client shows an error message: Compliance Policy file is
corrupt. Please contact your system administrator.
  • 상황(Scenario)SCVPolicy 영역에 정의된 SCV 검사가 local.scv 정책의 SCVNames 영역에는 정의돼 있지 않 은 경우입니다.
  • 해결(Solution)SCVNames 영역에 클라이언트에서 실행할 모든 검사가 포함돼 있는지 확인하세요.

"unsupported format"

Client shows an error message: Compliance Policy is in an
unsupported format
  • 상황(Scenario) — 다음 중 하나일 수 있습니다.
    • local.scv 정책 파일에 SCVObject 영역이 없 음.
    • local.scv에 구성된 SCV 플러그인이 클라이언트에 존재하지 않거나, 기능에 문제 가 있음.
    • local.scv에 정의된 SCV 검사 type이 플러그인이 아님.
    • local.scv 정책의 컨텍스트 형식이 잘못됨.
    • local.scv 파일을 Security Gateway와 다른 운영체제에서 편집 했고, Security Gateway가 읽을 수 없는 인코딩으로 저장됨.
  • 해결(Solution) — 본 관리 가이드의 SCV 절을 참고해, local.scv 파일을 편집·관리하는 지침을 따르세요.

"policy is not updated"

Client shows an error message: Compliance policy is corrupt.
Please connect again to update the policy.
  • 상황(Scenario) — 클라이언트 컴퓨터에 집행된 정책이 Security Gateway에 정의된 최신 보안 정책으로 갱신되지 않 은 경우입니다.
  • 해결(Solution) — 클라이언트 컴퓨터를 Security Gateway에 다시 연결 하세요. 연결하면 클라이언트가 Security Gateway로부터 최신 보안 정책을 받아 옵니다.