保護用戶端和伺服器之間的流量

本章介紹 Tableau Server 如何與其他電腦通訊,以及可執行哪些操作來確保該流量更加安全。

 

事先的一些學習曲線

Tableau Server:通用安裝導引 的前面幾章可能感覺像在晴朗的日子裡在空曠的公路上巡航,而本章可能會更像朝著山口前行。雖然確切地說這不是一條單車道便道,但卻是一條需要注意力稍微集中的道路。

本材料中的某些內容甚至可能會讓 IT 專業人員感到棘手,知道這一點可能會有所幫助。但是當我們談論敏感性資料的安全性時,您會輕易相信某種方法嗎?

如果您到目前為止一直在使用本指南獨自努力學習,那麼現在是時候請本機 IT 專業人員了。如果沒有內部 IT 專業人員,請考慮請求 Tableau 專業服務部門幫助。

即使有了 IT 人員的幫助,我們認為管理 Tableau Server 的任何人都應該瞭解保護環境背後的原則和程式,這一點很重要。另外,我們不想替您決定您喜歡瞭解哪方面的內容,或者自己可能甚至想要成為哪方面的專家。所以我們會在此盡力告知做好準備工作所需的一切。除此之外,您可以連線以及在 Tableau 自己的說明和知識庫文章中找到大量資訊。

HTTP 和用戶端-伺服器通訊概觀

預設情況下,與許多伺服器應用程式一樣,Tableau Server 使用標準 Web 協議(即 HTTP)與用戶端進行通訊。在 HTTP 中,當瀏覽器向伺服器傳送請求時,以及在伺服器回應時,均以明文形式來回傳送資訊。這意味著窺探該通訊的任何人都可以閱讀通訊內容。

您的使用者和伺服器來回傳送的一些資訊可能是敏感資訊。例如,使用者可能會透過 Web 瀏覽器存取 Tableau Server,並傳送使用者名和密碼以登入到該伺服器。或者,使用者可能會請求使用敏感性資料建立的 Tableau 檢視。如果某人能看到此流量(窺探 HTTP 對於經驗豐富的 IT 人員並不難),他們可能會看到他們不應該看到的資訊。

您的安全目標:隱私和信任

對於保護 Tableau Server 與其用戶端之間的通訊安全而言,您需要隱私和信任。為了達到隱私的目的,您可以使任何可能進行窺探的人員無法讀取 HTTP 內容。您可以透過對流量進行加密來執行此操作。

但是,您還需要伺服器與用戶端之間的信任關係。這意味著,當伺服器傳送資訊時,用戶端可能會相信資訊來自它認為將與之進行通訊的伺服器。系統透過驗證建立信任,這種方法類似於當您提供使用者名和密碼以登入到您的電腦時對您的使用者身份進行驗證。驗證可以幫助防止用戶端被欺騙與惡意網站通訊。

使用 SSL 對 Tableau Server 通訊進行加密

SSL(安全通訊端層)是類似於 HTTP 的協定,不同的是它允許電腦在網路(如 Web)中傳送加密的資訊。(我們使用 SSL 一詞作為本協定的通用名稱;您可能還會看到它被稱為 TLS)。SSL 透過我們剛才提到的加密和驗證來實現前面提到的兩個目標,即隱私和信任。為 Tableau Server 啟用 SSL 後,使用者可以使用 https:// 來代替 http://,以請求伺服器中的內容。

啟用 SSL 可以顯著提高用戶端-伺服器流量的安全性。如果 Internet 中(而不是僅在內部網路上)接受您的 Tableau Server 執行個體,則必需設定該伺服器的 SSL。在公共網路上提供伺服器而不採用 SSL 是一個嚴重的安全問題。即使您的伺服器不是可公開存取的伺服器,為本機網路上的用戶端-伺服器通訊啟用 SSL 也是一個好的做法。

以下部分提供了有關 SSL 的工作原理的一些背景。我們還描述了將 SSL 與 Tableau Server 搭配使用的要求,以及您是否需要幫助保護 Internet 或本機網路上的流量的安全。它描述了如何啟用 SSL,並將您指向外部資源以獲取其他資訊。如何在您的本機網路上啟用 SSL 取決於您的環境中的許多因素。您的 IT 朋友將知道如何為您的特定伺服器安裝對其進行最佳處理。

SSL 和 VPN

您的某些 Tableau Server 使用者可能會使用您的網路 VPN(虛擬私人網路絡)連線從異地存取您的伺服器。在這種情況下,雖然使用者在異地,但是 VPN 連線本身會提供隱私和信任。雖然啟用 SSL 仍然是一個好的做法,但是如果您的使用者透過 VPN 存取 Tableau Server,那麼不必這麼做。

SSL 憑證

為了支援 SSL,伺服器需要一個數位憑證。您可以從稱為憑證授權或 CA 的公開受信任的協力廠商實體獲取數位憑證。受信任的 CA 會驗證您的組織身份,然後頒發您的組織所特有的簽章憑證。例如,受信任的 CA 包括 Symantec (VeriSign)、thawte 和 GlobalSign。還有許多其他受信任的 CA。

「公開受信任」意味著所有作業系統、Tableau 支援的瀏覽器和其他用戶端本來就信任來自這些 CA 根憑證。他們滿足推薦加密的 Web 行業標準,您只需要進行極少量的工作便可設定用戶端-伺服器的信任關係。

在完成獲得憑證的步驟之後,CA 會向您傳送一組檔案,這就是您的憑證。當您收到憑證檔後,您需要在您的伺服器上安裝它們。然後,當用戶端嘗試存取該伺服器時,用戶端從伺服器憑證中獲取的資訊允許用戶端對伺服器進行驗證。這包含您的信任目標。憑證還包括一個公開金鑰,從而使用戶端能夠與伺服器之間建立加密的通訊。這包含您的隱私目標。

為了在較高層級描述此審查過程,當用戶端要啟動與伺服器之間的加密會話時,用戶端會請求伺服器憑證。(順便提一下,當使用者在 URL 開頭輸入 https:// 時,這一切都是自動發生的。)伺服器使用其憑證進行回復。伺服器憑證通常指向頒發者的憑證,而後者可能會指向其他頒發者的憑證,最後一直指向該 CA - 實際上,通常會有一個完整的憑證連結。用戶端會檢查該憑證或鏈中的所有憑證,並將憑證中的 CA 資訊與用戶端已經具有的 CA 資訊進行比較。(瀏覽器和其它用戶端會維護已知的 CA 存儲)。如果用戶端確定憑證有效並且受信任,則用戶端和伺服器可以開始加密的會話並交換資訊。

相互(雙向)SSL

只是在此提一下,如果伺服器和用戶端都具有憑證,則可以設定相互 SSL(有時被稱為雙向 SSL)。如果您的使用者將從公共位置存取伺服器,尤其是透過公共 WiFi 存取,則相互 SSL 特別有用,因為它有助於確保只允許預設定的用戶端存取伺服器。

相互 SSL 的用戶端憑證通常由組織內部的 IT 人員組建。用戶端憑證包含用於確保無法偽造該憑證的使用者名和資訊。當用戶端使用相互 SSL 啟動與伺服器的會話時,用戶端會像往常一樣請求並檢查伺服器的憑證。然後,伺服器會請求並檢查用戶端的憑證以確定其有效性。

本指南中將不詳細討論相互 SSL,但是在本章的後面,我們會提供更多資訊的連結,以防相互 SSL 看起來像是您想要為您的 Tableau Server 安裝啟用的功能。

自簽章憑證

您的組織可以組建其自己的憑證,而不需要完成 CA 提供的審查過程。這將建立自簽章憑證。自簽章憑證允許用戶端和伺服器建立加密的會話。然而,它不允許用戶端驗證伺服器的身份(對伺服器進行驗證)。當使用者連線到伺服器時,他們會看到類似於以下內容的一條訊息「此憑證不受信任」。確切的文字取決於瀏覽器或其他用戶端。

預設情況下,很多 Tableau 用戶端(包括 Tableau Mobile)將不在 Tableau Server 上使用自簽章憑證。對於一些用戶端(像 iOS 裝置),您可以將裝置設定為信任自簽章憑證。如果您對此感到好奇,請看一看關於將 Tableau Mobile 與 SSL 伺服器搭配使用的知識庫文章,本章末尾的附加資源部分中列出了這些文章。

我們建議不要嘗試處理「憑證不受信任」瀏覽器警告,也不要將裝置設定為使用自簽章憑證(結果可能不可靠),而是要從已知的 CA 獲取公開受信任的憑證。

適用於組織內部的用戶端-伺服器流量的 SSL

從受信任 CA 獲取的憑證可以幫助保護您的伺服器與在組織外部電腦上工作的使用者之間的流量安全 - 此憑證適用於來自 Internet 的流量。對於這種情況,用戶端使用伺服器的完全限定的(公共)網域名稱,如 https://www.example.com/。(請注意 https:// 末尾的 s

您也可以對本機網路內部的流量啟用 SSL 加密。當您的同事使用內部主機名稱(如 https://tableauserver)存取伺服器時,這麼做可以保護流量。

以下各節描述了為內部通訊啟用 SSL 的一些選項。在這些說明之後,我們給出了建議。與您的 IT 合作夥伴一起確定最適合您的環境的選項,然後讓其說明您設定它。

使用組織現有的內部 CA 和自簽名根憑證

如果您的組織擁有 IT 團隊,詢問他們是否有其自己的內部憑證授權。如果有,請他們為您建立憑證。通常,Tableau 使用者的電腦將自動信任這些憑證,所以您不需要執行將每個用戶端設定為信任憑證這一過程。

如果沒有內部 CA,則替代方法就是使用 OpenSSL 這個 Tableau Server 附帶的開源工具建立一個內部 CA。然後將每個用戶端設定為信任內部 CA。當您需要更新憑證時,可以透過所使用的群組原則等系統管理工具將憑證向外推送至用戶端。

雖然在 Tableau Server 說明中以及在外部的 Web 上記錄了執行此操作的步驟,但是這些步驟要求在電腦系統層級協調許多移動部件。在沒有經驗豐富的 IT 合作夥伴的情況下,我們不鼓勵這麼做。

為您的伺服器建立自簽章憑證,並將用戶端設定為支援該憑證

是的,我們真的要說一說與剛才在關於對公共流量使用自簽章憑證的部分中所說內容完全相反的內容。但是,為什麼可以這樣講呢,原因如下:對於在組織私人網路絡內部孤立的用戶端-伺服器流量而言,您不需要使用 CA 頒發的憑證獲得公共層級的信任。

甚至對於您的內部流量,您也得在每個使用者的電腦、iOS 裝置和其他用戶端上將瀏覽器設定為支援自簽章憑證。否則,必須告訴使用者如何處理嘗試連線時瀏覽器中出現的「網站不受信任」警告。另一點需要說明的是,即使您設定了用戶端,那麼當憑證過期以及需要重新頒發憑證時,您也需要重新設定一次。

如何確定要使用的選項

在談到為 Tableau Server 的內部流量啟用 SSL 時,以下是我們喜好設定順序。如果首選選項對於您的組織不切實際(例如,您沒有內部 CA),請嘗試下一個選項。

  1. 如果您的組織具有內部 CA,請使用它。這樣,您可以在內部啟用 SSL,同時不讓您的使用者看到煩人的「憑證不受信任」瀏覽器訊息。

  2. 使用自簽章憑證並將用戶端設定為信任該憑證,或者向使用者說明可以為 Tableau Server 破一次例,並且可以忽略「網站不受信任」瀏覽器訊息。

  3. 從公開受信任的 CA 獲取憑證。

  4. 如果前三個選項沒有一個可用,請求您的 IT 部門幫助您完成所描述的建立內部 CA 的過程。

獲取和安裝 Tableau Server 的公開憑證

獲取憑證的過程因每個 CA 而異,成本也因 CA 和您獲得的憑證的層級而異。如果您的組織沒有 IT 部門,開始的最好方法就是使用像「獲取 ssl 憑證」這樣的短語搜尋 Web,並瀏覽不同 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 服務管理員 Web UI(連結在新視窗開啟)

  2. 「設定」索引標籤上,選取「安全」>「外部 SSL」

  3. 「外部 Web 伺服器 SSL」下,選取「伺服器伺服器通訊啟用 SSL」

  4. 上載憑證和金鑰檔案,並在環境需要的情況下上載鏈結檔案並輸入密碼金鑰:

    設定 SSL 螢幕擷取畫面

  5. 按一下「儲存暫止的變更」

  6. 按一下頁首的「暫止的變更」

  7. 按一下「套用變更並重新啟動」

檢視憑證

安裝檔之後,您可以在瀏覽器中巡覽到您的網站並檢視憑證。我們將在 Google Chrome 上使用 Tableau 網站向您展示其工作方式。

  1. 開啟瀏覽器並轉到 tableau.com

  2. 按一下網址列中出現的掛鎖以顯示安全概觀:

    顯示幕將顯示 Chrome 已經確定該網站使用的是有效且受信任的憑證。在安全概觀周圍按一下時,您也可以看到頒發憑證的 CA 和信任鏈。按一下此處的「憑證」可查看更具體的資訊(但是別擔心,這些資訊在此處沒有多大的意義)。

    您可以在不同的瀏覽器中試試此方法,以瞭解每個瀏覽器顯示憑證資訊或您登入到的不同網站(如網上銀行帳戶)的方式。

將來對自己好一點

當您獲得憑證檔案時,請記下其到期日,並立即設定一個排程以在憑證到期之前更新憑證。在您的日曆上設定提醒,以在到期日三個月之前進行提醒。記錄獲取憑證的連絡人,包括採購訂單、收據和票證號碼。

也要對下次可能會做這項工作的其他人好一點,請在您的系統文件中納入此資訊。

轉到設定與 Internet 的通訊繼續。

其他資源

感謝您的意見回饋!