13SAML·Dynamic Split TunnelingSAML·Dynamic Split Tunneling
이 장은 현대적 원격 접속의 두 기능 — 클라우드 ID 공급자(IdP)로 인증하는 SAML 과 SaaS 트래픽을 터널에서 빼내 게이트웨이 부하를 줄이는 Dynamic Split Tunneling 을 함께 다룹니다. 원문의 모든 절차·요구 사항·표·파라미터·주의 사항을 빠짐없이 옮기되, 어떤 순서로 무엇을 누르는지 그리고 왜 그렇게 하는지를 함께 풀어 둡니다.
SAML 인증 (SAML Support for Remote Access VPN)
SAML Support for Remote Access VPN 은 클라우드 기반 SAML Identity Provider(IdP)의 신원을 인식 해 원격 접속을 인증하는 기능입니다. 사용자는 조직이 쓰는 Azure AD(Microsoft Entra ID)·Okta 같은 IdP에서 인증하고, 그 결과로 VPN에 접속합니다. 사용자 인증의 여러 로그인 옵션 중 하나로 SAML을 추가해, 비밀번호 대신 IdP 인증으로 접속 하게 하는 방식입니다.
요구 사항 (Requirements)
R82 관리 서버에서 이 기능을 쓰려면 각 제품이 다음 버전 이상이어야 합니다.
| 제품 | 요구 버전 |
|---|---|
| Management Server | R82 |
| SmartConsole | R82 |
| Security Gateway | Check Point Quantum R82, 또는 Quantum R81.20 (Titan), 또는 R81.10 + R81.10 Jumbo Hotfix Accumulator Take 9 이상, 또는 R81 + R81 Jumbo Hotfix Accumulator Take 42 이상, 또는 R80.40 + R80.40 Jumbo Hotfix Accumulator(Gateway mode는 Take 114 이상, VSX mode는 Take 119 이상) |
지원하는 Endpoint Security Client / Mobile Access Client 은 다음과 같습니다.
- Windows용 Endpoint Security Client — 버전 E84.70 build 986102705 이상
- macOS용 Endpoint Security Client — 버전 E85.30 이상
- Android Capsule VPN
- iOS용 Capsule Connect
구성 절차 (Configuration)
SAML 인증은 여섯 단계로 구성합니다.
Step 1 — 원격 접속 VPN 구성
- SmartConsole 로 Security Management Server / 해당 Domain Management Server에 접속합니다.
- 왼쪽 탐색 창에서 Gateways & Servers 를 클릭합니다.
- 해당 게이트웨이 오브젝트를 엽니다.
- General Properties > Network Security 탭에서 IPsec VPN Software Blade를 선택합니다.
- 왼쪽 트리에서 IPsec VPN 을 클릭합니다.
- This Security Gateway participates in the following VPN communities 섹션에서 Add 를 누릅니다. Add this Gateway to Community 창이 열립니다.
- 해당 Remote Access VPN community 를 선택합니다.
- OK 를 누릅니다.
- 왼쪽 트리에서 VPN Clients > Remote Access 를 펼친 뒤 Support Visitor Mode 를 선택합니다.
- 왼쪽 트리에서 VPN Clients > Office Mode 를 클릭하고 Allow Office Mode 를 선택한 뒤, 알맞은 Office Mode Method 를 고릅니다.
- OK 를 누릅니다. 게이트웨이 오브젝트가 닫힙니다.
- 게이트웨이 오브젝트를 다시 엽니다.
- 왼쪽 트리에서 VPN Clients > SAML Portal Settings 를 클릭합니다.
- Main URL 필드에 게이트웨이의 FQDN(완전한 도메인 이름) 이 들어 있는지 확인합니다.
- 그 도메인 이름이 조직에 등록된 DNS 접미사 로 끝나는지 확인합니다. 예:
https://MyGateway1.mycompany.com/saml-vpn - Accessibility 섹션에서 알맞은 설정을 선택합니다.
- OK 를 누릅니다.
Step 2 — Identity Provider 오브젝트 구성
- SmartConsole 오른쪽 탐색 창에서 New > More > User/Identity > Identity Provider 를 클릭하면 New Identity Provider 창이 열립니다.
- New Identity Provider 창에서 다음을 설정합니다.
- 위쪽에 알맞은 이름과 설명(comment)을 입력합니다.
- Gateway 필드에서 SAML 인증을 수행할 게이트웨이를 선택합니다.
- Service 필드에서 Remote Access VPN 을 선택합니다. 그러면 SmartConsole이 다음 필드를 자동으로 채웁니다.
- Identifier (Entity ID) — 서비스 공급자(이 구성에서는 게이트웨이)를 고유하게 식별하는 URL.
- Reply URL — SAML 어설션(assertion)이 전송되는 URL.
- IdP 웹사이트에서 SAML 애플리케이션을 구성합니다.
IdP의 안내를 따르며 다음을 수행합니다.
- (a) SmartConsole New Identity Provider 창의 Identifier (Entity ID) 와 Reply URL 값을 복사해 IdP 웹사이트의 해당 필드에 입력합니다.
- (b) 인증된 사용자 이름을
alias@domain형식의 이메일 로 보내도록 IdP를 구성합니다.
- (c) (선택) 사용자가 정의된 IdP의 그룹을 받으려면, 그룹 이름을
group_attr속성 값으로 보내도록 IdP를 구성합니다.- (d) 구성을 마치기 전에 IdP에서 다음 정보를 받아 둡니다.
- Entity ID — 애플리케이션을 고유하게 식별하는 URL.
- Login URL — 애플리케이션을 사용하기 위한 URL.
- Certificate — 게이트웨이와 IdP 간 보안 통신용 인증서.
- (d) 구성을 마치기 전에 IdP에서 다음 정보를 받아 둡니다.
- New Identity Provider 창의 Data received from the SAML Identity Provider 섹션에서 다음 중 하나를 선택합니다.
- Import the Metadata File — Import From File 을 눌러 IdP의 메타데이터 파일을 선택합니다.
- Insert Manually
- (a) IdP에서 복사한 Identifier (Entity ID) 와 Login URL 을 입력합니다.
- (b) Import from File 을 눌러 IdP의 인증서 파일(Certificate File)을 선택합니다.
Step 3 — Generic External User Profile 오브젝트 구성
- 왼쪽 탐색 창에서 Manage & Settings 를 클릭합니다.
- 왼쪽 트리에서 Blades 를 클릭합니다.
- Mobile Access 섹션에서 Configure portal in SmartDashboard 를 클릭하면 Legacy SmartDashboard가 열립니다.
- 왼쪽 아래 창에서 Users 탭을 클릭합니다.
- Users 탭의 빈 공간을 오른쪽 클릭하고 New > External User Profile > Match all users 를 선택합니다.
- External User Profile 속성을 구성합니다.
- (a) General Properties 페이지
- External User Profile name 필드의 기본 이름이
generic*인지 확인합니다. - Expiration Date 필드에 만료 날짜를 입력합니다.
- External User Profile name 필드의 기본 이름이
- (b) Authentication 페이지에서 Authentication Scheme 드롭다운을 Undefined 로 선택합니다.
- (c) Location, Time, Encryption 페이지에서 알맞은 설정을 구성합니다.
- (d) OK 를 누릅니다.
- (a) General Properties 페이지
- 상단 툴바에서 Menu(왼쪽 위 버튼) > File > Update 를 클릭합니다.
- Legacy SmartDashboard를 닫습니다.
- SmartConsole에서 Access Control Policy 를 설치합니다.
Step 4 — Identity Provider를 인증 방법으로 구성
- 왼쪽 탐색 창에서 Gateways & Servers 를 클릭합니다.
- 해당 게이트웨이 오브젝트를 엽니다.
- 왼쪽 트리에서 VPN Clients > Authentication 을 펼칩니다.
- Allow older clients to connect to this gateway 체크박스를 해제 합니다.
- Multiple Authentication Clients Settings 섹션에서 새 오브젝트를 추가(Add > New)하거나 기존 오브젝트를 편집(Edit)합니다. 원격 접속 클라이언트는 이 섹션에 표시된 순서대로 인증 방법을 보여 줍니다. Multiple Authentication Clients에 대한 자세한 내용은 "User and Client Authentication for Remote Access"를 참고하세요.
- Multiple Login Options 창에서 다음을 수행합니다.
- (a) 왼쪽 트리에서 Login Option 을 클릭합니다.
- General Properties 섹션
- Name 필드에 데이터베이스에 저장될 오브젝트 이름을 입력합니다.
- Display Name 필드에 Multiple Authentication Clients Settings 표와 게이트웨이 포털에 표시될 이름을 입력합니다.
- Authentication Methods 섹션
- (i) Authentication Factors 섹션에서 Identity Provider 를 선택합니다.
- (ii) "+" 버튼을 눌러 Identity Provider 오브젝트를 선택합니다.
- (iii) OK 를 누릅니다.
- General Properties 섹션
- (a) 왼쪽 트리에서 Login Option 을 클릭합니다.
이 속성들이 보이지 않으면, fetch_options 속성을 오른쪽 클릭 > Edit > 아무것도 바꾸지 말고 OK 를 누릅니다(변경하지 않습니다).
- (i) 필요한 설정을 구성합니다.
- 온프레미스 Active Directory(LDAP)를 쓰는 경우
- (i) fetch_options 아래에서 do_generic_fetch 의 현재 값이 false 가 아니면, 오른쪽 클릭 > Edit > 값 false 선택 > OK.
- (ii) directory 아래에서 UserLoginAttr 을 오른쪽 클릭 > Edit > 값 mail 선택 > OK.
- 온프레미스 Active Directory(LDAP)를 쓰지 않는 경우
- (i) fetch_options 아래에서 do_internal_fetch 의 현재 값이 false 가 아니면, 오른쪽 클릭 > Edit > 값 false 선택 > OK.
- (ii) fetch_options 아래에서 do_ldap_fetch 의 현재 값이 false 가 아니면, 오른쪽 클릭 > Edit > 값 false 선택 > OK.
- (j) fetch_type 속성을 오른쪽 클릭 > Edit > 값 fetch_options 선택 > OK.
- (k) 해당하는 모든 게이트웨이에 대해 (c)–(j) 를 반복합니다.
- (l) 모든 변경을 저장합니다(File 메뉴 > Save All).
- (m) Database Tool(GuiDBEdit Tool)을 닫습니다.
10. SmartConsole 로 Security Management Server / 해당 Domain Management Server에 접속합니다.
11. 게이트웨이 오브젝트를 하나씩 열어, 인증을 사용하는 각 Software Blade(VPN, Mobile Access, Identity Awareness)의 설정을 점검합니다.
- LDAP를 쓰는 Software Blade에는 LDAP Users only 옵션을 선택했는지 확인합니다.
- LDAP를 쓰지 않는 Software Blade에는 External user profiles only 옵션을 선택했는지 확인합니다.
12. R81.10 이하 게이트웨이를 하나 이상 이 기능에 쓰려면, 관리 서버에 스크립트를 내려받아 실행해야 합니다.
- (a) 해당 스크립트를 컴퓨터에 내려받습니다.
- (b) 게이트웨이에 필요한 Jumbo Hotfix Accumulator가 설치돼 있는지 확인합니다(위 요구 사항 참고).
- (c) 스크립트를 컴퓨터에서 관리 서버로 복사합니다.
chmod u+x allow_VPN_RA_for_R8040_and_above_gateways_V2.sh
스크립트를 실행합니다(첫 번째 인자는 반드시 1).
./allow_VPN_RA_for_R8040_and_above_gateways_V2.sh 1
Step 5 — 원격 접속 VPN 클라이언트 설치·구성 (Windows·macOS만 해당)
- Windows용 또는 macOS용 원격 접속 VPN 클라이언트를 설치합니다. 자세한 내용은 sk172909 를 참고하세요.
- (선택) Identity Provider 브라우저 모드 를 구성합니다. 기본적으로 Windows 클라이언트는 내장 브라우저를, macOS 클라이언트는 Safari를 써서 IdP 포털에서 신원을 증명합니다.
Windows 클라이언트가 단말 기본 브라우저(예: Chrome)를 쓰게 하기:
- (a) Windows 단말에 관리자로 로그인합니다.
- (b) 일반 텍스트 편집기를 엽니다.
- (c) 텍스트 편집기로
trac.defaults파일을 엽니다.- 32비트 Windows:
%ProgramFiles%\CheckPoint\Endpoint Connect\trac.defaults - 64비트 Windows:
%ProgramFiles(x86)%\CheckPoint\Endpoint Connect\trac.defaults
- 32비트 Windows:
- (d)
idp_browser_mode속성 값을embedded에서default_browser로 바꿉니다. - (e) 변경을 저장하고 편집기를 닫습니다.
- (f) VPN 클라이언트를 중지했다가 다시 시작합니다.
- (g) Windows 명령 프롬프트를 열고 다음을 실행합니다.
net stop TracSrvWrapper
net start TracSrvWrapper
macOS 클라이언트가 단말 기본 브라우저(예: Chrome)를 쓰게 하기:
- (a) macOS 단말에 관리자로 로그인합니다.
- (b) 일반 텍스트 편집기를 엽니다.
- (c) 텍스트 편집기로
trac.defaults파일을 엽니다. 위치:/Library/Application Support/Checkpoint/Endpoint Security/Endpoint Connect/Trac.defaults - (d)
idp_browser_mode속성 값을embedded에서default_browser로 바꿉니다. - (e) 변경을 저장하고 편집기를 닫습니다.
- (f) VPN 클라이언트를 중지했다가 다시 시작합니다.
- (g) 터미널을 열고 다음을 실행합니다.
sudo launchctl stop com.checkpoint.epc.service
sudo launchctl start com.checkpoint.epc.service
Windows 클라이언트가 Internet Explorer 브라우저를 쓰게 하기:
- (a) Windows 단말에 관리자로 로그인합니다.
- (b) 일반 텍스트 편집기를 엽니다.
- (c) 텍스트 편집기로
trac.defaults파일을 엽니다.- 32비트 Windows:
%ProgramFiles%\CheckPoint\Endpoint Connect\trac.defaults - 64비트 Windows:
%ProgramFiles(x86)%\CheckPoint\Endpoint Connect\trac.defaults
- 32비트 Windows:
- (d)
idp_browser_mode속성 값을embedded에서IE로 바꿉니다. - (e) 변경을 파일에 유지하고 편집기를 닫습니다.
- (f) VPN 클라이언트를 중지했다가 다시 시작합니다. Windows 명령 프롬프트를 관리자로 열고 다음을 실행합니다.
net stop TracSrvWrapper
net start TracSrvWrapper
게이트웨이의 구성 파일에서 Windows 단말의 브라우저 모드 구성하기:
Windows용 원격 접속 VPN 클라이언트 E88.41 부터는, 게이트웨이의 구성 파일에서 단말 브라우저 모드를 설정할 수 있습니다. trac_client_1.ttm 파일의 idp_browser_mode 파라미터가 브라우저 모드를 제어합니다. 자세한 내용은 sk75221 을 참고하세요.
Step 6 — 그룹 권한 부여(Group Authorization) 구성
권한 부여는 다음 두 종류의 그룹에 적용합니다.
- Identity Provider 그룹 — IdP가 보내는 그룹.
- Internal 그룹 — SmartConsole에 구성된 User Directories에서 받은 그룹(내부 사용자 그룹 또는 LDAP 그룹).
Identity Provider 그룹을 구성하려면:
- IdP의 인터페이스에서 SAML 속성을 구성합니다.
- (a)
group_attr라는 선택적 속성을 정의합니다. - (b) IdP의 요구 사항에 맞게 속성을 구성합니다.
- (a)
- SmartConsole에서 다음 이름 규칙으로 내부 User Group 오브젝트를 만듭니다(대소문자 구분, 공백 미지원).
예를 들어 IdP 인터페이스의 역할 이름이 my_group 이면, SmartConsole에는 EXT_ID_my_group 이라는 내부 User Group 오브젝트를 만듭니다.
Identity Provider 그룹과 Internal 그룹(예: LDAP)은 권한 부여에 사용됩니다. 권한 부여 유형은 Remote Access VPN Community 와 Access Roles 두 가지입니다.
- Remote Access VPN Community — 사용자에게 원격 접속 VPN 접근을 허용합니다. 자세한 내용은 "User and Client Authentication for Remote Access"를 참고하세요.
- Access Roles(Identity Awareness Software Blade 필요) — 정책 규칙과 사용자 신원에 따라 접근을 허용합니다. 자세한 내용은 R82 Identity Awareness Administration Guide > "Configuring Identity Awareness" 장 > "Creating Access Roles" 절을 참고하세요.
권한 부여 방식은 다음과 같이 적용합니다.
- Remote Access VPN 으로 권한을 부여하려면, 해당 그룹을 Remote Access VPN에 추가합니다.
- Access Roles 로 권한을 부여하려면, 해당 그룹을 Access Control Policy의 Access Role에 추가합니다.
알려진 제한 사항 (Known Limitations)
- 이 기능은 IPsec VPN 으로 VPN 게이트웨이에 접속하는 원격 접속 VPN 클라이언트에서만 동작합니다. SSL VPN 은 지원되지 않습니다.
- 모든 원격 접속 VPN 사용자와 단말 컴퓨터는 인증을 위해 IdP에 구성돼 있어야 합니다. 이는 관리형(managed)·비관리형(non-managed) 단말 모두에 적용됩니다.
- SAML 기반 인증 흐름에서, IdP는 하나 또는 여러 번의 검증 활동을 거친 뒤 SAML 티켓을 발급합니다.
- Gaia Embedded OS를 쓰는 Quantum Spark Appliances 는 지원되지 않습니다.
- SAML 인증은 같은 Login Option 안에서 다른 인증 요소(factor)와 함께 구성할 수 없습니다. 단, Machine Certificate Authentication 옵션은 지원됩니다. 다중 인증(MFA)을 쓰려면 외부 IdP에서 여러 검증 단계를 갖추도록 구성하세요. 검증 활동의 복잡도와 횟수는 IdP 구성에 달려 있습니다.
- Windows·macOS 단말 또는 어플라이언스(관리형·비관리형)에는 Check Point 원격 접속 VPN 클라이언트가 설치돼 있어야 합니다.
- 보안 Rule Base에서는, 원격 접속 SAML 인증으로 받은 신원을 VPN 종단점(termination point)에서만 적용할 수 있습니다.
- CLI에서 Identity Provider가 있는 realm으로 접속하는 것은 지원되지 않습니다.
- ATM용 원격 접속 VPN 클라이언트는 지원되지 않습니다.
- Identity Provider를 사용하는 Secure Domain Logon(SDL) 은 지원되지 않습니다.
- 원격 접속 VPN 연결에는 Identity Tags 가 지원되지 않습니다.
Dynamic Split Tunneling (Updatable Object 활용)
Hub Mode에서는 모든 트래픽이 VPN 터널을 거쳐 게이트웨이로 가므로, Microsoft 365 같은 SaaS 트래픽까지 게이트웨이를 거쳐 부하가 늘 수 있습니다. Dynamic Split Tunneling 은 Hub Mode에서 SaaS 트래픽을 원격 접속 VPN 터널에서 제외 해 게이트웨이 부하를 줄입니다.
동작 순서(Chain of Events):
- 관리자가 원격 접속 VPN 터널에서 제외할 서비스를 구성합니다.
- VPN 게이트웨이가 구성된 서비스의 IP 주소를 인터넷에서 동적으로 가져와 원격 접속 VPN 클라이언트에 전달합니다.
- 원격 접속 VPN 클라이언트가 그 서비스의 트래픽을 VPN 터널에서 제외합니다.
SaaS의 IP는 자주 바뀌므로, Updatable Object로 최신 IP를 받아 정확히 제외하는 것이 핵심입니다.
사전 요구 사항 (Prerequisites)
이 기능에는 다음이 필요합니다.
| 구성 요소 | 요구 버전 |
|---|---|
| Security Management Server | R81.20 이상 |
| Security Gateway | R81.20 이상 |
| Windows OS용 원격 접속 VPN 클라이언트 | E86.20 이상 |
구성 절차 (Configuration)
Hub Mode에서 SaaS 서비스를 원격 접속 VPN 터널에서 제외하려면 다음을 수행합니다.
Step 1 — SmartConsole에서 설정 구성
- (a) 이 게이트웨이 / 클러스터를 관리하는 Security Management Server / Domain Management Server에 SmartConsole로 접속합니다.
- (b) 원격 접속 VPN을 구성합니다. "Getting Started with Remote Access"를 참고하세요.
- (c) Hub Mode 를 구성합니다. "Hub Mode (VPN Routing for Remote Clients)"를 참고하세요.
- (d) 원격 접속 VPN 전용 암호화 도메인(encryption domain) 을 구성합니다. "Advanced VPN Domain Configuration"을 참고하세요.
- (e) 왼쪽 탐색 창에서 Gateways & Servers 를 클릭합니다.
- (f) 게이트웨이 / 클러스터 오브젝트를 엽니다.
- (i) 왼쪽 탐색 트리에서 Network Management > VPN Domain 을 클릭합니다.
- (ii) Advanced 섹션의 Set Specific VPN Domain for Gateway Communities 옆에서 Set... 을 클릭하면 Communities Specific VPN Domain 창이 열립니다.
- (iii) RemoteAccess community 오브젝트를 선택합니다.
- (iv) Set... 을 클릭하면 Set Specific VPN Domain for Community 창이 열립니다.
- (v) User defined 를 클릭합니다.
- (vi) 드롭다운에서 원격 접속 VPN 전용 암호화 도메인을 선택합니다.
- (vii) OK 를 클릭합니다.
- (viii) 이 Group 오브젝트 안에, 이름이 다음으로 시작하는 중첩 Simple Group 오브젝트를 추가합니다.
Step 2 — 원격 접속 VPN 클라이언트에서 필요한 설정 구성
클라이언트에서 기능을 켜려면 다음 중 하나를 수행합니다.
방법 A — 게이트웨이의 $FWDIR/conf/trac_client_1.ttm 파일 편집
- (a) 게이트웨이 / 각 클러스터 멤버의 명령줄에 접속합니다.
- (b) Expert mode로 로그인합니다.
- (c) 현재
trac_client_1.ttm파일을 백업합니다.
cp -v $FWDIR/conf/trac_client_1.ttm{,_BKP}
- (d) 현재
trac_client_1.ttm파일을 편집합니다.
vi $FWDIR/conf/trac_client_1.ttm
- (e) 메인 파라미터
trac_client_1안에 아래처럼 새 파라미터split_tunnel을 추가합니다.
:trac_client_1 (
:split_tunnel (
:gateway (
:default (true)
)
)
:<other_parameters> (
... ...
)
)
)
- (f) 변경을 저장하고 편집기를 종료합니다.
- (g) SmartConsole에서 게이트웨이 / 클러스터 오브젝트에 Access Control Policy 를 설치합니다.
이 기능은 관리자가 게이트웨이와 원격 접속 VPN 터널 사이에 새 연결을 만든 뒤 VPN 클라이언트에서 사용할 수 있게 됩니다.
방법 B — VPN 클라이언트의 trac.defaults 파일 편집 (VPN 클라이언트 설치 폴더 안에 있음)
- (a) VPN 클라이언트 설치 디렉터리로 이동합니다.
| 운영 체제 | 기본 경로 |
|---|---|
| Windows OS 32비트 | %ProgramFiles%\CheckPoint\Endpoint Security\Endpoint Connect\ 또는 %ProgramFiles%\CheckPoint\Endpoint Connect\ |
| Windows OS 64비트 | %ProgramFiles(x86)%\CheckPoint\Endpoint Security\Endpoint Connect\ 또는 %ProgramFiles(x86)%\CheckPoint\Endpoint Connect\ |
| macOS | /Library/Application Support/Checkpoint/Endpoint Security/Endpoint Connect/ |
STRING
true
GW_USER
0
VPN 클라이언트는 게이트웨이로 새 원격 접속 VPN 터널을 만들 때부터 SaaS 서비스를 제외하기 시작합니다.
정리하면, SAML은 클라우드 ID로 인증을 현대화하고, Dynamic Split Tunneling은 SaaS 트래픽을 터널에서 빼 게이트웨이 부하를 줄 이는, 요즘 환경에 맞춘 두 기능입니다.