Elasticsearch 6.6.0 X-PACK 破解
准备环境
软件包版本
elasticsearch-6.6.0.rpm |
在做下列操作前,建议先停止Elasticsearch、Kibana
systemctl stop elasticsearch kibana |
如果是相同版本,可直接使用已破解好的相关 x-pack-6.6.0 文件:下载地址
反编译 x-pack-core-6.6.0.jar
下载Luyten:https://github.com/deathmarine/Luyten/release
从ES服务器上把x-pack-core-6.6.0.jar
下载到PC,打开Luyten软件,并把x-pack-core-6.6.0.jar
包拖入。
rpm包安装的elasticsearch插件路径:
/usr/share/elasticsearch/modules/x-pack-core/x-pack-core-6.6.0.jar
找到 org.elasticsearch.license.LicenseVerifier
、org.elasticsearch.xpack.core.XPackBuild
这两个文件。
选择文件后,使用 Luyten 的 Save As 提取出文件。
修改文件
1、修改LicenseVerifier.java
LicenseVerifier 中有两个静态方法,这就是验证授权文件是否有效的方法,我们把它修改为全部返回true。
package org.elasticsearch.license; |
2、修改XPackBuild.java
XPackBuild 中最后一个静态代码块中 try的部分全部删除,这部分会验证jar包是否被修改。
package org.elasticsearch.xpack.core; |
编译修改后的java文件
先将修改后的文件上传到ES服务器上,再进行编译。
- 编译生成新的 class 文件
javac -cp "/usr/share/elasticsearch/modules/x-pack-core/x-pack-core-6.6.0.jar:/usr/share/elasticsearch/lib/*" LicenseVerifier.java |
- 覆盖原class文件
复制并解压 x-pack-core-6.6.0.jar 文件
mkdir /opt/x-pack-core-6.6.0 |
把LicenseVerifier.class
、XPackBuild.class
覆盖原文件
LicenseVerifier.class 路径:
org/elasticsearch/license/LicenseVerifier.class
XPackBuild.class 路径:
org/elasticsearch/xpack/core/XPackBuild.class
重新打包并替换 x-pack-core-6.6.0.jar
- 打包
x-pack-core-6.6.0
为新的 x-pack-core-6.6.0.jar
cd /opt/x-pack-core-6.6.0/ |
- 备份原来的 x-pack-core-6.6.0.jar,并将新的 x-pack-core-6.6.0.jar 覆盖原文件
cp /usr/share/elasticsearch/modules/x-pack-core/x-pack-core-6.6.0.jar{,.bak} |
授权文件导入
1、禁用 x-pack security
先把禁用x-pack security
,否则不能正常导入 license 文件
vim /etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: false |
重启elasticsearch
systemctl restart elasticsearch.service |
2、修改授权文件
去官网申请basic授权文件:https://license.elastic.co/registration
根据邮箱里的链接下载授权文件,更改名为 license.json
修改 license.json 信息
{ |
3、导入 license
curl -XPUT -H "Content-Type: application/json" 'http://127.0.0.1:9200/_xpack/license' -d @license.json |
- 查看 license 授权
curl -XGET http://127.0.0.1:9200/_license |
ES开启x-pack认证
- 修改配置文件
/etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: true |
- 重启elasticsearch
systemctl restart elasticsearch.service |
设置ES密码
- 生成自定义密码
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive |
- 生成随机密码
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto |
Kibana开启x-pack认证
- 修改配置文件
vim /etc/kibana/kibana.yml
密码填写上一步生成的elastic用户密码
elasticsearch.username: "elastic" |
- 重启kibana
systemctl restart kibana.service |
- 访问kibana页面,验证x-pack
Logstash开启x-pack认证
- 在
logstash.yml
中配置验证
xpack.monitoring.enabled: true |
- 在
/etc/logstash/conf.d/test.conf
配置文件的 output 模块中配置验证验证
output { |
- 重启logstash