목차/13. SAML·Dynamic Split Tunneling

13SAML·Dynamic Split TunnelingSAML·Dynamic Split Tunneling

이 장은 현대적 원격 접속의 두 기능 — 클라우드 ID 공급자(IdP)로 인증하는 SAMLSaaS 트래픽을 터널에서 빼내 게이트웨이 부하를 줄이는 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 ServerR82
SmartConsoleR82
Security GatewayCheck 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 구성

  1. SmartConsole 로 Security Management Server / 해당 Domain Management Server에 접속합니다.
  2. 왼쪽 탐색 창에서 Gateways & Servers 를 클릭합니다.
  3. 해당 게이트웨이 오브젝트를 엽니다.
  4. General Properties > Network Security 탭에서 IPsec VPN Software Blade를 선택합니다.
  5. 왼쪽 트리에서 IPsec VPN 을 클릭합니다.
  6. This Security Gateway participates in the following VPN communities 섹션에서 Add 를 누릅니다. Add this Gateway to Community 창이 열립니다.
  7. 해당 Remote Access VPN community 를 선택합니다.
  8. OK 를 누릅니다.
  9. 왼쪽 트리에서 VPN Clients > Remote Access 를 펼친 뒤 Support Visitor Mode 를 선택합니다.
  10. 왼쪽 트리에서 VPN Clients > Office Mode 를 클릭하고 Allow Office Mode 를 선택한 뒤, 알맞은 Office Mode Method 를 고릅니다.
  11. OK 를 누릅니다. 게이트웨이 오브젝트가 닫힙니다.
  12. 게이트웨이 오브젝트를 다시 엽니다.
  13. 왼쪽 트리에서 VPN Clients > SAML Portal Settings 를 클릭합니다.
    • Main URL 필드에 게이트웨이의 FQDN(완전한 도메인 이름) 이 들어 있는지 확인합니다.
    • 그 도메인 이름이 조직에 등록된 DNS 접미사 로 끝나는지 확인합니다. 예: https://MyGateway1.mycompany.com/saml-vpn
    • Accessibility 섹션에서 알맞은 설정을 선택합니다.
  14. OK 를 누릅니다.

Step 2 — Identity Provider 오브젝트 구성

  1. SmartConsole 오른쪽 탐색 창에서 New > More > User/Identity > Identity Provider 를 클릭하면 New Identity Provider 창이 열립니다.
  2. New Identity Provider 창에서 다음을 설정합니다.
    • 위쪽에 알맞은 이름과 설명(comment)을 입력합니다.
    • Gateway 필드에서 SAML 인증을 수행할 게이트웨이를 선택합니다.
    • Service 필드에서 Remote Access VPN 을 선택합니다. 그러면 SmartConsole이 다음 필드를 자동으로 채웁니다.
      • Identifier (Entity ID) — 서비스 공급자(이 구성에서는 게이트웨이)를 고유하게 식별하는 URL.
      • Reply URL — SAML 어설션(assertion)이 전송되는 URL.
  3. 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 간 보안 통신용 인증서.
  1. New Identity Provider 창의 Data received from the SAML Identity Provider 섹션에서 다음 중 하나를 선택합니다.
    • Import the Metadata FileImport 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 오브젝트 구성

  1. 왼쪽 탐색 창에서 Manage & Settings 를 클릭합니다.
  2. 왼쪽 트리에서 Blades 를 클릭합니다.
  3. Mobile Access 섹션에서 Configure portal in SmartDashboard 를 클릭하면 Legacy SmartDashboard가 열립니다.
  4. 왼쪽 아래 창에서 Users 탭을 클릭합니다.
  5. Users 탭의 빈 공간을 오른쪽 클릭하고 New > External User Profile > Match all users 를 선택합니다.
  6. External User Profile 속성을 구성합니다.
    • (a) General Properties 페이지
      • External User Profile name 필드의 기본 이름이 generic* 인지 확인합니다.
      • Expiration Date 필드에 만료 날짜를 입력합니다.
    • (b) Authentication 페이지에서 Authentication Scheme 드롭다운을 Undefined 로 선택합니다.
    • (c) Location, Time, Encryption 페이지에서 알맞은 설정을 구성합니다.
    • (d) OK 를 누릅니다.
  7. 상단 툴바에서 Menu(왼쪽 위 버튼) > File > Update 를 클릭합니다.
  8. Legacy SmartDashboard를 닫습니다.
  9. SmartConsole에서 Access Control Policy 를 설치합니다.

Step 4 — Identity Provider를 인증 방법으로 구성

  1. 왼쪽 탐색 창에서 Gateways & Servers 를 클릭합니다.
  2. 해당 게이트웨이 오브젝트를 엽니다.
  3. 왼쪽 트리에서 VPN Clients > Authentication 을 펼칩니다.
  4. Allow older clients to connect to this gateway 체크박스를 해제 합니다.
  5. Multiple Authentication Clients Settings 섹션에서 새 오브젝트를 추가(Add > New)하거나 기존 오브젝트를 편집(Edit)합니다. 원격 접속 클라이언트는 이 섹션에 표시된 순서대로 인증 방법을 보여 줍니다. Multiple Authentication Clients에 대한 자세한 내용은 "User and Client Authentication for Remote Access"를 참고하세요.
  6. 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 를 누릅니다.

이 속성들이 보이지 않으면, 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만 해당)

  1. Windows용 또는 macOS용 원격 접속 VPN 클라이언트를 설치합니다. 자세한 내용은 sk172909 를 참고하세요.
  2. (선택) 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
  • (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
  • (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 그룹을 구성하려면:

  1. IdP의 인터페이스에서 SAML 속성을 구성합니다.
    • (a) group_attr 라는 선택적 속성을 정의합니다.
    • (b) IdP의 요구 사항에 맞게 속성을 구성합니다.
  2. SmartConsole에서 다음 이름 규칙으로 내부 User Group 오브젝트를 만듭니다(대소문자 구분, 공백 미지원).
    

예를 들어 IdP 인터페이스의 역할 이름이 my_group 이면, SmartConsole에는 EXT_ID_my_group 이라는 내부 User Group 오브젝트를 만듭니다.

Identity Provider 그룹과 Internal 그룹(예: LDAP)은 권한 부여에 사용됩니다. 권한 부여 유형은 Remote Access VPN CommunityAccess 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):

  1. 관리자가 원격 접속 VPN 터널에서 제외할 서비스를 구성합니다.
  2. VPN 게이트웨이가 구성된 서비스의 IP 주소를 인터넷에서 동적으로 가져와 원격 접속 VPN 클라이언트에 전달합니다.
  3. 원격 접속 VPN 클라이언트가 그 서비스의 트래픽을 VPN 터널에서 제외합니다.

SaaS의 IP는 자주 바뀌므로, Updatable Object로 최신 IP를 받아 정확히 제외하는 것이 핵심입니다.

사전 요구 사항 (Prerequisites)

이 기능에는 다음이 필요합니다.

구성 요소요구 버전
Security Management ServerR81.20 이상
Security GatewayR81.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 트래픽을 터널에서 빼 게이트웨이 부하를 줄 이는, 요즘 환경에 맞춘 두 기능입니다.