ELK之破解x-pack 6.0及更新许可

破解x-pack 6.0及更新许可


背景
安装X-Pack时,默认会有30天的试用许可证,试用期结束后会无法访问,这时就需要到官网申请一年的免费license,所以。。。。

破解x-pack

用破解的x-pack-6.0.0.jar替换/usr/local/elk/elasticsearch-6.0.0/plugins/x-pack/目录中原有的x-pack-6.0.0.jar包,
如果还没有安装x-pack,可以把从官网上下载的x-pack-6.0.0.zip包中的x-pack-6.0.0.jar替换掉,然后用替换后的x-pack-6.0.0.zip进行安装。

/usr/local/elk/elasticsearch-6.0.0/为elasticsearch的安装目录
不要在windows下进行压缩解压缩

反编译class文件

mkdir test    # 新建测试目录  
mv /usr/local/elasticsearch/plugins/x-pack/x-pack-6.0.0.jar test/   # 移动jar包到测试目录   
cd test/     # 切换到测试目录
jar -xvf x-pack-6.0.0.jar    # 解压jar包
rm x-pack-6.0.0.jar     # 移除jar包

找到test/org/elasticsearch/license/LicenseVerifier.class文件,并用Luyten反编译,并拷贝内容到新建的文件LicenseVerifier.java中,内容如下:

package org.elasticsearch.license;
public class LicenseVerifier
{
    public static boolean verifyLicense(final License license, final byte[] encryptedPublicKeyData) {
        return true;
    }
    public static boolean verifyLicense(final License license) {
        return true;
    }
}   

重新编译LicenseVerifier.java:

javac -cp "/usr/local/elk/elasticsearch-6.0.0/lib/elasticsearch-6.0.0.jar:/usr/local/elk/elasticsearch-6.0.0/lib/lucene-core-7.0.1.jar:/usr/local/elk/elasticsearch-6.0.0/plugins/x-pack/x-pack-6.0.0.jar" LicenseVerifier.java

替换原有的class文件:

cp LicenseVerifier.class /usr/local/elk/elasticsearch-6.0.0/plugins/x-pack/test/org/elasticsearch/license/

重新打jar包:

cd /usr/local/elk/elasticsearch-6.0.0/plugins/x-pack/test/
jar -cvf x-pack-6.0.0.jar ./*

覆盖原来x-pack的jar包:

mv x-pack-6.0.0.jar :/usr/local/elk/elasticsearch-6.0.0/plugins/x-pack/

更新许可

去官网申请免费license,会发邮件给你进行下载;
将下载的文件重命名为license.json,并做如下修改:

"type":"platinum"   #白金版
"expiry_date_in_millis":2524579200999   #截止日期 2050年

然后将修改好的文件上传到服务器的任意目录,然后在该目录中执行如下命令:

 curl -XPUT -u elastic 'http://192.168.20.101:9200/_xpack/license' -H "Content-Type: application/json" -d @license.json
 或者
 curl -XPUT -u elastic 'http://192.168.20.60:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json

官方文档:https://www.elastic.co/guide/en/x-pack/6.0/installing-license.html

elasticsearch 6.0.0更新license文件时,要么配置SSL\TLS,要么就禁用security

禁用:配置elasticsearch.yml,加入:

xpack.security.enabled: false

更新完license后如果开启security,配置传输层安全性(TLS / SSL)。(如果您拥有非试用许可证并且想要使用X-Pack安全性,则必须配置TLS以进行节点间通信。)
最后重启elasticsearch。

查看license状态:

curl -XGET -u elastic "http://192.168.20.101:9200/_license"

或者在kibana中查看:
这里写图片描述

更新时遇到的问题:(忘记了elastic用户的密码)
安装完x-pack时通过交互式命令设置了内置用户的密码

/usr/local/elk/elasticsearch-6.0.0/bin/x-pack/setup-passwords interactive 
#只在第一次使用的时候有效

忘记了密码,可以通过创建备用超级用户来重置密码,方法如下:

1.停止您的elasticsearch节点
2.创建备用超级用户:

/usr/local/elk/elasticsearch-6.0.0/bin/x-pack/users useradd admin -p 123456 -r superuser

3.启动您的elasticsearch节点
4.使用curl重置elastic用户密码

curl -u admin -XPUT 'http://192.168.20.101:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password" : "elastic"
}
' 

5.验证新密码

curl -u elastic 'http://192.168.20.101:9200/_xpack/security/_authenticate?pretty'

参考链接

https://blog.csdn.net/lilongsy/article/details/78987784
https://blog.csdn.net/u013066244/article/details/73927756
https://discuss.elastic.co/t/i-lost-the-password-that-has-been-changed/91867

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值