15 타겟 사이트 패스키 검증 활성화
15.1 목표
Sa2web 리모트 브라우저 환경에서 패스키, WebAuthn, 보안 키 로그인을 사용하는 타겟 사이트의 준비, 작업 흐름, 로컬 테스트 방법, 검증 포인트 설명.
패스키의 핵심 질문은 단순히 로그인 페이지가 열리는지가 아닙니다. 브라우저에 보이는 도메인, 신뢰할 수 있는 HTTPS 상태, 타겟 사이트 인증 상호작용이 모두 WebAuthn 요구사항을 충족해야 합니다.
15.2 전제 조건
패스키 로그인 사용 전 다음 최소한 확인:
| 조건 | 설명 |
|---|---|
| 타겟 사이트 패스키 / WebAuthn / 보안 키 지원 | 로그인 페이지에서 해당 인증 방법 제공 |
| 사용자가 타겟 사이트에서 패스키 바인딩 | 바인딩 안 된 경우 타겟 사이트 계정 보안 설정에서 먼저 추가 |
| 리모트 브라우저 경로 인증 상호작용 지원 | 사용자 브라우저 프롬프트 보고 인증 액션 완료 가능 |
| 접근 도메인 정확함 | 패스키는 브라우저 오리진에 강력하게 바인딩, IP나 임시 도메인으로 임의 대체 불가 |
| HTTPS 신뢰됨 | 브라우저가 페이지 안전하지 않다고 간주하면 WebAuthn 정상 작동 안 될 수 있음 |
공식 문서에 따르면 패스키는 현재 여전히 알파 버전. 일부 사이트에서 로그인 실패 가능. 프로덕션 사용 전 사이트별 검증 필요.
15.3 기본 로그인 흐름
타겟 사이트 구성 후 사용자 다음 흐름 따름:
- 관리자가 사이트 구성에서 URL, 도메인, 로그인 흐름 정확한지 확인.
- 사용자가 Sa2web 프론트엔드 통해 타겟 사이트 진입.
- 타겟 사이트 로그인 페이지에서 사용자 패스키 로그인 선택.
- 사용자 브라우저 프롬프트 따라 인증 완료.
- 로그인 성공 후 리모트 브라우저가 타겟 비즈니스 페이지 진입 확인.
검증 시 페이지 열리는지만 확인하지 말고 타겟 사이트가 실제로 패스키 로그인 방식 인식하는지도 확인.
15.4 도메인이 중요한 이유
패스키는 브라우저에 보이는 도메인, 즉 오리진에 강력하게 바인딩됨. 타겟 사이트 패스키 로그인 테스트 시 서버 IP나 임시 포워딩 주소만으로 사이트 접근하지 마세요.
예를 들어 타겟 사이트가 실제 다음에 바인딩되었다고 가정:
login.example.com
테스트 중 다음 주소 사용 시 실패 유발 가능:
https://192.168.1.105/
https://temp-tunnel.example.net/
https://another-domain.example.com/
올바른 접근은 로컬 브라우저가 타겟 사이트 도메인으로 HTTPS 접근 시작하고 Sa2web이 해당 도메인을 프록시 가능한 비즈니스 도메인으로 인식하도록 하는 것.
15.5 타겟 사이트 패스키 로컬 테스트
로컬 테스트는 프로덕션 사용자 승인 전 경로 검증에 적합. 핵심 목표는 브라우저 주소창의 오리진을 타겟 사이트 도메인과 같게 하고 인증서를 로컬 브라우저가 신뢰하게 만드는 것.
15.5.1 타겟 사이트 도메인 추가
관리자 콘솔 열기:
시스템 설정 > 도메인 관리
도메인 추가 클릭하고 타겟 사이트 도메인 추가. 예:
login.example.com
도메인 관리는 시스템이 처리 허용된 비즈니스 도메인 유지. 도메인 추가 안 된 경우 hosts가 서버 가리켜도 Sa2web 예상대로 처리 안 할 수 있음.
15.5.2 Caddy 루트 인증서 설치 및 신뢰
인트라넷이나 테스트 환경에서 Caddy 내부 인증서 사용하는 경우 로컬 브라우저가 해당 루트 인증서 신뢰해야 함. 그렇지 않으면 HTTPS 신뢰 안 되어 패스키 / WebAuthn 실패 가능.
보통 테스트 컴퓨터에 Caddy 루트 인증서 설치하고 시스템이나 브라우저에서 신뢰. 설치 세부사항은 공식 인트라넷 인증서 설치 문서 참조.
브라우저가 신뢰하는 공개 CA 인증서 가진 공개 프로덕션 도메인 사용하는 경우 보통 루트 인증서 수동 설치 불필요.
15.5.3 로컬 hosts 수정
로컬 컴퓨터 hosts 파일에서 타겟 사이트 도메인을 Sa2web 배포 서버 IP로 지정.
<SERVER_IP> login.example.com
예시:
192.168.1.105 login.example.com
hosts 파일 위치:
| 시스템 | hosts 경로 |
|---|---|
| Windows | C:\Windows\System32\drivers\etc\hosts |
| macOS / Linux | /etc/hosts |
파일 수정 후 브라우저 재시작. 필요시 DNS 캐시 지워 브라우저가 이전 해석 결과 계속 사용 안 하게 함.
15.5.4 타겟 도메인으로 테스트 주소 접근
Sa2web이 생성한 테스트 주소나 비즈니스 시나리오 요구 주소에 타겟 사이트 도메인 사용해 접근:
https://<target-site-domain>/?saas=<...>&_d=<target-site-address>
매개변수 설명:
| 매개변수 | 설명 |
|---|---|
<target-site-domain> |
도메인 관리에서 추가되고 로컬 hosts에서 배포 서버 IP 가리키는 도메인 |
saas |
시스템 생성 SaaS 접근 매개변수 또는 비즈니스 시나리오 요구 사항 |
_d |
타겟 사이트 주소, 보통 열어야 하는 URL |
이 준비 후 브라우저 주소창 오리진이 타겟 사이트 도메인 되고 HTTPS 인증서 로컬에서 신뢰됨. 그때야 타겟 사이트 패스키 로그인 테스트 기본 조건 갖춤.
15.6 결과 검증
테스트 중 이 체크리스트 사용:
- 타겟 사이트 로그인 페이지가 패스키 로그인 방식 인식하고 표시.
- 사용자 브라우저 인증 프롬프트 트리거 가능.
- 사용자 인증 액션 완료 가능.
- 로그인 성공 후 사용자 타겟 비즈니스 페이지 진입.
- 인증 실패 시 타겟 사이트 프롬프트와 리모트 브라우저 로그 문제 해결에 사용 가능.
15.7 일반적인 실패 원인
| 증상 | 가능한 원인 | 방향 |
|---|---|---|
| 로그인 페이지에 패스키 항목 없음 | 타겟 계정 패스키 바인딩 안 됨, 또는 사이트 이 방식 활성화 안 함 | 타겟 사이트 계정 보안 설정에서 먼저 바인딩 또는 활성화 |
| 패스키 클릭 후 아무 반응 없음 | 브라우저 오리진 불일치, 또는 페이지 신뢰할 수 있는 HTTPS 아님 | 도메인, 인증서, 접근 주소 확인 |
| 현재 환경 지원 안 함 보고됨 | 타겟 사이트 더 엄격한 WebAuthn 환경 요구사항 | 타겟 사이트 지원하는 브라우저 구성으로 재테스트 |
| 인증 후 로그인 페이지로 돌아옴 | 타겟 사이트 세션 수립 안 됨, 또는 인증 콜백 인터셉트됨 | 타겟 사이트 프롬프트와 리모트 브라우저 로그 확인 |
| 로컬 테스트 작동하지만 프로덕션 사용자 실패 | 사용자 권한, 그룹, 사이트 구성, 네트워크 다름 | 테스트 사용자와 프로덕션 사용자 간 승인 및 구성 비교 |
15.8 프로덕션 배포 권장사항
패스키는 타겟 사이트 자체 정책, 브라우저 환경, 도메인, 인증서 관련. 사이트별로 점진적 검증:
- 관리자나 테스트 사용자로 로컬 테스트 먼저 완료.
- 일반 테스트 사용자로 Sa2web 프론트엔드 통해 검증.
- 사이트 구성, 도메인 관리, 인증서 안정적임 확인.
- 소수 비즈니스 사용자 그룹 승인.
- 실패 사이트와 실패 브라우저 환경 수집, 호환성 결론 별도 기록.
15.9 수락 체크리스트
공식 문서:
- https://www.sa2web.com/docs/en/appendix/passkey