美文网首页
破解x-pack 6.0和更新许可证(License)

破解x-pack 6.0和更新许可证(License)

作者: sweet_yx | 来源:发表于2018-01-17 10:35 被阅读0次

    环境

    Ubuntu 16.04.2 LTS
    JDK 1.8.0_131
    XShell 5
    Luyten 0.5.0
    Elasticsearch 6.0
    Kibana 6.0
    Logstash 6.0
    x-pack 6.0
    注意:
    不要在windows下加压缩jar包,要使用jar命令解压缩jar包。
    x-pack 6.0.0 没有默认密码,需要自动生成密码:

    bin/x-pack/setup-passwords auto
    

    破解

    反编译class文件

    在elasticsearch安装目录plugins/x-pack/找到x-pack-6.0.0.jar文件。

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

    找到文件org.elasticsearch/license/LicenseVerifier.class,并用Luyten(jd-gui不准)反编译,并拷贝内容到新建的文件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;
        }
    }
    

    在Linux任意目录下重新编译LicenseVerifier.java

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

    替换原来的class文件“

    cp ../LicenseVerifier.class org/elasticsearch/license/
    
    # 重新打包jar包
    jar -cvf x-pack-6.0.0.jar ./*
    
    # 覆盖原来x-pack的jar包
    mv x-pack-6.0.0.jar /usr/local/elasticsearch/plugins/x-pack
    

    配置新的license文件

    {"license":{
        "uid":"aaa",
        "type":"platinum",
        "issue_date_in_millis":1515024000000,
        "expiry_date_in_millis":1596646399999,
        "max_nodes":100,
        "issued_to":"aaa",
        "issuer":"Web Form",
        "signature":"111",
        "start_date_in_millis":1515024000000
        }
    }
    

    这里配置过期日期截至到2020年,白金版(platinum)。
    保存文件为:license.json

    更新License文件

    因为elasticsearch 6.0.0,现在更新license文件时,要么配置SSL\TLS,要么就禁用security。
    更新之前先配置elasticsearch.yml,加入:

    xpack.security.enabled: false
    
    curl -XPUT -u elastic:changeme "http://192.168.0.166:9200/_xpack/license?acknowledge=true" -d @license.json
    

    生效之后,再开启security,并开启SSL\TLS:

    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    

    最后重启elasticsearch。

    查看License状态:

    curl -XGET -u elastic:changeme "http://192.168.0.166:9200/_license"
    

    相关文章

      网友评论

          本文标题:破解x-pack 6.0和更新许可证(License)

          本文链接:https://www.haomeiwen.com/subject/jsmyoxtx.html