Elasticsearch X-Pack 插件破解

一、准备工作

1.1、 下载 Elasticsearch 7.9.1

  • 最好是使用什么版本就破解什么版本 x-pack
  • 如果是 elasticsearch 6.2 以前版本应该下载官方单独的 x-pack 破解就可以了
  • 可以在 elasticsearch-7.6.1/modules/x-pack-core 找到 x-pack-core-7.9.1.jar
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.1-linux-x86_64.tar.gz
tar xvf elasticsearch-7.9.1-linux-x86_64.tar.gz

1.2、破解工具

  • 我这里使用的是 Luyten 工具
  • 本地需要安装 jdk
#   软件下载地址
https://github.com/deathmarine/Luyten/releases/tag/v0.5.4_Rebuilt_with_Latest_depenencies

1.3、安装 JDK 8

  • 推荐用 jdk 8 高版本可能 Luyten 无法运行
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

二、破解 X-PACK

2.1、 打开 x-pack-core-7.9.1.jar 文件

  • 找到 LicenseVerifier.class文件
  • 路径:org.elasticsearch.license/LicenseVerifier.class
  • 如果代码变化不大就别管了直接下一步,变化大就修改下,修改为 True
  • 文件位置:elasticsearch-7.9.1/modules/x-pack-core/

2.2、新建 LicenseVerifier.java 文件

  • 全部返回 True
  • 这一步在 linux 机器上操作
  • 注意:这里开始在 elasticsearch-7.9.1 文件夹中操作
cat > LicenseVerifier.java << EOF
package org.elasticsearch.license;

public class LicenseVerifier
{
    public static boolean verifyLicense(final License license, final byte[] array) {
        return true;
    }

    public static boolean verifyLicense(final License license) {
        return true;
    }
}
EOF

2.3、编译 LicenseVerifier.class

  • 我们需要进行编译,正常情况,我们可能需要对这个项目编译。
  • 其实 javac 命令也可以对单个文件进行编译,只需要进入相应的类路径就可以。
#   开始编译
javac -cp "lib/elasticsearch-7.9.1.jar:lib/lucene-core-8.4.0.jar:modules/x-pack-core/x-pack-core-7.9.1.jar" LicenseVerifier.java

#   编译完成会多一个 LicenseVerifier.class 文件
MacBook-Pro:elasticsearch-7.9.1 akiraka$ ls
LicenseVerifier.class config                logs
LicenseVerifier.java  jdk                   modules
bin                   lib                   plugins

2.4、解压打包

#   创建临时文件夹解压 jar
mkdir pack-tmp
#   将 x-pack-core-7.9.1.jar 复制到 elasticsearch 目录中
cp modules/x-pack-core/x-pack-core-7.9.1.jar pack-tmp
#   进入 pack-tmp 目录
cd pack-tmp
#   解压 x-pack-core
jar -xvf x-pack-core-7.9.1.jar
#   删除 x-pack-core-7.9.1.jar
rm -rf x-pack-core-7.9.1.jar

#   删除原文件,将新编译的拷贝到该位置
rm -rf org/elasticsearch/license/LicenseVerifier.class
cp ../LicenseVerifier.class org/elasticsearch/license/

#   重新打包
jar -cvf x-pack-core-7.9.1.jar ./*

2.5、替换 X-PACK 包

  • 将破解好的包替换进去
cp -f x-pack-core-7.9.1.jar ../modules/x-pack-core/

三、申请 license 证书

  • 邮箱认真写,用来接收json文件的
  • country写china,其它都可以随便写
  • 点击申请后邮箱马上会收到一个邮件
https://license.elastic.co/registration

3.1、修改申请到的证书

  • 主要修改这几个地方
    1) "type":"basic" 替换为 "type":"platinum" # 基础版变更为铂金版
    2) "expiry_date_in_millis":1561420799999 替换为 "expiry_date_in_millis":3107746200000# 1年变为50年
#   例子
{"license":{"uid":"ba9ae270-28ee-4051-810f-09469dfd4aa4","type":"platinum","issue_date_in_millis":1498694400000,"expiry_date_in_millis":2524579200999,"max_nodes":100,"issued_to":"yu tao (shanghai)","issuer":"Web Form","signature":"AAAAAwAAAA0d3SXUL/5bRSxB/OU4AAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQCBFriH7K2dVFXmsQLHDvpY0Ppda0FHGTDSjAmnCcplQWaNKHtX+DR6znV+vOiokhQ8s/Yz5PmI5GFhsqkLEWXl975x1/8GHaDgb7aMv7UzciFw2duWsrH8mKTGGr2wHUKMVW7pUx2Kcr5WkH0G3ax3gynsvnYTApqWiyWdkdPX/jR/T1UhfjEqpCKCQryj+aNLxy2GP+4wF/wH4NvmDF0aWALFCKDAWhuDMCNmm+oKrLrgcIXyQERk7JBf5rZG5Xm7ViiyQ8aFf8X4CN7hA8xxrPmT57jtTrX9d4Q3Kf4jEBVeUnk/qa1Doj0/Ezn2G0vVE2oRQOXmUp9nwo0JTAHj","start_date_in_millis":1498694400000}}

3.2、更新 license 文件

  • 解完成的 x-pack 无法在 kibana 中导入证书
#   elasticsearch 没有密码
curl -XPUT -u user:password 'http://127.0.0.1:9200/_license' -H 'Content-Type: application/json' -d @license.json

四、开启 ES 登录功能

  • 重置登陆权限密码,默认为changeme
  • 按步骤分别重置elastic/kibana等账号的密码
  • elastic就是登陆elasticsearch服务的最高权限账号
#   在 elasticsearch 目录中操作
bin/elasticsearch-setup-passwords interactive

4.1、 修改 elasticsearch.yml 配置

# 开启x-pack安全验证
# 设置密码 ./bin/elasticsearch-setup-passwords interactive
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

# 生成es秘钥 ./bin/elasticsearch-certutil cert -out config/elastic-cert.p12 -pass ""
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: 填写秘钥路径
xpack.security.transport.ssl.truststore.path: 填写秘钥路径

4.2、修改 kibana 配置

elasticsearch.username: "elastic"
elasticsearch.password: "填写密码"

4.3、x-pack 设置完毕后,head 无法登陆的问题

  • 这个老版本中有,新版本 7.3 就没遇到过,过去 4.x 5.x 有用到过
# 在elasticsearch.yml中添加如下三行配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

版权声明:
作者:Akiraka
链接:https://www.akiraka.net/elk/430.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
Elasticsearch X-Pack 插件破解
一、准备工作 1.1、 下载 Elasticsearch 7.9.1 最好是使用什么版本就破解什么版本 x-pack 如果是 elasticsearch 6.2 以前版本应该下载官方单独的 x-pack 破解……
<<上一篇
下一篇>>
文章目录
关闭
目 录