12 사이트 및 내부 사이트 구성
12.1 목표
사이트 및 내부 사이트 구성 페이지의 일반적인 옵션을 이해하고, 브라우저 에뮬레이션, 프록시, 시간대, WebRTC, URL 암호화, 워터마크, 민감한 콘텐츠 숨기기, URL 차단, 페이지 제어 숨기기/삭제, 스크립트 구성을 언제 활성화해야 하는지 알아봅니다.
이 장은 관리자를 위한 것입니다. 구성 진입점은 보통 사이트 목록 또는 내부 사이트 목록에 있습니다: 대상 사이트를 찾아 구성 버튼을 클릭하세요.
사이트 관리 > 사이트 목록 > 구성
사이트 관리 > 내부 사이트 목록 > 구성
사이트 구성과 내부 사이트 구성은 유사한 핵심 기능을 제공합니다. 내부 사이트 구성은 보통 ERP, CRM, 주문 시스템, 데이터 백엔드 및 기타 엔터프라이즈 인트라넷 시스템에 사용됩니다. 사이트 구성은 보통 SaaS 사이트, 외부 비즈니스 사이트, 또는 통합 제어가 필요한 웹 진입점에 사용됩니다.
이 장은 접근 동작 및 보안 정책 구성을 다루며, 사이트 추가의 기본 행위는 다루지 않습니다. 기본 내부 사이트 흐름은 6장을 참조하세요. 권한 할당은 7장을 참조하세요.
12.2 구성 객체 차이점
Sa2web에서 혼동하기 쉬운 구성 객체는 세 가지 주요 범주로 나뉩니다:
| 구성 객체 | 진입점 | 범위 |
|---|---|---|
| 브라우저 인스턴스 구성 | 브라우저 관리 > 브라우저 목록 > 구성 | 브라우저 인스턴스의 커널, 브랜드, 시스템, 시작 매개변수, 캐시, 하드웨어 관련 동작에 영향 |
| 사이트 구성 | 사이트 관리 > 사이트 목록 > 구성 | 사용자가 SaaS 또는 외부 사이트에 접근할 때 접근 동작에 영향 |
| 내부 사이트 구성 | 사이트 관리 > 내부 사이트 목록 > 구성 | 사용자가 내부 시스템에 접근할 때 접근 동작에 영향 |
이해를 돕는 간단한 방법:
- 브라우저 인스턴스 구성은 어떤 브라우저 환경이 페이지를 실행할지 결정합니다.
- 사이트 및 내부 사이트 구성은 해당 사이트에 대한 접근을 어떻게 제어할지 결정합니다.
- 그룹 권한은 어떤 사용자가 이 진입점을 보고 사용할 수 있는지 결정합니다.
12.3 브라우저 인스턴스 구성
브라우저 인스턴스 구성은 주로 브라우저 목록의 구성 페이지에서 나옵니다. 특정 URL을 위한 것이 아니라 특정 리모트 브라우저 인스턴스에 적용됩니다.
| 설정 | 목적 | 권장 사항 |
|---|---|---|
| 커널 버전 | 실제로 실행되는 크로미엄 커널 선택 | 내장된 검증된 버전 선호 |
| 운영 체제 | 브라우저 환경이 제시하는 시스템 유형 설정 | 대상 사이트의 위험 제어 전략과 일관되게 유지 |
| 브랜드 | 크롬, 엣지, 오페라, 비발디 및 기타 브라우저 브랜드 | 보통 크롬 또는 비즈니스에서 요구하는 브랜드 선택 |
| 브랜드 버전 | 해당 브랜드 버전 선택 | 커널 버전 및 대상 사이트 호환성과 일치 |
| 모바일 모델 | 모바일 기기 에뮬레이트 | 대상 사이트가 모바일 레이아웃 필요할 때만 활성화 |
| 시간대 | 브라우저 환경 시간대 설정 | 비즈니스 계정의 지역과 일치 |
고급 설정으로 시작 매개변수와 크롬 런타임 설정도 조정 가능.
12.3.1 시작 매개변수
시작 매개변수는 브라우저 시작 시 사용되는 매개변수 집합에 기록됩니다. 일반적인 기본값 포함:
| 매개변수 | 목적 |
|---|---|
disable-gpu |
GPU 비활성화, 서버에서 호환성 폴백으로 유용 |
no-sandbox |
컨테이너 환경에서 일반적인 크로미엄 런타임 매개변수 |
ignore-certificate-errors |
인증서 오류 무시, 테스트 또는 자체 서명 인증서 환경에 적합 |
lang |
브라우저 언어 지정, 예: en-US |
autoplay-policy |
미디어 자동 재생 정책 제어 |
시작 매개변수는 브라우저 안정성 및 보안 경계에 영향. 대상 사이트나 런타임 환경이 명확히 필요하지 않는 한, 기본 매개변수를 무심코 제거하거나 낯선 매개변수 추가하지 마세요.
12.3.2 크롬 런타임 설정
| 설정 | 목적 |
|---|---|
| 임시 디렉토리 | 브라우저 런타임 임시 파일 위치 |
| 캐시 디렉토리 | 브라우저 캐시 파일 위치 |
| 최대 이미지 크기 | 이미지 캡처 또는 전송 최대 크기 제어 |
| 하드웨어 번호 | 브라우저 환경을 구분하는 하드웨어 식별자; 숫자만 |
| 하드웨어 가속 | 하드웨어 가속 활성화 여부 |
| 시작 시 사용자 데이터 지우기 | 브라우저 시작할 때마다 브라우저 사용자 데이터 지우기 |
대상 사이트가 로그인 상태나 로컬 캐시에 강하게 의존하는 경우, 시작 시 사용자 데이터 지우기를 가볍게 활성화하지 마세요. 일회성 세션과 깨끗한 환경을 더 중시한다면 활성화 가능.
12.4 기본 설정
사이트 및 내부 사이트 구성 페이지의 기본 설정은 접근 시 브라우저 표현, 보안 워터마크, 사용자 가시 정보 제어.
| 설정 | 목적 | 일반적인 시나리오 |
|---|---|---|
| 에뮬레이터 활성화 | 브라우저 브랜드 또는 모바일 기기 에뮬레이션 활성화 | 대상 사이트가 브라우저 또는 기기 유형별로 다른 페이지 표시 |
| 브라우저 브랜드 에뮬레이트 | 크롬, 엣지, 오페라, 비발디 에뮬레이트 | 사이트 호환성 또는 비즈니스 요구사항이 고정 브라우저 브랜드 필요 |
| 모바일 기기 모델 | 전화 모델 에뮬레이트 | 모바일 관리 포털, H5 페이지, 모바일 전용 기능 |
| 계정 이름 숨기기 | 프론트엔드에서 계정 이름 노출 방지 | 다중 계정 공유, 계약자 접근, 고객 지원 지원 작업 |
| URL 암호화 | 실제 오리진 URL 직접 표시 방지 | 내부 시스템, 공급업체 포털, 민감한 SaaS 또는 외부 사이트 |
| 가시 워터마크 | 페이지 상의 가시 워터마크 | 방문자 알림 및 추적 가능성 |
| 비가시 워터마크 | 숨겨진 워터마크 | 스크린샷 확산 후 추적 가능성 |
| 복사 비활성화 | 페이지 콘텐츠 복사 제한 | 고객 정보, 주문 데이터, 계약 내용 |
| 인쇄 비활성화 | 인쇄 제한 | 종이 또는 PDF로 대량 내보내기 방지 |
| 편집 비활성화 | 편집 작업 제한 | 읽기 전용 검토 및 감사 접근 |
최소 필요 원칙에 따라 보안 설정 활성화. 예를 들어 실제 주소 노출만 방지하려면 URL 암호화 먼저 활성화. 스크린샷 공유도 우려되면 워터마크 추가. 콘텐츠 자체가 민감하면 복사, 인쇄, 편집 비활성화 고려.
12.5 프록시 설정
프록시 설정은 대상 사이트 접근 시 트래픽이 나가는 곳 결정.
프록시 활성화 후 다음에서 선택 가능:
| 프록시 모드 | 설명 |
|---|---|
direct |
직접 연결 |
auto_detect |
프록시 자동 감지 |
pac_script |
PAC 스크립트 사용 |
fixed_servers |
고정 프록시 서버 사용 |
system |
시스템 프록시 사용 |
고정 프록시 서버 형식 보통:
http://host:port
https://host:port
socks5://host:port
다음도 구성 가능:
| 설정 | 설명 |
|---|---|
| PAC 스크립트 URL | pac_script 모드에서 사용 |
| 프록시 바이패스 목록 | 예: <local>,<loopback>,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8 |
| 프록시 사용자 이름 | 프록시가 인증 필요할 때 입력 |
| 프록시 비밀번호 | 프록시가 인증 필요할 때 입력 |
내부 사이트는 보통 공용 인터넷 프록시 불필요; 브라우저 노드에서 인트라넷 시스템까지 라우트 도달성에 더 의존. 외부 SaaS 사이트는 특정 이그레스 IP 필요 시 고정 프록시 필요할 수 있음.
12.6 시간대 설정
시간대는 대상 사이트가 보는 브라우저 시간 환경에 영향, 일부 사이트에서 시간 표시 및 기본 비즈니스 데이터 범위에도 영향 가능.
권장사항:
- 프록시 사용 안 하면 기업 소재지 시간대 사용.
- 프록시 사용하면 프록시 IP 지역 시간대 사용.
12.7 WebRTC 설정
사이트 구성에는 두 가지 WebRTC 관련 옵션 포함:
| 설정 | 목적 |
|---|---|
| 페이지에서 WebRTC 통신 비활성화 | 페이지가 직접 WebRTC 통신 사용하는 것 차단 |
| WebRTC 주소 화이트리스트 | WebRTC 비활성화 시 특정 주소 예외 허용 |
| WebRTC 활성화 | Sa2web 표시 또는 통신 관련 기능 제어하는 고급 설정 |
대상 사이트가 오디오/비디오, 실시간 통신, 브라우저 WebRTC 기능 필요하지 않으면 페이지 WebRTC 비활성화로 실제 네트워크 환경 노출 감소. 대상 사이트 자체가 WebRTC에 의존하는 경우(비디오 회의, 온라인 고객 서비스, 실시간 오디오/비디오 백엔드 등), WebRTC 비활성화하지 마세요. 대신 격리 네트워크 가진 브라우저 인스턴스 내부에서 대상 사이트 사용.
12.8 민감한 콘텐츠 및 URL 제어
사이트 및 내부 사이트 구성은 세 가지 직접 제어 기능 제공:
| 구성 | 목적 | 예시 |
|---|---|---|
| 민감한 단어 숨기기 | 페이지에 나타나는 민감한 텍스트 숨기기 | 고객 전화번호, 토큰, 공급업체 이름 |
| URL 차단 목록 | 일치하는 URL 접근 차단 | 내보내기 API, 위험한 관리 경로 |
| 서드파티 사이트 | 접근 중 리다이렉트될 수 있는 서드파티 주소 허용 또는 연관 | 로그인 페이지, SSO, 결제, 티켓팅 도메인 |
민감한 단어 숨기기는 여러 줄 추가 지원, 줄당 하나의 민감한 단어. URL 차단은 내보내기, 다운로드, 대량 삭제, 시스템 설정 등 고위험 경로부터 시작해야 함.
민감한 단어 숨기기와 컨트롤 숨기기는 페이지 레이어 제어; 백엔드 권한 대체하지 않음. 고위험 작업은 대상 시스템 자체에서 비활성화하거나 승인 게이트 설정해야 함.
12.9 고급 접근 제어
고급 구성은 윈도우, 다운로드, 붙여넣기 동작, 화면 전송, URL 변경 이벤트 제어.
| 설정 | 기본 경향 | 설명 |
|---|---|---|
| 새 창 프롬프트 | 활성화 | 대상 사이트가 새 창 열 때 사용자에게 프롬프트 |
| 새 창 타임아웃 | 20000 ms |
새 창 생성 또는 응답 대기 시간 |
| 최대 창 개수 | 3 |
동시에 열리는 창 수 제한 |
| 다운로드 제한 | 활성화 | 리모트 페이지에서 파일 다운로드 제어 |
| 최대 업로드 크기 | 2147483648 바이트 |
업로드 파일 크기 제어 |
| 최대 붙여넣기 텍스트 길이 | 2097152 |
한 작업에서 붙여넣기 텍스트 크기 제어 |
| 최대 붙여넣기 파일 길이 | 20971520 |
붙여넣기 파일 크기 제어 |
| 캔버스 전송 방식 | richcolor |
화면 전송 모드 제어 |
| 캔버스 간격 | 0 ms |
비WebRTC 전송 모드 리프레시 간격 |
| 최대 캔버스 너비/높이 | 전송 모드에 의존 | 화면 전송 크기 제한 |
| URL 변경 이벤트 | 활성화 | 스크립트나 정책 위한 페이지 URL 변경 감시 |
민감한 내부 시스템에서는 먼저 다운로드 제한하고 최대 창 수 제어, 그 후 비즈니스 필요에 따라 업로드와 붙여넣기 크기 완화. 그래픽 중심 시스템에서는 캔버스 전송 방식과 이미지 품질 테스트에 집중.
12.10 요청 및 응답 헤더
요청 헤더와 응답 헤더 구성은 스크립트가 읽거나 처리해야 할 헤더 이름 지정.
일반적 용도:
- 요청 헤더로 테넌트, 환경, 계정 식별.
- 응답 헤더로 인터페이스 반환 유형 결정.
- 페이지 스크립트나 인터페이스 스크립트에 컨텍스트 제공.
- 다른 게이트웨이, SSO 시스템, CDN 뒤의 대상 사이트 동작 디버그.
여기는 헤더 이름만 입력, 완전한 요청/응답 내용 아님.
12.11 페이지 삭제 및 페이지 숨기기 제어
페이지 제어 규칙은 두 유형으로 구분:
| 유형 | 효과 |
|---|---|
| 페이지 삭제 제어 | 일치하는 URL과 XPath/CSS 셀렉터에 따라 페이지에서 요소 제거 |
| 페이지 숨기기 제어 | 일치하는 URL과 XPath/CSS 셀렉터에 따라 요소 숨기기 |
각 규칙 포함:
| 필드 | 설명 |
|---|---|
| 일치 URL | *는 모든 페이지 의미. 일치 URL 규칙은 섹션 12.14 참조 |
| 셀렉터 | XPath/CSS 셀렉터. 여러 개 추가 가능. 셀렉터 규칙은 섹션 12.15 참조 |
일반적 용도:
- 내보내기, 다운로드, 삭제, 시스템 설정 같은 버튼 제거.
- 가격, 비용, 고객 프라이버시 필드 숨기기.
- 특정 URL 페이지의 고위험 영역 숨기기.
- 계약자, 임시 직원, 협업 사용자 위한 단순화된 인터페이스 제공.
셀렉터는 대상 사이트 변경 후 무효화될 수 있음. 대상 시스템 업그레이드마다 이 규칙들 재테스트.
12.12 스크립트 구성
스크립트 구성은 페이지 동작, 복잡한 로그인, 인터페이스 응답, 페이지 향상 처리에 적합.
각 스크립트 포함:
| 필드 | 설명 |
|---|---|
| 스크립트 이름 | 관리자가 스크립트 식별 도움 |
| 일치 URL | 스크립트 효과 범위 URL. 섹션 12.14 참조 |
| 페이지 스크립트 | 페이지 환경에서 실행. DOM 조작, 버튼 처리, 폼 지원, 페이지 향상에 적합 |
| SSE 스크립트 | 서버 전송 이벤트 스트림 처리 |
| 셀렉터 | 페이지 스크립트는 셀렉터 결합해 요소 정밀 위치. 섹션 12.15 참조 |
| 자바스크립트 코드 | 실행할 스크립트 내용. 스크립트 작성은 장 13 참조 |
프로덕션 그룹에 승인하기 전 테스트 사이트나 테스트 계정에서 스크립트 테스트. 스크립트 오류는 페이지 사용 불가 만들 수 있음. 각 스크립트는 명확한 이름과 가장 좁은 실용적 일치 범위 가져야 함.
12.13 권장 구성 조합
다양한 시나리오에 다음 조합부터 시작:
| 시나리오 | 권장 구성 |
|---|---|
| 내부 ERP/CRM 읽기 전용 접근 | URL 암호화, 가시 워터마크, 다운로드 제한, 복사 비활성화, 민감한 단어 숨기기 |
| 계약자 고객 백엔드 접근 | 계정 이름 숨기기, URL 암호화, 가시 워터마크, 비가시 워터마크, 페이지 삭제 제어, 녹화 및 리플레이 |
| SaaS 다중 계정 사용 | 고정 프록시, 시간대, 브라우저 브랜드, 모바일 기기 모델, 계정 이름 숨기기 |
| 고위험 관리 백엔드 | URL 차단 목록, 페이지 삭제 제어, 다운로드 제한, 스크립트 감사 |
| AI / MCP 접근 | URL 암호화, 민감한 단어 숨기기, 고위험 URL 차단, 페이지 숨기기 제어, 최소 그룹 승인 |
12.14 일치 URL 규칙
값이 *면 모든 URL 일치. 기타 규칙:
regex:로 시작하면 이후 내용을 정규식으로 사용해 URL 일치. 예:regex:https\:\/\/www.sa2web.com\/.+extract:로 시작하면 URL 정확한 동등성으로 일치. 예:extract:https://www.sa2web.comscript:로 시작하면 자바스크립트 표현식 사용해 URL 일치. 스크립트에url변수 있고, 스크립트 결과true면 일치. 예:script:url.endsWith('pricing')- 위 조건 중 어느 것도 적용 안 되면 URL 접두사로 일치. 예:
https://www.sa2web.com/my
12.15 XPath/CSS 셀렉터
이 튜토리얼에서 언급된 XPath/CSS 셀렉터는 전달 파라미터 줄이기 위해 설계된 통합 셀렉터 형식. 일반 셀렉터를 다음 규칙으로 확장:
형식:
(xpath:)?<xpath/css selector><:p<number>>?
xpath:로 시작하면 XPath 규칙. 아니면 CSS 셀렉터. 선택적 :p<number> 부분은 대상 요소에서 그 수만큼 조상 레벨로 위로 검색 의미.
예시:
// xpath 셀렉터
xpath://body[contains(text(),sa2web)]:p1
// css 셀렉터
.article
.article:p1
12.16 구성 흐름 권장
- 대상 사이트가 정상적으로 열리는지 확인.
- 프록시, 시간대, 브라우저 에뮬레이션 같은 접근 환경 설정 구성.
- URL 암호화, 워터마크, 계정 이름 숨기기 같은 표시 정책 활성화.
- 민감한 단어, URL 차단, 페이지 제어, 스크립트 추가.
- 테스트 사용자나 테스트 Agent로 프론트엔드 통해 검증.
- 확인 후 프로덕션 그룹 승인.