06Mobile Access 애플리케이션Mobile Access 애플리케이션
Mobile Access의 가치는 결국 사용자가 포털 안에서 어떤 사내 응용을 쓸 수 있느냐 에 있습니다. 이 장은 클라이언트리스로 제공되는 응용의 종류(웹 앱·파일 공유·Citrix·웹메일), 인터넷용 링크로 바꿔 주는 Link Translation, 그리고 한 번 로그인으로 여러 응용을 쓰게 하는 Single Sign-On 을 정리합니다. (스마트폰·태블릿 전용 메일 응용은 스마트폰·태블릿 장에서 따로 다룹니다.)
클라이언트리스 응용을 정의한다는 것
원격 사용자에게 내부망을 여는 것은 곧 외부 위협에 노출시키는 일이라, 연결성과 보안 사이의 균형 이 핵심입니다. 그래서 응용을 정의한다는 것은 곧 어떤 사내 응용을, 어떤 종류의 원격 사용자에게 노출할지를 결정 하는 일입니다. Mobile Access는 웹 애플리케이션·파일 공유·Citrix 서비스·웹메일·native 응용을 제공합니다.
가장 흔한 것이 Web application 으로, 같은 맥락에서 브라우저로 접근하는 URL 묶음(재고·인사 관리 등)입니다. HTML·JavaScript 사이트는 그대로 지원하지만, VBScript·Java·Flash로 임베디드 링크를 다루는 사이트나 기본 브라우저로만 동작하는 사이트는 native application으로 정의해 SSL Network Extender로 처리 해야 합니다. 웹 앱은 특정 유형으로도 지정할 수 있는데, iNotes(IBM Domino Web Access)와 Outlook Web Access(OWA) 가 그것입니다. 이들은 클라이언트 측 캐싱이 필요해 일부 Web Intelligence 보호(XSS·command/SQL injection)가 해제되며, OWA는 /exchange/·/owa/·/public/ 같은 디렉터리가 허용 경로로 설정됩니다.
응용 객체는 SmartConsole의 Object Explorer에서 New > Custom Application/Site > Mobile Application으로 만듭니다. 웹 앱 정의는 이름, 접근을 허용할 위치(호스트·디렉터리·서비스), 포털에 보일 링크, 그리고 Protection Level 로 이뤄집니다. URL·링크·툴팁에는 $$user 매크로를 넣을 수 있어, http://host/$$user처럼 정의하면 사용자 aa에게는 http://host/aa로, bb에게는 http://host/bb로 개인화 됩니다(인증서 인증이면 인증서에서 추출된 이름으로 풀림).
응용마다 Protection Level 로 보안 요건을 더할 수 있습니다 — 기본은 게이트웨이 요건을 그대로 따르지만, 응용에 별도 Protection Level을 묶으면 포털 요건에 더해 그 응용만의 요건까지 충족해야 접근됩니다(Endpoint 준수). 또 브라우저 캐싱 도 여기서 제어합니다 — 공용 PC에서의 정보 노출을 막으려면 모든 콘텐츠 캐싱을 차단 할 수 있는데(단, 그러면 Word·PDF 같은 외부 뷰어용 파일은 못 열 수 있어 로컬 저장이 필요), Hostname Translation을 쓰면 모든 콘텐츠 캐싱 허용이 권장됩니다.
Link Translation — 내부 링크를 인터넷용으로
클라이언트리스 접속의 핵심 기술이 Link Translation 입니다. 사내 웹 서버가 돌려주는 내부 URL을, 인터넷에서 게이트웨이를 거쳐 닿을 수 있는 유효한 링크로 바꿔 줘야 하기 때문입니다. 방식은 세 가지로, Path Translation(신규 설치 기본), URL Translation(추가 구성 없이 지원), Hostname Translation(HT) 입니다. HT를 쓰면 클라이언트 브라우저에 https://<가려진 호스트명>.<Mobile Access FQDN>/path 형태의 난수 같은 호스트명이 보이고, 각 부분은 RFC 1034에 따라 63자로 제한됩니다. HT는 OWA 2013/2016에 최적이지만 '엔드포인트 쿠키 저장'을 켜야 하며, 와일드카드 서버 인증서가 필요합니다(포털).
성능을 위해 Link Translation Domain 을 직접 지정하는 것이 좋습니다 — 번역할 내부 도메인만 목록에 두면, 메일 속 외부 사이트 링크가 깨지지 않고 게이트웨이 부하도 줄 어듭니다(기본은 모든 도메인 번역). 모바일 기기에서는 Check Point Mobile App이 보안 컨테이너에 감싼 wrapped application 의 링크 번역을 클라이언트가 맡으며, 이런 응용은 포털에 보이지 않습니다.
이 밖에 웹 앱에는 효율·보안을 위한 기능이 여럿 있습니다 — 3-way handshake를 줄여 성능을 높이는 Reuse TCP Connections(기본 활성), 표준 HTTP 인증을 못 쓰는 사내 응용에 사용자명·IP를 헤더로 전달하는 CvpnAddHeader, 응용별 HTTP/HTTPS 프록시 지정, 그리고 사전 설치 클라이언트 없이 브라우저로 RDP/VDI를 쓰게 하는 WebSocket(RFC 6455) 지원 등입니다(WebSocket 관련 웹 앱은 Path Translation을 써야 함).
파일 공유·Citrix
File share 는 네트워크 너머의 파일을 열고 읽고 쓰고 지우게 해 주는 응용 으로, 웹 앱과 비슷하게 허용 위치·경로를 정해 만듭니다. 경로에 $$user를 넣어 사용자 홈 디렉터리를 가리키게 할 수 있습니다.
Citrix 는 사내 XenApp 서버로의 클라이언트 연결을 중계 합니다. 클라이언트리스로 Citrix 세션을 열어 주며, 페일오버 시에는 세션이 끊겨 사용자가 다시 연결해야 합니다.
Single Sign-On — 한 번 로그인으로
Single Sign-On(SSO) 은 사용자가 응용마다 다시 자격 증명을 입력하지 않도록, 포털 로그인 자격을 응용에 자동 전달 하는 기능으로, 응용 보안과 사용자 편의를 함께 높입니다. 사용자가 어떤 응용에 처음 자격을 입력하면 Mobile Access가 이를 안전하게 저장해 두었다가, 같은 응용에 다시 접근할 때 대신 채워 줍니다. 다만 일부 조건에서는 SSO가 지원되지 않으니, 적용 전 대상 응용의 동작을 확인하는 것이 좋습니다.
웹 애플리케이션 구성을 마치려면 정의한 응용을 정책 규칙에 넣고 정책을 설치합니다 — Unified Access Policy 또는 Legacy 정책 방식 중 환경에 맞는 쪽을 따르며, 응용별 캐싱·헤더·프록시 같은 세부는 원문 해당 절과 관련 sk(예: 프록시 sk34810, WebSocket sk95311)를 참고합니다.