InfoGrab DocsInfoGrab Docs

애플리케이션 접근 문제 해결

Teleport로 보호되는 애플리케이션 접근 시 발생하는 일반적인 문제와 해결 방법을 설명합니다.

이 페이지에서는 Teleport로 애플리케이션 접근을 관리할 때 발생할 수 있는 일반적인 문제와 이를 우회하거나 해결하는 방법을 설명합니다. 애플리케이션에 접근할 수 없음 # 애플리케이션 접근을 막는 가장 흔한 문제는 CSRF(Cross-Site Request Forgery) 또는 CORS(Cross-Origin Resource Sharing) 오류와 관련이 있습니다. CSRF(Cross-Site Request Forgery)는 인증된 사용자의 아이덴티티를 이용해 사용자가 모르는 사이에 작업을 수행하는 공격 유형입니다. 예를 들어 CSRF 공격은 사용자의 자격 증명으로 위조된 요청을 전송하여 자금을 이체하거나, 비밀번호를 변경하거나, 구매를 진행할 수 있습니다. 브라우저와 애플리케이션에는 이러한 유형의 공격을 방지하기 위한 검사 기능이 있습니다. 그러나 이 검사가 특정 조건에서는 정상적인 요청까지 차단할 수도 있습니다. 증상 # 브라우저가 보안 쿠키를 생성할 수 없거나 이전에 생성된 보안 쿠키로부터 로그인을 인가할 수 없는 경우 다음과 같은 오류가 표시될 수 있습니다. Invalid or missing CSRF token 이 오류는 광고 차단 또는 스크립트 차단 확장 프로그램 때문에 발생하거나 브라우저 자체에서 발생할 수 있습니다. Teleport를 통한 애플리케이션 접근에서는 Grafana나 ArgoCD처럼 WebSocket을 광범위하게 사용하는 애플리케이션에서, 그리고 교차 사이트 스크립팅 제한으로 인해 트래픽을 명시적으로 허용해야 하는 브라우저에서 이 오류가 가장 자주 나타납니다. CSRF(Cross-Site Request Forgery) 또는 CORS(Cross-Origin Resource Sharing) 문제는 대체로 애플리케이션 기능 손실, 트래픽이 허용되지 않았음을 나타내는 애플리케이션 자체의 오류, 또는 CORS나 CSRF 오류를 나타내는 애플리케이션 로그로 나타납니다. 대부분의 경우 각 애플리케이션에 대한 Teleport 설정에서 Origin 및 Host 헤더에 대한 명시적인 rewrite 설정을 추가하면 이러한 유형의 문제를 해결할 수 있습니다. 해결 방법 1: Application Service 설정 파일 # /etc/teleport.yaml 에서 정적으로 구성된 앱을 사용하는 경우 CSRF 또는 CORS 문제를 해결하려면: 애플리케이션 설정이 포함된 /etc/teleport.yaml 파일을 텍스트 편집기로 엽니다. 다음 grafana 예시와 유사한 rewrite.headers 섹션을 추가합니다. app_service: enabled: true apps: - name: grafana uri: http://localhost:3000 public_addr: grafana.teleport.example.com rewrite: headers: - "Origin: https://grafana.teleport.example.com" # Teleport application subdomain prepended with "https