Cloudflare One 이해하기 시리즈 (8편 중 7편)
이전 글까지 Gateway가 트래픽을 허용하거나 차단하는 방법을 살펴봤습니다. 하지만 현실에는 “차단하기엔 업무에 필요하고, 그대로 허용하기엔 위험한” 웹사이트가 많습니다. 분류되지 않은 신규 도메인, 광고가 많은 뉴스 사이트, 협력사가 비관리 디바이스로 접속하는 사내 애플리케이션이 대표적입니다. 이런 경우에 쓰는 세 번째 선택지가 Browser Isolation입니다.
Browser Isolation이란
Cloudflare Browser Isolation (RBI, Remote Browser Isolation)은 JavaScript나 플러그인 같은 웹 페이지의 실행 가능한 콘텐츠를 사용자 디바이스가 아닌 Cloudflare의 격리된 원격 브라우저에서 실행합니다. 이를 통해 다음과 같은 보호를 제공합니다.
- 제로데이 공격과 악성코드 방어: 악성 코드가 원격 브라우저에서 실행되므로, 패치가 없는 브라우저 취약점을 노리는 공격도 사용자 디바이스에 도달하지 않습니다.
- 피싱 방어: 위험한 웹사이트에서 키보드 입력을 막아 자격 증명 입력을 차단할 수 있습니다.
- 데이터 유출 방지: 민감한 웹 애플리케이션에서 복사, 붙여넣기, 다운로드, 인쇄 등을 제한할 수 있습니다.
Browser Isolation은 HTTP·HTTPS 트래픽을 검사하는 Gateway (SWG)와 사설 애플리케이션 접근을 제어하는 Access (ZTNA)를 보완하는 제품입니다. Zero Trust Pay-as-you-go와 Enterprise 요금제의 애드온으로 제공됩니다.
격리 구조
User's local browser Cloudflare data center Website
+--------------------+ +---------------------------+ +---------+
| Renders only safe |<-- draw -----| Remote browser |<-- web -->| HTML, |
| draw commands | commands | - executes HTML/JS | traffic | JS, |
| (no site code) |---- input -->| - Gateway HTTP/DNS rules | | files |
+--------------------+ +---------------------------+ +---------+
- 사용자가 격리 대상 웹사이트에 접속하면, 사용자 브라우저에는 HTML 호환 원격 브라우저 클라이언트가 투명하게 제공됩니다.
- 실제 웹 페이지의 HTML, JavaScript, 파일은 Cloudflare 데이터센터의 원격 브라우저가 가져와 실행합니다.
- 사용자 디바이스에는 웹사이트의 코드가 아니라 안전한 그리기 명령 (safe draw commands)만 전달되어 화면이 표시됩니다.
- 사용자의 마우스·키보드 입력은 원격 브라우저로 전달되며, 정책에 따라 일부 입력은 제한할 수 있습니다.
사용자는 평소 쓰던 브라우저를 그대로 사용하며, 열려 있는 모든 탭과 창이 자동으로 격리됩니다. 격리 브라우저를 닫으면 원격 세션은 자동으로 삭제됩니다. 전체 화면을 픽셀 영상으로 스트리밍하는 방식에 비해 전송량이 적고, 웹 페이지 코드를 정리해 로컬에서 다시 실행하는 방식과 달리 사이트 코드가 디바이스에 전달되지 않는다는 점이 특징입니다.
격리된 웹사이트 역시 Gateway를 거치므로, 원격 브라우저의 트래픽에도 Gateway의 HTTP·DNS 정책이 적용됩니다. 예를 들어 example.com을 격리하면서 example.com/subpage를 차단하면, 원격 브라우저 안에서도 해당 하위 페이지는 차단됩니다. 또한 In-line 방식은 HTTP 정책의 Isolate Action으로 동작하므로, 6편에서 설명한 TLS Decryption과 루트 인증서 배포가 전제되어야 합니다 (Clientless 방식은 아래에서 설명하는 것처럼 예외).
적용 방식: In-line과 Clientless
Browser Isolation은 Gateway HTTP 정책의 Isolate Action으로 동작하며, Isolate 정책을 만들기 전까지는 어떤 트래픽도 격리되지 않습니다. 트래픽이 들어오는 방식에 따라 다음과 같이 나뉩니다.
| 연결 방식 | 모드 | 사용자 ID 기반 정책 | 설명 |
|---|---|---|---|
| Cloudflare One Client (Traffic and DNS, Traffic only) | In-line | O | Client가 프록시한 트래픽에 Isolate 정책 적용 |
| Access 애플리케이션 | In-line | O | Access로 보호하는 애플리케이션을 원격 브라우저로 렌더링 |
| Proxy endpoint (authorization) | In-line | O | PAC 파일로 보낸 트래픽에 사용자 인증 후 적용 |
| Proxy endpoint (source IP) | In-line | X | PAC 파일로 보낸 트래픽에 출발지 IP 기준으로 적용 |
| Cloudflare WAN (GRE/IPsec) | In-line | X | 사이트 트래픽에 사용자 정보 없이 적용 |
| Clientless Web Isolation | 접두사 URL (Prefixed URL) | O (Access 인증) | https://<team-name>.cloudflareaccess.com/browser/<URL>로 접속 |
- In-line 방식은 사용자가 평소처럼 일반 URL로 접속하면 Gateway가 트래픽을 검사하면서 격리 여부를 결정합니다. Client 설치나 PAC 파일 설정 같은 디바이스·네트워크 구성이 필요합니다.
- 사용자 ID가 없는 On-ramp (source IP 방식의 Proxy endpoint, Cloudflare WAN)는 ID 기반 조건을 쓸 수 없으며, 설정에서 사용자 ID를 알 수 없는 HTTP 트래픽의 격리 허용 옵션을 켜야 합니다.
Clientless Web Isolation
Clientless Web Isolation은 Client를 설치할 수 없는 비관리 디바이스 (협력사 노트북, 개인 스마트폰 등)에 격리 브라우징을 제공합니다.
- 사용자는
https://<team-name>.cloudflareaccess.com/browser/https://www.example.com/처럼 접두사 URL로 접속하고, Access 정책으로 인증·인가를 받습니다. - Clientless로 접속한 트래픽은 Do Not Inspect 정책에 일치하더라도 모두 격리됩니다. Gateway DNS 정책과 Resolver 정책은 디바이스 구성과 관계없이 항상 적용됩니다.
- TLS Decryption 없이도 동작하지만, 이 트래픽에 HTTP 정책을 적용하려면 TLS Decryption이 필요합니다.
- Cloudflare Tunnel로 연결한 내부 웹 서버에도
.../browser/http://192.168.2.1처럼 접근할 수 있습니다. 단, Gateway HTTP 정책으로 막지 않으면 원격 브라우저에 접근 가능한 모든 사용자가 Tunnel 애플리케이션에 접근할 수 있으므로 반드시 허용 범위를 정책으로 제한해야 합니다. - 인증 이벤트는 Access 인증 로그에, 원격 브라우저의 HTTP 요청과 DNS 쿼리는 Gateway 활동 로그에 기록됩니다.
Isolate 정책 설정
Isolate 정책은 일반 HTTP 정책과 같은 선택자로 대상을 지정합니다.
| 정책 | 선택자 | Action |
|---|---|---|
| 보안 위협 사이트 격리 | Security Categories in All security risks | Isolate |
| 신규 등록 도메인 등 고위험 콘텐츠 격리 | Content Categories in Security Risks | Isolate |
| 광고 악용 (malvertising) 대상이 되기 쉬운 뉴스·미디어 격리 | Content Categories in News and Media | Isolate |
| 특정 도메인은 격리 제외 | Host in example.com | Do Not Isolate |
설계 시 다음 사항을 고려해야 합니다.
- 웹 페이지 요청에만 적용: Isolate는
Accept: text/html*헤더를 포함한 요청 (웹 페이지 요청)에 적용되므로, 같은 호스트의 API 트래픽과 공존할 수 있습니다. - SSO 연동 사이트는 IdP도 함께 격리: 격리되지 않은 브라우징의 쿠키와 세션은 원격 브라우저로 전달되지 않습니다. 서드파티 쿠키로 SSO를 구현한 사이트라면, 로그인에 사용하는 IdP URL도 함께 격리해야 로그인이 정상 동작합니다.
- 평가 순서: HTTP 정책은 Do Not Inspect → Isolate → Allow·Block 순서로 평가됩니다. Do Not Inspect로 제외된 트래픽은 격리할 수 없고, Allow·Block 정책은 격리 여부와 관계없이 적용됩니다.
격리 세션의 사용자 동작 제어
Isolate Action을 선택하면 원격 브라우저에서 사용자가 할 수 있는 동작을 제한하는 옵션을 설정할 수 있습니다.
| 제어 항목 | 선택지 | 활용 예 |
|---|---|---|
| 복사 (원격 → 로컬) | 허용 (기본값) / 격리 브라우저 안에서만 허용 / 차단 | 사내 애플리케이션 데이터를 로컬로 복사하지 못하게 함 |
| 붙여넣기 (로컬 → 원격) | 허용 (기본값) / 격리 브라우저 안에서만 허용 / 차단 | 생성형 AI 사이트에 사내 문서 붙여넣기 방지 |
| 파일 다운로드 | 허용 (기본값) / 차단 / 원격 브라우저에서 보기 | 파일은 열람만 하고 디바이스에 저장하지 못하게 함 |
| 파일 업로드 | 허용 (기본값) / 차단 | 미승인 사이트로 파일 업로드 방지 |
| 키보드 입력 | 허용 (기본값) / 차단 | 의심 사이트에서 자격 증명 입력 방지 (마우스 탐색은 가능) |
| 인쇄 | 허용 (기본값) / 차단 | 민감 화면 인쇄 방지 |
복사와 붙여넣기를 모두 “격리 브라우저 안에서만 허용”으로 설정하면, 격리된 웹사이트끼리만 복사·붙여넣기가 가능합니다. 다만 다운로드·업로드 제어는 로컬 디바이스와의 파일 이동을 막는 것이므로, 원격 브라우저 내부로의 파일 다운로드나 서드파티 클라우드 파일 관리자를 통한 업로드까지 막으려면 HTTP 정책의 MIME 유형 조건을 함께 사용해야 합니다.
대표 적용 시나리오
| 시나리오 | 적용 방식 | 구성 예시 |
|---|---|---|
| 분류되지 않은 사이트, 신규 등록 도메인 | In-line (Client) | 보안 위험·고위험 콘텐츠 카테고리를 차단 대신 Isolate. 업무 차질 없이 위험을 낮춤 |
| 피싱 의심 링크 | In-line (Client) | 의심 카테고리를 Isolate하고 키보드 입력 차단으로 자격 증명 탈취 방지 |
| 협력사·BYOD의 사내 웹 애플리케이션 접근 | Clientless 또는 Access 애플리케이션 격리 | Access 인증 후 원격 브라우저로만 접근, 다운로드·복사·인쇄 차단 |
| 민감 SaaS 데이터 유출 방지 | In-line (Client) | CRM·HR 시스템을 Isolate하고 비관리 디바이스 사용자에게는 다운로드·복사 차단 |
| 생성형 AI 사용 통제 | In-line (Client) | 허용된 AI 서비스만 Isolate로 접근을 허용하고, 로컬에서 붙여넣기와 파일 업로드를 차단 |
| 지점 (Branch) 네트워크 전체의 고위험 사이트 격리 | In-line (WAN) | 사용자 정보 없이 카테고리 기반 Isolate |
이 외에도 Cloudflare Email security의 링크 격리처럼 이메일 속 의심 링크를 원격 브라우저로 여는 방식도 있습니다.
도입 시 고려 사항
- 애드온 라이선스: Browser Isolation은 별도 애드온이므로, 전체 트래픽이 아닌 위험도가 높은 트래픽부터 격리 대상을 정하는 것이 일반적입니다.
- 사용성 영향: 일부 웹사이트 기능 (예: WebGL을 많이 쓰는 페이지)은 원격 브라우저에서 다르게 동작할 수 있으므로, 파일럿 그룹으로 먼저 검증합니다.
- 격리 여부 확인 방법: 격리된 페이지는 주소창 자물쇠에서 Cloudflare 루트 CA가 보이고, 마우스 오른쪽 클릭 메뉴가 단순화됩니다. 사용자 문의 대응 시 참고할 수 있습니다.
- Access의 브라우저 렌더링과 구분: SSH, RDP, VNC를 브라우저에서 사용하는 Access의 Browser Rendering은 원격 인프라 접속 기능이며, 일반 웹 콘텐츠를 격리하는 Browser Isolation과는 다른 기능입니다.
마치며
Browser Isolation은 허용과 차단 사이의 세 번째 선택지로, 웹 콘텐츠를 원격 브라우저에서 실행하고 안전한 그리기 명령만 디바이스로 전달해 제로데이·피싱 위협으로부터 디바이스를 격리합니다. Gateway HTTP 정책의 Isolate Action으로 적용하며, Client·Access·PAC·WAN을 통한 In-line 방식과 비관리 디바이스용 Clientless 방식을 목적에 맞게 선택하고, 복사·다운로드·키보드 입력 같은 동작 제어로 데이터 유출까지 막을 수 있습니다.
다음 글에서는 시리즈의 마지막으로 DLP, Data Classification, CASB의 역할과 차이를 정리하고, 요구 사항별로 Gateway, Browser Isolation, DLP, CASB 중 무엇을 선택해야 하는지 종합합니다.