x-pack 6.0の解読とライセンスの更新(License)

2804 ワード

環境
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ファイルを更新すると、SSLTLSを構成するか、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を開き、SSLTLSを開きます.
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

最後にelasticsearchを再起動します.
Licenseステータスの表示:
curl -XGET -u elastic:changeme "http://192.168.0.166:9200/_license"