Google Cloud Armor와 통합을 위한 기능

이 문서는 Google Cloud Armor용 reCAPTCHA의 기능을 이해하고 사용 사례에 가장 적합한 기능을 결정하는 데 도움이 됩니다.

reCAPTCHA는 Google Cloud Armor와 통합하는 데 사용할 수 있는 다음과 같은 기능을 제공합니다.

기능 개요

Google Cloud Armor 통합을 위한 reCAPTCHA는 작업 토큰, 세션 토큰, 챌린지 페이지, reCAPTCHA 익스프레스를 지원합니다.

단일 애플리케이션에서 Google Cloud Armor용 reCAPTCHA 기능을 하나 이상 사용할 수 있습니다. 예를 들어 모든 페이지에 세션 토큰을 적용할 수 있으며, 세션 토큰 점수를 바탕으로 의심스러운 요청을 reCAPTCHA 테스트 페이지로 리디렉션할 수 있습니다. 또한 작업 토큰을 결제와 같은 중요한 작업에 사용할 수 있습니다. 자세한 내용은 예시를 참조하세요.

다음 표에서는 Google Cloud Armor에 사용할 수 있는 reCAPTCHA 기능을 간단하게 비교합니다.

비교 카테고리 reCAPTCHA 작업 토큰 reCAPTCHA 세션 토큰 reCAPTCHA 테스트 페이지 reCAPTCHA 익스프레스
사용 사례 로그인 또는 게시물에 댓글 달기와 같은 사용자 작업을 보호하는 데 사용합니다. 사이트 도메인의 전체 사용자 세션을 보호하는 데 사용됩니다. 사이트로 연결되는 스팸 활동이 의심되며 봇을 차단해야 하는 경우 사용합니다.

이 방법은 사용자가 보안문자 확인 정보를 확인해야 하므로 사용자 활동을 중단시킵니다.

환경에서 reCAPTCHA JavaScript 또는 모바일 SDK의 통합을 지원하지 않는 경우 reCAPTCHA 익스프레스를 사용합니다.
지원되는 플랫폼 웹사이트 및 모바일 애플리케이션 웹사이트 웹사이트 모든 HTTP 요청입니다.

예: API, 웹사이트, 모바일 애플리케이션, IoT 기기(예: TV 및 게임 콘솔)

클라이언트 통합 노력 중간

수동 클라이언트 측 통합

중간

WAF에 수동으로 또는 삽입을 통해 reCAPTCHA JavaScript를 설치합니다.

낮음

보안 정책에 의해 트리거된 전체 화면 광고

낮음

클라이언트 통합이 없습니다.

감지 정확도 가장 높음

클라이언트, 서버, 작업별 신호를 사용할 수 있습니다.

높음

클라이언트 및 서버별 신호를 사용할 수 있습니다.

중간

클라이언트 및 서버별 신호를 사용할 수 있습니다. 클라이언트 신호는 전면 광고 페이지에서만 사용할 수 있습니다.

낮음

서버 측 신호만 사용할 수 있습니다.

지원되는 reCAPTCHA 버전 reCAPTCHA 점수 기반 및 체크박스 키 reCAPTCHA 점수 기반 키 인터스티셜 페이지에 삽입된 reCAPTCHA 챌린지 기반 키 reCAPTCHA 익스프레스 키

reCAPTCHA 작업 토큰

reCAPTCHA 작업 토큰을 사용하여 웹페이지 및 모바일 애플리케이션에서의 결제와 같은 중요한 사용자 상호작용을 보호할 수 있습니다.

reCAPTCHA 작업 토큰 워크플로는 다음 단계로 구성됩니다.

  1. 최종 사용자가 reCAPTCHA로 보호되는 작업을 트리거하면 웹페이지나 모바일 애플리케이션이 브라우저에서 수집된 신호를 분석하기 위해 reCAPTCHA에 전송합니다.
  2. reCAPTCHA는 작업 토큰을 웹페이지나 모바일 애플리케이션에 전송합니다.
  3. 보호하려는 요청의 헤더에 이 작업 토큰을 연결합니다.
  4. 최종 사용자가 작업 토큰으로 액세스를 요청하면 Google Cloud Armor는 백엔드 애플리케이션 대신 작업 토큰 속성을 디코딩하고 유효성을 검사합니다.
  5. Google Cloud Armor는 구성된 보안 정책 규칙을 기반으로 작업을 적용합니다.

다음 시퀀스 다이어그램에서는 웹사이트용 reCAPTCHA 작업 토큰 워크플로를 보여줍니다.

다음 시퀀스 다이어그램에서는 모바일 애플리케이션용 reCAPTCHA 작업 토큰 워크플로를 보여줍니다.

reCAPTCHA 세션 토큰

사이트 도메인의 전체 사용자 세션을 보호하려면 reCAPTCHA 세션 토큰을 사용할 수 있습니다. 세션 토큰을 사용하면 지정된 기간 동안 기존 reCAPTCHA 평가를 다시 사용할 수 있어 특정 사용자에 대한 추가 평가가 필요하지 않으므로 사용자 마찰을 줄이고 필수 reCAPTCHA 호출의 총 수가 줄어듭니다.

reCAPTCHA가 최종 사용자의 탐색 패턴을 학습하도록 사용 설정하려면 사이트의 모든 웹페이지에서 reCAPTCHA 세션 토큰을 사용하는 것이 좋습니다.

reCAPTCHA 세션 토큰 워크플로는 다음 단계로 구성됩니다.

  1. 브라우저가 reCAPTCHA에서 reCAPTCHA JavaScript를 로드합니다.
  2. reCAPTCHA JavaScript는 평가 후 최종 사용자의 브라우저에서 세션 토큰을 쿠키로 설정합니다.
  3. 최종 사용자의 브라우저는 쿠키를 저장하고 reCAPTCHA JavaScript는 이 reCAPTCHA JavaScript가 활성 상태로 유지되는 한 30분에 한 번씩 쿠키를 새로고칩니다.
  4. 사용자가 쿠키로 액세스를 요청하면 Google Cloud Armor는 이 쿠키의 유효성을 검사하고 보안 정책 규칙을 기반으로 작업을 적용합니다.

다음 시퀀스 다이어그램은 reCAPTCHA 세션 토큰 워크플로를 보여줍니다.

reCAPTCHA 테스트 페이지

reCAPTCHA 테스트 페이지 기능을 사용하여 수신되는 요청을 reCAPTCHA로 리디렉션하여 각 요청이 잠재적으로 허위인지 또는 적법한지 확인할 수 있습니다.

리디렉션 및 가능한 보안문자 확인 정보를 적용하면 사용자의 활동이 중단됩니다. 사이트로 연결되는 스팸 활동이 의심되는 경우 봇을 차단하는 데 사용하는 것이 좋습니다.

최종 사용자(사용자)가 처음으로 사이트를 방문하면 다음 이벤트가 발생합니다.

  1. Google Cloud Armor 레이어에서 사용자의 요청은 reCAPTCHA 테스트 페이지로 리디렉션됩니다.
  2. reCAPTCHA는 reCAPTCHA JavaScript가 삽입된 HTML 페이지로 응답합니다.
  3. 테스트 페이지가 렌더링되면 reCAPTCHA가 사용자 상호작용을 평가합니다. 필요한 경우 reCAPTCHA는 사용자에게 보안문자 확인 정보를 제공합니다.
  4. 평가 결과에 따라 reCAPTCHA는 다음을 수행합니다.

    1. 사용자 상호작용이 평가를 통과하면 reCAPTCHA에서 예외 쿠키를 생성합니다. 브라우저는 쿠키가 만료될 때까지 동일한 사이트에 대한 사용자의 후속 요청에 이 예외 쿠키를 연결합니다. 기본적으로 예외 쿠키는 3시간 후에 만료됩니다.
    2. 사용자 상호작용이 평가를 통과하지 못하면 reCAPTCHA는 예외 쿠키를 발행하지 않습니다.
  5. 사용자가 GET/HEAD 호출을 사용하여 웹페이지에 액세스하면 reCAPTCHA가 예외 쿠키로 웹페이지를 새로고침합니다. 사용자가 POST/PUT 호출을 사용하여 웹페이지에 액세스하는 경우 페이지의 새로고침 링크를 클릭해야 합니다.

  6. Google Cloud Armor는 유효한 예외 쿠키가 있는 요청이 다시 리디렉션되지 않도록 제외하고 사이트에 대한 액세스 권한을 부여합니다.

다음 시퀀스 다이어그램은 reCAPTCHA 테스트 페이지 워크플로를 보여줍니다.

다음 단계