資料千萬條,安全第一條
短短一個月內Elasticsearch被曝了5次資料洩露事件。他們一定沒有看到女主大大之前發過的文章《謹慎前行-淺談Elasticsearch安全策略》,今天帶大家回顧一下~
ElasticSearch伺服器這一為搜尋功能提供動力的技術,在2019年的第一個月就頻繁地發生了資料洩露事件,而且洩露資料的輻射面都不算小。
VOIPO 超百萬的電話和簡訊資料洩露;
青年學生組織 AIESEC 的 400 萬條志願者資訊洩露;
線上賭場洩漏 1.08 億投注資訊;
美國多家大銀行貸款檔案遭洩露,檔案數量達 2400 萬;
美國多家大銀行貸款檔案遭洩露,檔案數量達 2400 萬;
真是不能讓人好好過年
為此,
360 DBA 團隊提醒您
資料千萬條,安全第一條
使用不謹慎,使用者兩行淚
在之前的文章《謹慎前行-淺談Elasticsearch安全策略》,分享了我們團隊所做的一系列保證Elasticsearch的安全的措施,今天帶大家回顧一下重點~~
安全策略
網路層
除卻“內鬼”的因素,駭客的攻擊基本都是透過外部網路,所以這裡是保障Elasticsearch安全的第一道屏障。相信大家都有自己的網路安全策略,硬體防火牆也好,軟體防火牆也罷,按照自己的需求做好設定和維護即可。可是如果沒有的話,那對不起,“蓬門今始為君開”,駭客豈有不光顧的道理。
OS層
如果說網路屏障給大家圈起了“院牆”,那我們伺服器上的公網IP就像是搭在後院牆上的“梯子”。雖然有了圍牆,卻也難保不會有順梯翻牆的“樑上君子”。所以如果大家的Elasticsearch都在內網環境使用,儘量解除安裝掉沒有使用的公網IP吧,騰出網路卡做更多有意義的事情。
普通使用者啟動
之前已經不止一次的曝出Linux下各種ROOT提權的問題,所以還是建議使用非ROOT使用者啟動Elasticsearch吧,並且相關資料目錄的許可權和屬主一併改為非ROOT使用者。就像是把你家金庫託管給你最信任的人一樣。
Server層
替換預設埠
眾所周知,Elasticsearch預設的http.port是9200,叢集各節點間的通訊埠transport.tcp.port是9300;這就像是你家金庫的大門,如果一眼就能辨識,那駭客攻擊就可以在最短的時間做到有的放矢。
所以強烈建議替換掉Elasticsearch的監控埠,就像是給你家金庫做了個“暗門”,駭客想要進入金庫至少先得找到門路才行。
使用者及許可權認證
如果說Elasticsearch是一個存放著寶貝,時刻受到“樑上君子”覬覦的保險櫃,那麼沒有開啟許可權認證的Elasticsearch就像是沒有密碼鎖一樣,只要找到了這個保險櫃,那裡面的寶貝就可以任之取之了。所以要避免駭客入侵的最有力的手段,也是最後一層屏障,那就是使用者及許可權認證。
可是在開題我們就說到了,Elasticsearch本身沒有使用者及許可權認證體系。
雖然官方提供了自己的許可權管理系統—— Shield, 但是它——收費! (小編不自覺的豎起了中指)
本著“能免費用,絕不花錢買”的持家宗旨,在這裡給大家介紹一款實用的開源Elasticsearch許可權管理系統——Search Guard
先來看看Search Guard都支援哪些功能及特性:(請原諒小編是個截圖黨)
接下來就大家最關心的問題簡單總結一下(這裡只翻譯一下免費版提供的功能)
Search Guard支援Transport Layer(Node-to-node)和REST Layer(HTTP/HTTPS)的SSL/TLS加密傳輸,並且Transport Layer和REST Layer都可以單獨配置是否開啟SSL/TLS加密。
Search Guard提供了一套完整的“使用者-角色-許可權”控制系統。免費版許可權可以控制到indice/type、host級別。
如果需要Document level security(DLS)和Field level security(FLS)級別的許可權控制,或者Audit logging審計功能,或者需要支援如LDAP、Kerberos等第三方使用者認證系統的話,那就乖乖購買Enterprise License吧(每個叢集一個License,無所謂叢集規模)。
Search Guard許可權可以動態配置,我們可以把需要的許可權新增到對應的檔案,這些檔案都作為文件儲存在Elasticsearch中的searchguard索引中,然後透過sgadmin工具來更新配置(即將檔案載入到ES),載入後立即生效,無需重啟ES節點。
Search Guard 以外掛的形式釋出,它要提供服務需要依賴Search Guard SSL。在Elasticsearch 5.x之前需要單獨安裝Search Guard和Search Guard SSL;Elasticsearch 5.x之後,Search Guard預設已經整合了對應版本的Search Guard SSL,無需單獨安裝了。
補充一點,Search Guard可以實現和Logstash、Kibana的完美結合,對於使用ELK的使用者大可不必擔心,修改整合很容易的。
並且,Elasticsearch在5.x之後,對Search Guard、Search Guard SSL (當然還有Logstash 、Kibana)等外掛的版本號都做了統一,變得更加的簡單直觀了。
總結
以上是我們在部署Elasticsearch時所作的一些安全策略,把這些分享出來希望可以幫助到大家。有一些策略其實很簡單,可往往越是細小的點,越容易被大家忽略,越容易成為日後維護的坑。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555491/viewspace-2636498/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何快速安全的插入千萬條資料
- 資料千萬條,備份第一條,資料找不回,老闆兩行淚
- 【CSS系列】命名千萬條,BEM第一條CSS
- 道路千萬條,安全第一條——一次伺服器被入侵的處理經過伺服器
- java之5分鐘插入千萬條資料Java
- 第一條
- 千萬條資料,Stack Overflow 是如何實現快速分頁的?
- MySQL製作具有千萬條測試資料的測試庫MySql
- sql 多組條資料取最新的一條資料SQL
- mysql 查詢出重複資料的第一條MySql
- 《Learning ELK Stack》2 構建第一條ELK資料管道
- 第一條部落格
- 第一條隨筆
- 用一條mysql語句插入多條資料MySql
- postgresql 多條記錄合併一條,或取最新的一條資料SQL
- 大資料學習筆記500條【第一彈】,記得收藏!大資料筆記
- 特殊條件資料傳輸
- MySQL 資料庫生成 10000 條測試資料MySql資料庫
- A站受黑客攻擊:近千萬條使用者資料外洩 涉ID及密碼等黑客密碼
- 提高mysql千萬級大資料SQL查詢優化30條經驗(Mysql索引優化注意)MySql大資料優化索引
- excel刪除重複資料保留一條 如何刪掉重複資料只留一條Excel
- MyBatis 查詢資料時屬性中多對一的問題(多條資料對應一條資料)MyBatis
- 基於企業微信的工資條傳送工具 - 工資條幫 正式釋出第一個版本
- 今日頭條:2018今日頭條兩會閱讀大資料(附下載)大資料
- [譯] 使用 python 分析 14 億條資料Python
- 跳轉滿足條件的資料
- Oracle查詢前100萬條資料Oracle
- laravel 新增一條資料並返回 IDLaravel
- Java 設定Excel條件格式(高亮條件值、應用單元格值/公式/資料條等型別)JavaExcel公式型別
- Azure DevOps (四) 建立第一條流水線dev
- Adobe資料庫暴露750萬條使用者資料資料庫
- 鄭州埃文科技安全頭條
- Mysql生成100w條測試資料MySql
- 資料治理的十二條技術原則
- 宜信的105條資料庫軍規資料庫
- 2.2.4 建立資料庫的先決條件資料庫
- sqlserver根據條件去除重複資料SQLServer
- 使用Excel資料進行條件刪除Excel