Elasticsearch新增密碼驗證

2021-10-07 16:24:02 字數 1799 閱讀 4550

es集群開啟密碼驗證

elastic search簡稱為es,為乙個分布式的搜尋引擎,預設的es部署是沒有密碼驗證的,很容易會出現安全問題。

但是本文設定密碼之後,發現是使用base64加密的,呵呵,安全性也好不到**去。。

在es7.0版本以後安裝包預設自帶了xpack功能,所以只需要在es包下的config目錄修改一下es的預設配置檔案elasticsearch.yml即可,在elasticsearch.yml中配置以下引數:

xpack.security.enabled

:true

## 加密方式

xpack.license.self_generated.type

: basic

xpack.security.transport.ssl.enabled

:true

官網出處2

然後重啟es讓配置檔案生效,再到es包下bin目錄執行以下命令

win10中是反斜槓哦~

.\elasticsearch-setup-passwords interactive

ps:這些使用者許可權都是相同的。

設定完成以後,這時候再訪問es的位址,就會提示安全錯誤資訊了,到此,es的密碼設定完成。

這個沒太懂這個命令的**,curl可以在kibana上使用~

當es設定完成密碼後,就不能再像之前那樣隨心所欲的訪問了,否則會返回安全錯誤異常。

這時候我們在訪問的時候就需要把使用者名稱和密碼的認證資訊附加上去,如果你平時使用的是curl命令進行操作es,

那麼只需要在curl後增加–user 使用者名稱:密碼 即可,按照如下示例命令操作 :

curl ip:9200 --user elastic:888888

我是windows,我沒有curl ~

3.1 postman中就有authorization這一欄,只需要選擇相應的認證方式後,在右側輸入使用者名稱和密碼就好了

3.2 在瀏覽器中請求es的首頁,也就是

這時候會讓你輸入使用者名稱和密碼,當輸入後,會跳轉到首頁。

然後開啟瀏覽器的除錯功能,從該請求中獲取到authorization引數,如下:

我這裡google瀏覽器開的太多,就使用firefox了。

3.3 對使用者名稱密碼進行手動加密

因為在es的配置檔案中,選用的加密方式為basic,也就是該項xpack.license.self_generated.type: basic,

所以我們也可以對使用者名稱密碼進行手動加密,訪問位址,在輸入框中輸入elastic:123456,進行加密,並在頭部加上「basic 」字串就是最終的authorization的值了,該值與第一種方式獲取的是一致的。

獲取到authorization以後,在postman進行設定,即可如常訪問。

由 這裡可以看出來,其實這種加密方式用處也不是很大,可以使用瀏覽器就把密碼獲取到了。。

為ElasticSearch新增HTTP基本認證

es的http連線沒有提供任何的許可權控制措施,一旦部署在公共網路就容易有資料洩露的風險,尤其是加上類似elasticsearch head這樣友好的前端介面,簡直讓你的資料瞬間裸奔在黑客的眼皮底下。專案上線前做十萬伏特的防護當然不現實,但至少,我們不要裸奔,穿一套比基尼吧。而做乙個簡單的http認...

ElasticSearch新增 檢索資料

程式中大多的實體或物件能夠被序列化為包含鍵值對的json物件,鍵 key 是字段 field 或屬性 property 的名字,值 value 可以是字串 數字 波爾型別 另乙個物件 值陣列或者其他特殊型別,比如表示日期的字串或者表示地理位置的物件。文件元資料 document metadata 乙...

Elasticsearch新增拼音搜尋支援

乙份不錯的資料 elastic 搜尋開發實戰 拼音分詞擴充套件elasticsearch analysis pinyin安裝 文件 替換為 實際 index 替換為 實際 type put tokenizer link id update time 分詞測試 get analyze返回,1 新建索引...