[ElasticSearch] 使用者管理 X-Pack

雖然 ElasticSearch 是屬於開源的  NoSQL 資料庫,但是還是有部分插件是屬於要付費啟動的。ElasticSearch 資料庫預設來做使用者管理的套件是 x-pack,一般來說會提供 30 天的試用期,之後就鎖住功能,所以網路上可以查到 x-pack 的破解程序,以下提供 ElasticSearch 5.6.15 版本的破解檔案,詳細的破解方法可以參考 Link.

破解的主要邏輯為修改其中一個  LicenseVerifier.java 將其中的 verifyLicense 函式給 Bypass 掉,並且重新編譯,以下直接提供已經編譯完的 jar 檔,並利用以下範例將程式檔放在 plugins 中。x-pack-5.6.15.jar

cd /elasticsearch/plugins/x-pack
mv x-pack-5.6.15.jar x-pack-5.6.15_bkp.jar
mv downloadedfile x-pack-5.6.15.jar

另外也需要重新更新 License.json (license.json) ,可以到 https://license.elastic.co/registration 申請 30 天試用並自己修改,或者下載以上提供的檔案,最重要的是將 expiry_date_in_millis 與 type 修改並且重新透過 HTTP request 送回給 ElasticSearch.

curl -XPUT -u elastic 'http://your_ip:9200/_xpack/license' -H "Content-Type:application/json" -d @ license.json
curl -XGET -u elastic:changeme 'http://your_ip:9200/_xpack/license'

指令一:更新 license 檔案
指令二:下載 license 檔案確認是否已經更新

更新完驗證碼之後附上一張登入畫面的圖片,就可以無限使用 ElasticSearch + Kibana 了!

[後話] 若是不想要破解 ElasticSearch 的 X-pack 模組又想要進行使用者管理的話應該要怎麼辦?可以使用 SearchGuard 提供的管理。