Akiraka Akiraka
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
首页 › ELK › Elasticsearch X-Pack 插件破解

Elasticsearch X-Pack 插件破解

Akiraka12月前

文章目录

  • 一、准备工作
    • 1.1、 下载 Elasticsearch 7.9.1
    • 1.2、破解工具
    • 1.3、安装 JDK 8
  • 二、破解 X-PACK
    • 2.1、 打开 x-pack-core-7.9.1.jar 文件
    • 2.2、新建 LicenseVerifier.java 文件
    • 2.3、编译 LicenseVerifier.class
    • 2.4、解压打包
    • 2.5、替换 X-PACK 包
  • 三、申请 license 证书
    • 3.1、修改申请到的证书
    • 3.2、更新 license 文件
  • 四、开启 ES 登录功能
    • 4.1、 修改 elasticsearch.yml 配置
    • 4.2、修改 kibana 配置
    • 4.3、x-pack 设置完毕后,head 无法登陆的问题

一、准备工作

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/

Elasticsearch X-Pack 插件破解-Akiraka

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
#elasticsearch
0
分享
Akiraka 站长
文章 121评论 10
相关文章
  • Kubernetes(k8s)Helm 部署 EFK 集群
  • ELK 容器配置
  • docker-compose.yml
  • ElastrcSearch数据定期删除
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
121文章
10评论
47获赞
想找什么搜一下
文章聚合
设置pyspark 启动时所使用的python版本
1年前
GitLab 10.4.0 迁移到 Docker 版本 GitLab 12.10
6月前
Kubernetes(k8s)helm 部署 Nginx Ingress
12月前
Windows 批处理添加环境变量
1年前
mac使用zsh终端环境变量配置无效的解决方案
1年前
微信小程序
微信小程序
标签云
brew cdh centos cmd docker docker compose elasticsearch elk filebase filebeat gitlab grafana hadoop helm hive hue jdk jenkins k8s kibana kubernetes liniux linux logstash mac mikrotik mydumper mysql nfs nginx openssl oss php pip pyspark python RabbitMQ redis rocketmq shell Spark ubuntu windows ZooKeeper 容器编排
Copyright © 2019-2021 Akiraka. Designed by nicetheme. 沪18036911号