原創|大數據產品動態|編輯:況魚杰|2020-06-23 13:35:16.777|閱讀 484 次
概述:有線加密可保護移動中的數據,而傳輸層安全性(TLS)是有線加密中使用最廣泛的安全協議。 TLS通過對端點之間傳輸的數據包進行加密,在通過網絡進行通信的應用程序之間提供身份驗證,隱私和數據完整性。 用戶通過瀏覽器或命令行工具與Hadoop集群進行交互,而應用程序則使用REST API或Thrift。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
有線加密可保護移動中的數據,而傳輸層安全性(TLS)是有線加密中使用最廣泛的安全協議。 TLS通過對端點之間傳輸的數據包進行加密,在通過網絡進行通信的應用程序之間提供身份驗證,隱私和數據完整性。 用戶通過瀏覽器或命令行工具與Hadoop集群進行交互,而應用程序則使用REST API或Thrift。
手動啟用TLS的步驟
下面介紹了在Hortonworks Data Platform(HDP)或Cloudera Enterprise(CDH)群集上啟用有線加密的典型過程。
取得證書
在每個主機上生成一個公共/私有密鑰對
為所有主機生成證書簽名請求(CSR)。
獲取由公司內部證書頒發機構(CA)簽署的CSR。
生成密鑰庫和信任庫,并將其部署在所有群集主機上。
集群配置
持續維護
使用Ambari,可以在Hortonworks數據平臺(HDP)中使用以下步驟啟用TLS。 在Cloudera Manager(CM)中,可以使用以下步驟手動啟用TLS。 從歷史上看,這一直是在CDH分發上實施TLS的標準過程。
Cloudera Manager中的自動TLS功能
在大型部署中,上述過程可能是一項巨大的工作,通常會導致部署時間長和操作困難。 自動TLS功能自動執行在群集級別啟用TLS加密所需的所有步驟。 使用自動TLS,您可以讓Cloudera管理群集中所有證書的證書頒發機構(CA)或使用公司現有的CA。 在大多數情況下,可以通過Cloudera Manager UI輕松啟用所有必需的步驟。 此功能可自動執行以下過程:
自動TLS功能類似于kube master現在如何在香草Kubernetes群集上對節點證書進行自簽名,而CM的好處是它在保護群集服務方面也邁出了第一步。
選項1 –使用Cloudera Manager生成內部證書頒發機構和相應的證書
最簡單的選擇是讓Cloudera Manager創建和管理自己的證書頒發機構。 要選擇此選項,請從Cloudera Manager中轉到管理>安全性>啟用自動TLS并完成向導。
系統將提示您啟動Cloudera Manager,然后啟動Cloudera管理服務和所有受影響的群集。啟動Cloudera Manager服務器時,默認情況下應該在TLS端口7183上看到UI。瀏覽器將顯示來自SCM本地CA機構的自簽名證書,如下所示。瀏覽器顯示警告,因為它不知道CM生成的根CA。將根CA導入客戶端瀏覽器的信任庫后,瀏覽器將不會顯示此警告。
設置群集時,應該看到一條消息,說明已啟用自動TLS。繼續安裝所需的服務。整個群集均經過TLS加密。任何新的主機或服務都將自動配置。這是默認情況下啟用TLS加密的HDFS服務的示例(在信任Cloudera Manager生成的根證書之后)。
盡管此選項是最簡單的,但它可能不適用于某些公司部署,這些公司的TLS證書由公司現有的證書頒發機構(CA)頒發,以維護集中的信任鏈。
選項2 –使用現有的證書頒發機構
您可以將Cloudera Manager CA設置為現有Root CA的中間CA,也可以手動生成由現有Root CA簽名的證書并將其上載到Cloudera Manager。以下將這兩個選項描述為2a和2b。
選項2a –使用現有的根CA啟用自動TLS
僅對于新安裝,您可以使Cloudera Manager成為一個中間CA,該CA為所有群集主機和服務簽署證書。這是一個三步過程。首先,使Cloudera Manager生成證書簽名請求(CSR)。其次,由公司的證書頒發機構(CA)簽署CSR。第三,提供簽名證書鏈以繼續自動TLS設置。下面的示例演示了這三個步驟。
在啟動Cloudera Manager之前,使用–stop-at-csr 選項初始化證書管理器。
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk; /opt/cloudera/cm-agent/bin/certmanager --location /var/lib/cloudera-scm-server/certmanager setup --configure-services --stop-at-csr
這將在/var/lib/cloudera-scm-server/certmanager/CMCA/private/ca_csr.pem中生成證書簽名請求(CSR)文件。如果仔細檢查CSR,您將看到CSR請求必要的擴展名X509v3密鑰用法:關鍵證書簽名,用于自行簽署證書。
獲得簽名證書后,請確保該證書具有所需的擴展名– X509v3基本約束:CA:TRUE和X509v3密鑰用法:密鑰證書簽名。 使用以下命令繼續安裝。
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk; /opt/cloudera/cm-agent/bin/certmanager --location /var/lib/cloudera-scm-server/certmanager setup --configure-services --signed-ca-cert=cm_cert_chain.pem
啟動Cloudera Manager,它應該從TLS端口7183上的UI開始。如果已將簽名的中間證書已導入到客戶端瀏覽器的信任庫中,那么您應該不會看到任何警告。 在下面的屏幕截圖中,“ Vkarthikeyan內部根CA”是根證書。 該證書已被系統信任,并已簽署Cloudera中間CA。
選項2b –使用現有證書啟用自動TLS
如果您有一個需要啟用自動TLS的現有群集,或者需要獲得由該公司現有CA單獨簽名的主機證書,請使用以下方法。 此選項增加了為任何新主機生成證書并通過API請求上傳到Cloudera Manager的操作開銷。 在此選項中,將暫存由CA簽名的證書,并通過調用Cloudera Manager API啟用自動TLS。
在Cloudera Manager服務器中創建Auto-TLS目錄/ opt / cloudera / AutoTLS。 該目錄必須由cloudera-scm用戶擁有。
為每個主機創建一個公用/專用密鑰,并生成相應的證書簽名請求(CSR)。 由公司的證書頒發機構(CA)簽署這些CSR。
在CM服務器上準備公司CA簽署的所有證書。 在此示例中,所有證書都位于/ tmp / auto-tls目錄下。 用于密鑰庫和信任庫的密碼分別存在于key.pwd和truststore.pwd文件中。
如下運行Cloudera Manager API
curl -i -v -uadmin:admin -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "location" : "/opt/cloudera/AutoTLS", "customCA" : true, "interpretAsFilenames" : true, "cmHostCert" : "/tmp/auto-tls/certs/ccycloud-7.vcdp71.root.hwx.site.pem", "cmHostKey" : "/tmp/auto-tls/keys/ccycloud-7.vcdp71.root.hwx.site-key.pem", "caCert" : "/tmp/auto-tls/ca-certs/cfssl-chain-truststore.pem", "keystorePasswd" : "/tmp/auto-tls/keys/key.pwd", "truststorePasswd" : "/tmp/auto-tls/ca-certs/truststore.pwd", "hostCerts" : [ { "hostname" : "ccycloud-7.vcdp71.root.hwx.site", "certificate" : "/tmp/auto-tls/certs/ccycloud-7.vcdp71.root.hwx.site.pem", "key" : "/tmp/auto-tls/keys/ccycloud-7.vcdp71.root.hwx.site-key.pem" }, { "hostname" : "ccycloud-3.vcdp71.root.hwx.site", "certificate" : "/tmp/auto-tls/certs/ccycloud-3.vcdp71.root.hwx.site.pem", "key" : "/tmp/auto-tls/keys/ccycloud-3.vcdp71.root.hwx.site-key.pem" }, { "hostname" : "ccycloud-2.vcdp71.root.hwx.site", "certificate" : "/tmp/auto-tls/certs/ccycloud-3.vcdp71.root.hwx.site.pem", "key" : "/tmp/auto-tls/keys/ccycloud-3.vcdp71.root.hwx.site-key.pem" }, { "hostname" : "ccycloud-1.vcdp71.root.hwx.site", "certificate" : "/tmp/auto-tls/certs/ccycloud-1.vcdp71.root.hwx.site.pem", "key" : "/tmp/auto-tls/keys/ccycloud-1.vcdp71.root.hwx.site-key.pem" } ], "configureAllServices" : "true", "sshPort" : 22, "userName" : "root", "password" : "cloudera" }' '//ccycloud-7.vcdp71.root.hwx.site:7180/api/v41/cm/commands/generateCmca'
此API成功返回后,您應該看到最近運行的命令如下。
“添加主機”向導將提示以下屏幕,其中包含有關上載證書的說明。
使用以下命令將證書上載到CM。
curl -uadmin:admin -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "location": "/opt/cloudera/AutoTLS", "interpretAsFilenames": true, "hostCerts": [ { "hostname": "ccycloud-10.vcdp71.root.hwx.site", "Certificate": "/tmp/auto-tls/certs/ccycloud-10.vcdp71.root.hwx.site.pem", "Key": "/tmp/auto-tls/certs/ccycloud-10.vcdp71.root.hwx.site.pemm" } ] }' '//ccycloud-7.vcdp71.root.hwx.site:7183/api/v41/cm/commands/addCustomCerts'
照常繼續添加主機。
在此示例中,用于簽署所有證書的CA是“安全實驗室中間CA”,可以在下面的屏幕快照中找到–Cloudera Manager用戶界面
新集群部署
使用以上任何選項,在啟用了自動TLS的CM上創建新群集時,您可以重用現有TLS設置。當啟動向導創建新群集時,應該看到以下消息。現在,當您部署群集時,所有服務都將通過有線加密自動配置。
摘要
自動TLS功能不僅可以加快有線加密的初始設置,還可以自動執行群集的將來TLS配置步驟。下表總結了此博客中描述的選項之間的差異。
步驟
HDP / EDH(手動)
CDP DC
CDP DC
CDP DC
選項1
選項2a
選項2b
產生企業社會責任
手動
自動
自動
手動
CA簽署的CSR
手動
自動
一次
手動
將證書部署到所有主機
手動
自動
自動
自動
每個服務的配置
手動
自動
自動
自動
集群重啟
多種
一次
一次
一次
配置步驟
手動
自動
自動
自動
新服務步驟
手動
自動
自動
自動
新的主機證書生成
手動
自動
自動
手動
自動TLS功能極大地減少了群集TLS管理的開銷,從而提供了增強的安全性并減少了操作開銷,并幫助您專注于客戶及其工作負載。 喜歡你看到的嗎? 立即試用新的Cloudera數據平臺數據中心!
關于Cloudera
在 Cloudera,我們相信數據可以使今天的不可能,在明天成為可能。我們使人們能夠將復雜的數據轉換為清晰而可行的洞察力。Cloudera為任何地方的任何數據從邊緣到人工智能提供企業數據云平臺服務。在開源社區不懈創新的支持下,Cloudera推動了全球最大型企業的數字化轉型歷程。
慧都大數據專業團隊為企業提供Cloudera大數據平臺搭建,免費業務咨詢,定制開發等完整服務,快速、輕松、低成本將任何Hadoop集群從試用階段轉移到生產階段。
歡迎撥打慧都熱線023-68661681或咨詢慧都在線客服,我們有專業的大數據團隊,為您提供免費大數據相關業務咨詢!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn