클릭재킹 방지

Tableau Server에는 클릭재킹 공격을 방지하는 기능이 포함되어 있습니다. 클릭재킹은 웹 페이지 기반의 공격 유형으로, 공격자가 관련이 없는 페이지 위에 있는 투명한 계층에 공격할 페이지를 표시하여 사용자가 클릭을 하거나 내용을 입력하도록 유도하는 공격입니다. Tableau Server 관점에서는, 공격자가 사용자 자격 증명을 수집하거나 인증된 사용자가 서버의 설정을 변경하도록 유도하기 위해 클릭재킹 공격을 활용할 수 있습니다. 클릭재킹 공격에 대한 자세한 내용은 Open Web Application Security Project 웹 사이트에서 Clickjacking(링크가 새 창에서 열림)(클릭재킹)을 참조하십시오.

참고: 이전 버전의 Tableau Server에서도 클릭재킹 방지를 사용할 수 있었지만 기본적으로 비활성화되어 있었습니다. Tableau Server 9.1 이상을 새로 설치하면 명시적으로 비활성화하지 않는 한 항상 클릭재킹 방지가 설정됩니다.

클릭재킹 방지의 효과

Tableau Server에서 클릭재킹 방지를 사용하도록 설정하면 Tableau Server에서 로드되는 페이지의 동작이 다음과 같은 방식으로 변경됩니다.

  • Tableau Server가 서버의 특정 응답에 X-Frame-Options: SAMEORIGIN 헤더를 추가합니다. 대부분의 최신 버전 브라우저에서 이 헤더가 있으면 콘텐츠를 <iframe> 요소에 로드할 수 없게 되므로, 클릭재킹 공격을 방지할 수 있습니다.

  • Tableau Server의 최상위 수준 페이지를 <iframe> 요소에 로드할 수 없습니다. 여기에 로그인 페이지도 포함됩니다. 예를 들어 자신이 만든 응용 프로그램에서 Tableau Server 페이지를 호스팅할 수 없습니다.

  • 뷰만 내장할 수 있습니다.

  • 내장된 뷰에 데이터 원본 자격 증명이 필요한 경우 사용자가 안전하게 자격 증명을 입력할 수 있는 보안 창에서 뷰를 열 수 있는 링크가 포함된 상태로 메시지가 <iframe> 요소 안에 표시됩니다. 사용자는 자격 증명을 입력하기 전에 항상 열려 있는 창의 주소를 확인해야 합니다.

  • 다음 예와 같이, 쿼리 문자열에 :embed=y 매개 변수가 포함된 경우에만 뷰를 로드할 수 있습니다.

    http://<server>/views/Sales/CommissionModel?:embed=y

    참고: 클릭재킹 방지가 설정되어 있으면 브라우저 주소 표시줄에서 복사된 URL을 사용하는 내장된 뷰가 로드되지 않을 수 있습니다. Tableau Server에서 클릭재킹 방지를 사용하도록 설정하면 서버 이름 다음에 주로 해시 표시(#)가 포함된 해당 뷰 URL(예: http://myserver/#/views/Sales/CommissionModel?:embed=y)이 차단됩니다.

클릭재킹 방지 비활성화

클릭재킹 방지는 사용자가 Tableau Server를 사용하는 방식에 영향을 미치지 않는 한 사용하도록 설정해야 합니다. 클릭재킹 방지를 사용하지 않도록 설정하려면 다음 tsm 명령을 사용하십시오.

  1. tsm configuration set -k wgserver.clickjack_defense.enabled -v false
  2. tsm pending-changes apply

    보류 중인 변경 내용을 적용하려면 서버를 다시 시작해야 하는 경우 pending-changes apply 명령은 서버가 다시 시작됨을 알리는 메시지를 표시합니다. 서버가 중지된 경우에도 이 메시지가 표시되지만 이 경우 다시 시작은 없습니다. --ignore-prompt 옵션을 사용하여 이 메시지를 표시하지 않을 수 있지만 다시 시작 동작은 변경되지 않습니다. 변경 내용을 적용해도 다시 시작할 필요가 없는 경우 메시지 없이 변경 내용이 적용됩니다. 자세한 내용은 tsm pending-changes apply를 참조하십시오.

피드백을 제공해 주셔서 감사합니다!