클라이언트와 서버 간 트래픽 보호

이 장에서는 Tableau Server가 다른 컴퓨터와 통신하는 방법과 트래픽 보안을 향상시키기 위해 수행할 수 있는 작업에 대해 설명합니다.

 

몇 가지 사전 학습

Tableau Server: 모든 사용자를 위한 설치 가이드 의 이전 장들이 청명한 날씨에 빈 고속도로를 질주하는 느낌이었다면 이 장은 좁은 산길을 오르는 느낌일 것입니다. 1차선 지선 도로는 아니라고 해도 집중이 더 필요한 도로는 맞습니다.

이 장의 일부 내용은 IT 전문가에게도 다소 어려울 수 있다는 것을 알면 도움이 될 것입니다. 하지만 중요한 데이터의 보안에 대해 이야기하면서 지나치게 쉬운 접근 방식을 신뢰할 수 있으시겠습니까?

지금까지 혼자서 이 가이드를 진행했다면 이제 IT 전문가에게 도움을 요청할 시간입니다. 사내에 IT 전문가가 없다면 Tableau 전문 서비스의 지원을 받는 것을 고려해 보십시오.

IT의 도움을 받을 수 있어도 Tableau Server를 관리하는 사람은 환경의 보안을 유지하는 기반 원리와 절차를 이해해야 한다고 생각합니다. 또한 스스로 배우는 즐거움이나 직접 전문가가 되려는 바람을 강제할 생각은 없습니다. 따라서 여기에서는 직접 설정할 때 필요한 지식을 전달하는 데 중점을 둘 것입니다. 이 범위를 넘어서는 내용은 Tableau 자체의 도움말과 기술 자료 문서를 비롯한 많은 온라인 정보에서 찾을 수 있습니다.

HTTP 및 클라이언트-서버 통신 개요

많은 서버 응용 프로그램과 마찬가지로, 기본적으로 Tableau Server는 HTTP라고 하는 표준 웹 프로토콜을 사용하여 클라이언트와 통신합니다. HTTP에서는 브라우저가 서버로 요청을 보낼 때와 서버가 응답할 때 정보를 일반 텍스트로 주고받습니다. 즉, 통신을 스누핑할 수 있는 모든 사람이 통신의 내용을 읽을 수 있습니다.

사용자와 서버가 주고받는 일부 정보는 중요 정보일 수 있습니다. 예를 들어 사용자가 웹 브라우저를 통해 Tableau Server에 액세스한 후 서버에 로그인하기 위해 사용자 이름과 암호를 전송할 수 있습니다. 또는 사용자가 중요 데이터를 사용하여 만들어진 Tableau 뷰를 요청할 수 있습니다. 다른 사람이 이 트래픽을 볼 수 있다면(숙련된 IT 전문가에게 HTTP를 스누핑하는 것은 어려운 일이 아님) 보아서는 안 될 정보를 볼 수 있습니다.

보안 목표: 개인 정보 보호 및 신뢰

Tableau Server와 해당 클라이언트 사이의 통신을 보호하는 것은 프라이버시와 신뢰를 추구하는 것입니다. 프라이버시를 보호하려면 스누핑이 가능한 모든 사람이 HTTP 콘텐츠를 읽을 수 없게 만들어야 합니다. 이 작업을 수행하려면 트래픽을 암호화합니다.

서버와 클라이언트 사이에는 신뢰 관계도 필요합니다. 다시 말해, 서버가 정보를 보낸 경우 클라이언트가 받는 정보가 통신하고 있는 서버에서 온 것임을 신뢰할 수 있어야 합니다. 신뢰는 인증을 통해 수립됩니다. 이것은 컴퓨터에 로그인하기 위해 사용자 이름과 암호를 제공하여 인증을 받는 방식과 유사합니다. 인증은 클라이언트가 속아 악의적인 사이트와 통신하는 일을 방지하는 데에도 도움이 됩니다.

SSL을 사용하여 Tableau Server 통신 암호화

SSL(Secure Sockets Layer)은 HTTP와 유사한 프로토콜이지만, 컴퓨터가 웹 같은 네트워크를 통해 암호화된 정보를 전송할 수 있다는 점이 다릅니다. (여기에서는 이 프로토콜에 대한 일반적인 이름으로 SSL이라는 용어를 사용하지만 이 프로토콜을 TLS라고 하는 경우도 있습니다.) SSL은 앞서 설명한 두 가지 목표, 즉 프라이버시와 신뢰를 방금 설명한 암호화와 인증을 통해 달성합니다. Tableau Server가 SSL을 사용하도록 설정된 경우 사용자가 http:// 대신 https://를 사용하여 서버에서 콘텐츠를 요청할 수 있습니다.

SSL을 사용하면 클라이언트와 서버 간 트래픽의 보안이 상당히 향상됩니다. Tableau Server 인스턴스를 내부 네트워크에서만이 아니라 인터넷에서도 액세스할 수 있다면 서버에서 SSL을 구성하는 것이 필수적입니다. SSL을 사용하지 않고 공용 네트워크에서 서버를 사용할 수 있게 만들면 심각한 보안 문제가 발생합니다. 서버에 공개적으로 액세스할 수 없는 경우에도 로컬 네트워크의 클라이언트와 서버 간 통신에 SSL을 사용하는 것이 좋습니다.

다음 섹션에서는 SSL 작동 방식에 대한 몇 가지 기반 지식을 제공합니다. 또한 Tableau Server에서 SSL을 사용하기 위한 요구 사항과 인터넷을 통한 트래픽이나 로컬 네트워크의 트래픽을 보호할지 여부에 대해 설명합니다. 또한 SSL을 사용하도록 설정하는 방법을 설명하고 추가 정보를 얻을 수 있는 외부 리소스를 알려 줍니다. 로컬 네트워크에서 SSL을 사용하도록 설정하는 방법은 환경을 구성하는 많은 요소에 따라 달라집니다. 특정 서버 설치에서 이 작업을 수행하는 가장 좋은 방법에 대해서는 회사의 IT 담당자에게 문의하십시오.

SSL 및 VPN

일부 Tableau Server 사용자가 원격 사이트에서 VPN(Virtual Private Network) 연결을 사용하여 네트워크에 액세스할 수 있습니다. 이런 경우 사용자가 원격 사이트에 있지만 VPN 연결 자체가 프라이버시와 신뢰를 제공합니다. 이 경우에도 여전히 SSL을 사용하는 것이 좋지만 사용자가 VPN을 통해 Tableau Server에 액세스할 경우 SSL이 필수는 아닙니다.

SSL 인증서

SSL을 지원하려면 서버에 디지털 인증서가 필요합니다. 인증 기관 또는 CA라고 하는 공개적으로 신뢰할 수 있는 제3의 기관에서 디지털 인증서를 구할 수 있습니다. 신뢰할 수 있는 CA는 조직의 신원을 확인한 후 조직을 고유하게 식별하는 서명된 인증서를 발급합니다. 신뢰할 수 있는 CA의 예에는 Symantec(VeriSign), thawte, GlobalSign 등이 포함됩니다. 이외에도 많은 CA가 있습니다.

"공개적으로 신뢰할 수 있다"는 것은 모든 운영 체제, Tableau 지원 브라우저 및 기타 클라이언트에서 해당 CA의 루트 인증서를 내재적으로 신뢰한다는 의미입니다. 이러한 인증서는 권장 암호화에 대한 웹 산업 표준을 준수하며 클라이언트와 서버 간 신뢰 관계를 구성할 때 최소한의 작업만을 요구합니다.

인증서를 받기 위한 단계를 완료한 후 CA가 일련의 파일로 인증서를 보냅니다. 인증서 파일을 받았으면 서버에 설치합니다. 이제 클라이언트가 서버에 액세스할 때 서버의 인증서에서 가져온 정보를 사용하여 서버를 인증할 수 있습니다. 이 정보로 신뢰 목표가 달성됩니다. 인증서에는 클라이언트가 서버와 암호화된 통신을 수립하는 데 사용할 수 있는 공개 키도 포함되어 있습니다. 이 정보로 프라이버시 목표가 달성됩니다.

개념적인 수준에서 이 신원 조회 프로세스를 설명하기 위해 클라이언트가 서버와 암호화된 통신 세션을 시작하려 한다고 가정합니다. 클라이언트가 서버의 인증서를 요청합니다. (사용자가 URL 시작 부분에 https://를 입력하면 모든 일이 자동으로 실행됩니다.) 서버가 인증서를 보냅니다. 서버의 인증서는 일반적으로 발급자의 인증서를 가리키며, 계속해서 이 인증서는 다른 발급자의 인증서를 가리키는 식으로 CA 인증서까지 계속 연결됩니다. 실제로는 인증서에 완전한 인증서 체인이 포함되어 있습니다. 클라이언트는 서버 인증서 또는 체인의 모든 인증서를 검사하여 클라이언트가 이미 갖고 있는 CA 정보와 인증서의 CA 정보를 비교합니다. (브라우저 및 기타 클라이언트는 알려진 CA의 저장소를 유지 관리합니다.) 클라이언트에서 인증서가 유효하고 신뢰할 수 있다고 확인되면 클라이언트와 서버가 암호화된 세션을 시작하고 정보를 교환할 수 있습니다.

상호(양방향) SSL

여기에서는 양방향 SSL이라고도 하며, 서버와 클라이언트가 모두 인증서를 가지고 있는 상호 SSL을 구성하는 것이 가능하다는 것만 언급합니다. 사용자가 공용 위치, 특히 공용 WiFi를 통해 서버에 액세스하는 경우 상호 SSL이 특히 유용합니다. 상호 SSL에서는 사전에 구성된 클라이언트만 서버에 액세스하도록 허용됩니다.

상호 SSL을 위한 클라이언트 인증서는 대개 조직 내부의 IT 담당자가 생성합니다. 클라이언트 인증서에는 사용자 이름과 인증서 위조를 방지하는 정보가 포함되어 있습니다. 상호 SSL을 사용하면 클라이언트와 서버가 세션을 시작할 때 클라이언트가 서버의 인증서를 요청하고 검사합니다. 이것은 일반적인 SSL 인증과 마찬가지입니다. 그런 다음 서버가 클라이언트의 인증서를 요청하고 인증서 유효성을 확인합니다.

이 가이드에서는 상호 SSL에 대해 자세히 설명하지 않지만 이 장의 뒷부분에서 Tableau Server 설치 환경에서 이 기능을 사용할 경우 필요한 자세한 정보를 나와 있는 링크를 제공합니다.

자체 서명 인증서

조직이 CA가 제공하는 신원 조회 프로세스를 사용하지 않고 고유한 자체 인증서를 생성할 수 있습니다. 이 경우 자체 서명 인증서가 만들어집니다. 자체 서명 인증서를 통해 클라이언트와 서버가 암호화된 세션을 수립할 수 있습니다. 하지만 자체 서명 인증서로는 클라이언트가 서버의 신원을 확인할 수 없습니다. 다시 말해, 서버를 인증할 수 없습니다. 사용자가 서버에 연결할 때 "이 인증서를 신뢰할 수 없음" 같은 메시지가 표시될 수 있습니다. 정확한 텍스트는 브라우저나 기타 클라이언트에 따라 다릅니다.

기본적으로 Tableau Mobile을 비롯한 많은 Tableau 클라이언트가 Tableau Server에서 자체 서명 인증서로 작동합니다. iOS 기기 같은 일부 클라이언트의 경우 자체 서명 인증서를 신뢰하도록 기기를 구성할 수 있습니다. 이와 관련하여 궁금한 사항이 있다면 이 장의 끝에 있는 추가 리소스 섹션에 나와 있는 SSL 서버에서 Tableau Mobile을 사용하는 것과 관련된 기술 자료 문서를 살펴보십시오.

"신뢰할 수 없는 인증서" 브라우저 경고가 있는 상태에서 작업하거나 자체 서명 인증서(결과를 신뢰할 수 없는 문제가 있음)로 작동하도록 기기를 구성하는 대신 알려진 CA에서 공개적으로 신뢰할 수 있는 인증서를 구하는 것이 좋습니다.

조직 내부의 클라이언트-서버 트래픽을 위한 SSL

신뢰할 수 있는 CA에서 받은 인증서를 사용하면 조직 외부의 컴퓨터에서 작업하는 사용자와 서버 사이의 트래픽, 즉 인터넷에서 들어오는 트래픽을 보호할 수 있습니다. 이 시나리오의 경우 클라이언트가 서버의 정규화된(공개) 도메인 이름을 사용합니다(예: https://www.example.com/). (https://의 끝에 있는 s에 주의하십시오.)

로컬 네트워크 내부 트래픽에도 SSL을 사용하도록 설정할 수 있습니다. 이렇게 하면 동료가 내부 호스트 이름(예: https://tableauserver)을 사용하여 서버에 액세스할 때 트래픽이 보호됩니다.

다음 섹션에서는 내부 트래픽에 SSL을 사용하도록 설정하는 몇 가지 옵션을 설명합니다. 이러한 설명을 따르는 것이 좋습니다. IT 파트너와 함께 환경에 가장 적합한 옵션을 결정하고 구성하십시오.

조직의 기존 내부 CA 및 자체 서명 루트 인증서 사용

조직에 IT 팀이 있는 경우 조직 고유의 내부 인증 기관이 있는지 문의하십시오. 내부 인증 기관이 있다면 인증 기관에 사용할 인증서를 만들어 달라고 요청하십시오. 대개 이러한 인증서는 Tableau 사용자 컴퓨터에서 자동으로 신뢰되므로 인증서를 신뢰하도록 각 클라이언트를 구성하는 프로세스를 수행할 필요가 없습니다.

내부 CA가 없는 경우 대안은 Tableau Server와 함께 제공되는 오픈 소스 도구인 OpenSSL을 사용하여 내부 CA를 만드는 것입니다. 그런 다음 내부 CA를 신뢰하도록 각 클라이언트를 설정합니다. 인증서를 업데이트해야 하는 경우에는 그룹 정책 같은 원하는 시스템 관리 도구를 통해 클라이언트에 인증서를 푸시할 수 있습니다.

이 작업을 수행하는 단계가 Tableau Server 도움말과 웹에 문서화되어 있지만 과정 중에 컴퓨터 시스템 수준에서 많은 작동 부분을 조정해야 합니다. 숙련된 IT 전문가의 도움 없이 이 작업을 수행하는 것은 권장하지 않습니다.

서버를 위한 자체 서명 인증서를 만들고 이를 지원하도록 클라이언트 구성

여기에서는, 공개 트래픽에 자체 서명 인증서를 사용하는 것에 대한 섹션에 나와 있는 설명을 정확히 반대로 이야기할 수 있습니다. 이렇게 할 수 있는 이유는 조직의 사설망 내부에 격리된 클라이언트-서버 트래픽의 경우 CA에서 발급한 인증서로 얻는 공개 신뢰 수준이 필요하지 않기 때문입니다.

내부 트래픽의 경우에도 각 사용자의 컴퓨터, iOS 기기 및 기타 클라이언트에서 자체 서명 인증서를 지원하도록 브라우저를 구성하게 됩니다. 이렇게 하지 않으려면 사용자에게 브라우저에서 연결할 때 나타나는 "신뢰할 수 없는 사이트" 경고를 처리하는 방법을 알려 주어야 합니다. 또 다른 주의 사항은 클라이언트를 구성했더라도 인증서가 만료되어 다시 발급한 경우 구성을 다시해야 한다는 것입니다.

사용할 옵션을 결정하는 방법

Tableau Server에 대한 내부 트래픽에 SSL을 사용하려는 경우 다음과 같은 순서로 옵션을 고려하는 것이 좋습니다. 선호되는 옵션을 조직에 적용할 수 없는 경우(예: 내부 CA가 없는 경우) 다음 옵션을 고려하십시오.

  1. 조직에 내부 CA가 있는 경우 해당 CA를 사용하십시오. 이렇게 하면 내부적으로 SSL을 사용하면서 사용자에게 귀찮은 "신뢰할 수 없는 인증서" 브라우저 메시지가 나타나는 것을 방지할 수 있습니다.

  2. 자체 서명 인증서를 사용하고 해당 인증서를 신뢰하도록 클라이언트를 구성하거나 사용자에게 Tableau Server에 대한 예외를 만들고 "신뢰할 수 없는 사이트" 브라우저 메시지를 무시하는 것이 안전한다는 것을 알려 주십시오.

  3. 공개적으로 신뢰할 수 있는 CA에서 인증서를 받으십시오.

  4. 위 세 가지 옵션 중 어느 것도 사용할 수 없는 경우 IT 부서의 지원을 받아 내부 CA 만들기에 설명된 프로세스를 수행하십시오.

Tableau Server를 위한 공개 인증서 받기 및 설치

인증서를 받는 프로세스는 CA마다 다르며, 비용과 얻을 수 있는 인증서 수준도 CA마다 다릅니다. 조직에 IT 부서가 없는 경우 최선의 방법은 먼저 "ssl 인증서 받기" 같은 문구를 사용하여 웹을 검색하고 다양한 CA의 서비스를 비교 검토하는 것입니다.

조직에 IT 부서가 있는 경우 공개 인증 기관을 이용하고 있으며 취득 프로세스를 간소화할 수 있는지 확인합니다.

IT 전문가는 Tableau Server에 설치하는 인증서와 관련하여 다음과 같은 요구 사항을 파악하게 됩니다. (약어는 다양한 암호화 알고리즘을 나타냅니다. 개인적인 호기심을 충족시킬 것이 아니라면, 당면한 목적 이외에 각 알고리즘에 대한 자세한 내용을 알 필요는 없습니다.)

  • 서버 인증서는 PEM 인코딩 x509 인증서야야 합니다.

    다른 형식을 사용할 수 있는 경우 PEM 인코딩 인증서를 받았는지 확인하거나 OpenSSL 같은 도구를 사용하여 인증서를 PEM 형식으로 저장해야 합니다.

  • 인증서 .key 파일에는 RSA 또는 DSA 형식의 키와 내장된 암호가 포함되어 있지만 파일 자체는 암호로 보호되지 않습니다.

  • 서버 인증서가 루트 CA에서 직접 서명되지 않은 경우 발급자가 체인 파일을 제공해야 합니다.

    체인 파일은 동일하게 PEM 형식이어야 하며 서버 인증서와 루트 인증서 사이의 모든 중간 인증서를 포함해야 합니다. 루트 인증서(또는 "신뢰 앵커")를 포함하는 것은 선택 사항입니다. Mac에서 Tableau Mobile 또는 Tableau Desktop 사용자가 서버에 연결하게 하려면 체인 파일이 필요합니다.

SSL 사용

  1. 브라우저에서 TSM을 엽니다.

    https://<tsm-computer-name>:8850. 자세한 내용은 Tableau 서비스 관리자 웹 UI에 로그인(Link opens in a new window)을 참조하십시오.

  2. 구성 탭에서 보안 > 외부 SSL을 선택합니다.

  3. External web server SSL(외부 웹 서버 SSL)에서 Enable SSL for server communication(서버 통신에 SSL 사용)을 선택합니다.

  4. 인증서와 키 파일을 업로드하고 환경에 필요한 경우 체인 파일을 업로드한 다음 암호 키를 입력합니다.

    Configure  SSL screenshot

  5. Save Pending Changes(보류 중인 변경 내용 저장)를 클릭합니다.

  6. 페이지 맨 위에서 보류 중인 변경 내용을 클릭합니다.

  7. Apply Changes and Restart(변경 내용 적용 및 다시 시작)를 클릭합니다.

인증서 보기

파일을 설치한 후 브라우저에서 사이트로 이동하여 인증서를 볼 수 있습니다. 이 작업 방식을 보여 주기 위해 여기에서는 Google Chrome에서 Tableau Online을 사용합니다.

  1. 브라우저를 열고 online.tableau.com으로 이동합니다.

  2. 주소 표시줄에 나타나는 녹색 자물쇠 아이콘을 클릭합니다.

  3. 세부 정보 링크를 클릭합니다. 사이트의 보안 개요가 나타납니다.

    사이트에서 유효하고 신뢰할 수 있는 인증서를 사용하는지를 Chrome에서 확인한 내용이 표시됩니다. 보안 개요에서 관련 정보를 클릭하여 인증서를 발급한 CA와 신뢰 체인도 확인할 수 있습니다. 여기에서 View certificate(인증서 보기)를 클릭하여 보다 구체적인 정보를 확인할 수 있습니다(여기에 큰 의미는 없음).

    다른 브라우저에서 이 작업을 시도하여 인증서 정보가 어떻게 표시되는지 확인하거나 온라인 뱅킹 계정과 같은 로그인이 필요한 다른 사이트를 확인할 수 있습니다.

미래를 위한 준비

인증서 파일을 받은 경우 인증서 만료 날짜를 확인하고 만료되기 전에 인증서를 업데이트할 계획을 마련해야 합니다. 만료되기 3개월 전에 알림을 받을 수 있도록 설정하십시오. 인증서를 받기 위해 연락해야 하는 담당자와 구매 가격, 영수증, 티켓 번호 등을 기록해 두십시오.

또한 다음번에 이 작업을 수행할 수 있는 다른 사람을 구하고 시스템 정보에 이 정보를 포함시키는 것이 좋습니다.

계속해서 인터넷 통신 구성을 진행합니다.

추가 리소스

피드백을 제공해 주셔서 감사합니다! 피드백을 제출하는 동안 오류가 발생했습니다. 다시 시도하거나 메시지를 보내주십시오.