乾貨 | Elasticsearch 7.1免費安全功能全景認知

0、背景

2019年5月21日,Elastic官方發佈消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能現免費提供。
這意味着用戶現在能夠對網絡流量進行加密、創建和管理用戶、定義能夠保護索引和集羣級別訪問權限的角色,並且使用 Spaces 爲 Kibana
提供全面保護。 免費提供的核心安全功能如下:
1)TLS 功能。 可對通信進行加密;
2)文件和原生 Realm。 可用於創建和管理用戶;
3)基於角色的訪問控制。 可用於控制用戶對集羣 API 和索引的訪問權限;
通過針對 Kibana Spaces 的安全功能,還可允許在Kibana 中實現多租戶。

網上千篇一律都是這篇通稿,不實踐一把,感覺還是不好理解。
結合大家最關心的問題,從下面幾個認知維度,對Elasticsearch安全進行全面探討。

1、x-pack演變

在這裏插入圖片描述

  1. 5.X版本之前:沒有x-pack,是獨立的:security安全,watch查看,alert警告等獨立單元。
  2. 5.X版本:對原本的安全,警告,監視,圖形和報告做了一個封裝,形成了x-pack。
  3. 6.3 版本之前:需要額外安裝。
  4. 6.3版本及之後:已經集成在一起發佈,無需額外安裝,基礎安全屬於付費黃金版內容。 7 .1版本:基礎安全免費。

2、開源!=免費

2018年2月28日X-Pack 特性的所有代碼開源,主要包含:
Security、Monitoring、Alerting、Graph、Reporting、專門的 APM UI、Canvas、Elasticsearch SQL、Search Profiler、Grok Debugger、Elastic Maps Service zoom levels 以及 Machine Learning。

2019年5月21日免費開放了文章開頭的基礎安全功能,在這之前的版本都是僅有1個月的適用期限的。
如下功能點仍然是收費的。

付費黃金版&白金版提供功能:

  • 審覈日誌
  • IP 篩選
  • LDAP、PKI*和活動目錄身份驗證
  • Elasticsearch 令牌服務

付費白金版提供安全功能:

  • 單點登錄身份驗證(SAML、Kerberos*)
  • 基於屬性的權限控制
  • 字段和文檔級別安全性
  • 第三方整合(自定義身份驗證和授權 Realm)
  • 授權 Realm
  • 靜態數據加密支持
  • FIPS 140-2 模式
    在這裏插入圖片描述
    官方地址:https://www.elastic.co/cn/subscriptions

3、安全部分免費之前,大家怎麼保證基礎安全?

場景一:全部“裸奔”,相信這在國內佔據了非常大的比重。
內網部署,不對外提供服務。或者ES作爲業務基礎支撐,不公網開放9200等常用端口,開放的是業務的服務端口。
可能暴露問題:公司或團隊內部開放9200、5601端口,基本head插件、kibana都能連接,極易導致線上索引或數據可能被誤刪

場景二:加了簡單防護。
一般使用Nginx身份認證+防火牆策略控制。

場景三:整合使用了第三方安全認證方案。
比如:SearchGuard、ReadonlyREST。

場景四:付費購買了Elastic-Xpack黃金版或白金版服務。
一般是銀行等土豪大客戶,對安全、預警、機器學習等付費功能需求迫切,如:寧波銀行付費購買白金服務。

4、基於免費安全認證,我們能做什麼?

4.1 TLS 功能。

可對通信進行加密。

實踐一把。在本機win10環境,部署了2節點7.1集羣。

部署官網已經介紹非常詳細了:https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security
核心步驟:

  • 第一步:下載+基礎配置,2ES node+1kibana。
  • 第二步:配置TLS和認證。
    bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

注意
1、此配置適用於具有多個節點的集羣以及具有偵聽外部接口的單個節點的集羣。
2、使用環回接口的單節點集羣沒有此要求。

  • 第三步:設置ES等相關登錄密碼。
     bin/elasticsearch-setup-passwords auto

自動生成相對安全,也可以手動設置密碼。
在這裏插入圖片描述

  • 第四步:配置kibana。
    自此,多節點集羣之間的通信在傳輸層通過加密通信加了安全性(TLS / SSL)保護。

4.2 文件和原生 Realm。

可用於創建和管理用戶。
head插件安全登錄:
在這裏插入圖片描述

kibana安全登錄:
在這裏插入圖片描述
相比於未使用x-pack安全防護的集羣,節點之間的通信wireshark抓包已不能解密。

4.3 基於角色的訪問控制。

可用於控制用戶對集羣 API 和索引的訪問權限;

通過針對 Kibana Spaces 的安全功能,還可允許在 Kibana 中實現多租戶。
權限部分分解爲3個維度(相對不嚴謹,Space更偏向於Kibana維度):
1、Space維度、
2、角色維度、
3、用戶維度。
在這裏插入圖片描述
Space是Elastic6.5版本引入的新特性,便於便於企業分組管理。
比如:開發、測試、運維、產品可以是不同的視角。
在這裏插入圖片描述
角色:設置Elasticsearch數據的權限並控制對Kibana空間的訪問。
在這裏插入圖片描述
用戶:關聯對應的角色。1個角色下可以有多個用戶,但一個用戶唯一對應一個角色。
在這裏插入圖片描述

4.4 其他

不盡興怎麼辦? 其他內容待實踐後補充完善。

5、小結

  • 關於安全:之前文章“你的Elasticsearch在“裸奔”嗎?”有過總結,“裸奔”Elastic集羣的風險非常大,我們必須提前加強重視。
  • 關於費用:中小企業客戶基本是沒有也不可能付費買商業版的(坊間傳聞:x-pack黃金版40000+每年;白金版60000+每年)。基礎安全免費給大家帶來非常利好的消息。
  • 關於選型:Elastic7.1的基礎安全免費,基本解決了中小企業的安全問題,在後續7.X版本的選型中,7.1 較7.0更有鮮明的安全特點,應該優先選擇。

參考:
1、5.X x-pack:https://www.elastic.co/cn/blog/heya-elastic-stack-and-x-pack
2、https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security

在這裏插入圖片描述
銘毅天下——Elasticsearch基礎、進階、實戰第一公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章