Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


Inštalácia JRE 1.8 a Git klienta

Smart Web platforma je implementovaná v Java EE a preto potrebuje na svoj beh aj nainštalovane a nakonfigurované Java Runtime Environment verzie 8.

Postup inštalácie je nasledovný:

  1. Stiahnuť a nainštalovať najnovšie JRE 1.8 z oracle.com.
  2. Nastaviť systémovú environment premennú JAVA_HOME na root adresár kde bola JRE nainštalovaná.
  3. Pre použitie silných šifier v HTTPS protokole je potrebne stiahnuť Java Cryptography Extension (JCE) súbory a prekopírovať ich do lib/security adresára JRE. Ak nie je potrebné konfigurovať HTTPS protokol tento krok je možné vynechať.
  4. V prípade využívania runtime vývoja a ladenia aplikácie je potrebné nainštalovať aj Git z git-scm.com. A pridať cestu k cmd adresáru (napr. C:\Program Files\Git\cmd) do environment premennej PATH.


Pre SmartWeb je plánovaná v blízkej budúcnosti aj podpora verzii JRE 9. Pozor: Java 9 ale nebude dlhodobo podporovaná zo strany spoločnosti Oracle a dlhohodobu podporu získa až verzia Java 18.9.

Inštalácia a nastavenie  Wildfly AS

Postup pri inštalácii aplikačného servera Wildfly je je nasledovný:

  1. Stiahnuť a rozbaliť Wildfly 10.1 zo stránky wildfly.org.
  2. Nakonfigurovať súbor standalone/configuration/standalone.xml tak ako je uvedené v nasledujúcich podkapitolách.
  3. Nainštalovať Wildfly ako service. V nasledujúcich podkapitolách sú opísané postupy ako pre platformu Windows tak aj Linux.

Základná konfigurácia standalone.xml

Súbor standalone.xml je hlavný konfiguračný súbor aplikačného servera Wildfly a nachádza sa v adresári /standalone/configuration. Smart Web server ma implementovanú funkciu automatickej konfigurácie pri deploymente aplikácie aplikačným serverom Wildfly. Z tohto dôvodu pre beh Smart Web aplikácie ako takej nie je potrebné súbor standalone.xml editovať. Editácia je nevyhnutná iba v prípade úpravy konfigurácie samotného aplikačného servera - napr. zmena portov, konfigurácia zabezpečenia komunikácie HTTPS, zapnutie overovania cez klientské certifikáty atď.

Pozor, editáciu konfiguračného súboru standalone.xml vykonávame zásadne pri vypnutom aplikačnom serveri, z dôvodu že počas jeho behu si ju on sám spravuje a môže prepísať zmeny uložené cez editor.

Voliteľná konfigurácia silného šifrovania pre HTTPS v standalone.xml 

Nasledujúce zmeny v standalone.xml konfigurujú zapnutie silných šifier pre HTTPS protokol. Podmienkou je inštalácia Java Cryptography Extensions popísaná v 3.tom bode predchádzajúcej kapitoly Inštalácia JRE 1.8 a Git klienta.

Zmeny v standalone.xml pre HTTPS
<?xml version='1.0' encoding='UTF-8'?>

<server xmlns="urn:jboss:domain:4.2">
    <extensions>
       ...
    </extensions>


	<system-properties>
        <!-- Minimálna dĺžka Diffie-Helman kľuča -->
        <property name="jdk.tls.ephemeralDHKeySize" value="2048"/>
    </system-properties>


	<management>
        <security-realms>
            ...
            <!-- Security realn undertowTLSRealm je potrebné nastaviť iba v prípade konfigurácie HTTPS, alebo zároveň aj pre overovanie cez klientské certifikáty -->
            <security-realm name="undertowTLSRealm">
                <server-identities>
                    <ssl protocol="TLS">
                        <!-- Cesta/heslo ku keystore kde je uložený SSL certifikát pre HTTPS s definovaným aliasom, napr. nb1mgre1.ipesoft-int.sk -->
                        <keystore path="server.jks" relative-to="jboss.server.config.dir" keystore-password="secret" alias="nb1mgre1.ipesoft-int.sk" key-password="secret"/>
                    </ssl>
                </server-identities>
                <!-- Časť "authentication" je potrebné nastaviť iba pre overovanie cez klientské certifikáty -->
                <authentication>
                    <truststore path="client-certificates.jks" relative-to="jboss.server.config.dir" keystore-password="secret"/>
                </authentication>
            </security-realm>
        </security-realms>
        ...
    </management>


	<profile>
 ...
        <subsystem xmlns="urn:jboss:domain:undertow:3.1">
            ...
            <server name="default-server">
                ...
                <!-- Element https-listener meniť iba v prípade konfigurácie HTTPS -->
                <!-- !!! Atribút verify-client je potrebné nastaviť na hodnotu REQUESTED v prípade ak je potrebná autentifikácia cez klientské certifikáty, inak ho netreba meniť -->
                <https-listener name="https" socket-binding="https" security-realm="undertowTLSRealm" verify-client="NOT_REQUESTED"
                                enabled-protocols="TLSv1.2,TLSv1.1"
                                enabled-cipher-suites="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"
                                enable-http2="true"/>
		</subsystem>            
    </profile>

Uvedené zmeny konfigurácie majú nastavený zoznam povolených protokolov a šifier tak, aby bol bezpečný, podporené sú len novšie prehliadače - IE11 a Android >= 4.4.3, Safari >= 7. V prípade potreby podpory ešte starších prehliadačov treba nastavit tieto atribúty nasledovne:

enabled-protocols="TLSv1.2,TLSv1.1,TLSv1"
enabled-cipher-suites="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA"


  • No labels