Configurazione di SSL/TLS per Ignite
È possibile configurare SSL o TLS per Ignite quando si utilizza il clustering a disponibilità elevata ThingWorx:
Configurazione di Ignite
Per eseguire Ignite con SSL, attenersi alla procedura descritta di seguito.
1. Creare il keystore di Ignite.
2. Creare un'istanza di SslContextFactory nel file di configurazione di Ignite, specificando il percorso del keystore e la password. Nell'esempio riportato di seguito il percorso del keystore è /ThingworxPlatform/ignite-keystore/ignite.pfx:
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="sslContextFactory">
<bean class="org.apache.ignite.ssl.SslContextFactory">
<property name="keyStoreFilePath" value="/ThingworxPlatform/ignite-keystore/ignite.pfx"/>
<property name="keyStorePassword" value="ptcptc"/>
<property name="trustManagers">
<bean class="org.apache.ignite.ssl.SslContextFactory" factory-method="getDisabledTrustManager"/>
</property>
</bean>
</property>
</bean>
Esecuzione di Ignite:
./ignite.sh -v -J"${JVM_XOPTS}" config/default-config.xml
Il testo seguente deve essere visualizzato nella console all'avvio di Ignite: Security status [authentication=off, tls/ssl=on].
Configurazione di ThingWorx
A questo punto è possibile configurare Ignite in ThingWorx. È possibile eseguire Ignite come client o in modalità incorporata. Questa configurazione funziona con entrambe le opzioni.
1. Copiare i certificati di Ignite nell'istanza o assicurarsi che siano disponibili nel computer in cui ThingWorx è in esecuzione.
|
|
Gli utenti Tomcat devono avere accesso ai certificati o copiarli nella directory ThingworxPlatform.
|
2. Modificare il file platform-settings.json in un certificato SSL attivo. Modificare ancheigniteKeyStoreFilePath eigniteKeyStorePassword.
"cache": {
"init-timeout": "30 seconds",
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"cache-mappings": {},
"ignite": {
"instance-name": "twx-core-server",
"client-mode": false,
"address-resolver" : {
"type": "zookeeper",
"connection": "localhost:2181"
},
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "ptcptc"
}
Crittografia delle password con ThingWorx Security Management Tool
Se si desidera evitare di inserire la password semplice nel file platform-settings.json, è possibile crittografarla all'interno di twx-keystore utilizzando lo strumento di sicurezza. È necessario crittografare la password utilizzando encrypt.ignite.keystore.password.
./security-common-cli keystore.conf set encrypt.ignite.keystore.password "ptcptc"
Quindi, modificare il file platform-settings.json in modo che ThingWorx selezioni la password dal keystore:
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "encrypt.ignite.keystore.password"