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

Systém D2000 je možné nakonfigurovať tak, aby komunikácia medzi serverom a klientami prebiehala zabezpečeným šifrovaným komunikačným kanálom. Zabezpečenie je implementované protokolom Transport Layer Security (TLS v1.3).


Pre aktiváciu zabezpečenej komunikácie je potrebné vykonať nasledujúce kroky:


1. Pre server je nutné získať/vygenerovať šifrovací kľúč a certifikát. Certifikát je potrebné distribuovať klientským procesom.

Kľúč a certifikát je možné vygenerovať napr. pomocou utility openssl (https://slproweb.com/products/Win32OpenSSL.html).

Generovanie šifrovacieho kľúča

 openssl genrsa -out server.pem 4096 

Generovanie certificate signing request

 openssl req -new -key server.pem -out server.csr

Generovanie self-signed certifikátu

 openssl x509 -req -days 730 -in server.csr -signkey server.pem -out server.crt 


2. Nastaviť TLS podporu v registroch pre kernel

 HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<instalacia>\cfg_<aplikacia>\TLS_Server\TLS_CertFile = c:\<cesta>\server.crt
 HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<instalacia>\cfg_<aplikacia>\TLS_Server\TLS_KeyFile = c:\<cesta>\server.pem
 HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<instalacia>\cfg_<aplikacia>\TLS_Server\TLS_RequiredLevel = <level>

Nastavenie vyžadovanej úrovne zabezpečenia pripájajúceho sa klienta <level>:

  • None - kernel dovolí pripojiť sa klientovi aj bez zabezpečenia aj so zabezpečením
  • TLSNoPeerAuth - kernel dovolí pripojenie len od klienta, ktorý komunikuje zabezpečene (ale nemusí byť overený certifikátom)

3. Nastaviť TLS podporu v registroch pre klientov

 HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<instalacia>\cfg_<aplikacia>\TLS_Client\TLS_TrustedCerts = c:\<cesta>\server.crt
 HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<instalacia>\cfg_<aplikacia>\TLS_Client\TLS_RequiredLevel = <level>

TLS_TrustedCerts: nastavenie serverového certifikátu - cesta k serverovému certifikátu. Je možné zadať aj viacero certifikátov oddelených bodkočiarkou (;). To je použiteľné pre redundantné systémy alebo v procese výmeny certifikátov, keď môže byť nakonfigurovaný starý aj nový serverový certifikát.

TLS_RequiredLevel: Nastavenie vyžadovanej úrovne zabezpečenia pripájajúceho sa klienta:

  • None - klient sa pripojí na kernel aj v prípade, že kernel podporuje zabezpečenú komunikáciu, aj v prípade, že nepodporuje
  • TLSNoPeerAuth - klient sa pripojí len na kernel podporujúci zabezpečenú komunikáciu (ale nemusí byť overený certifikátom, t.j. neporovnáva sa certifikát so zoznamom TLS_TrustedCerts)
  • TLSPeerAuth - klient sa pripojí len na kernel podporujúci zabezpečenú komunikáciu, ktorého certifikát je v zozname TLS_TrustedCerts

4. Pre použitie TLS musí byť klient štartovaný okrem obvyklých parametrov (/S, /RD prípadne /RF) aj s parametrom /C<názov_aplikácie>

Dôvodom je, aby už pred pripojením sa k aplikačnému serveru vedel názov aplikácie a načítal parametre TLS z registrov (viď bod 3).
Alternatívou je nastavenie parametra DefaultApplication v registry.


Klient pripájajúci sa na server s použitím TLS to vypíše do logu. Ak je vyžadované aj overenie certifikátu a certifikát je korektne overený, v logu je slovo VERIFIED:

[2022-09-23 07:48:11.289]I CLIENT - Connecting to D2000 Server [localhost] TCP/IP|TLS...
[2022-09-23 07:48:11.348]I CLIENT - Connection established to D2000 Kernel V22.00.074 s380 [TCP/IP localhost:3119][TLSv1.3 VERIFIED]. ConnectionSqId = 1

Kernel pripájajúci klienta cez TLS takisto túto informáciu zapíše do logu:

[2022-09-23 07:48:10.598]I BACKEND - RegistrateProces request from DispPC.HIP V22.00.074 s380 [TCP/IP 127.0.0.1:50481][TLSv1.3]. ClientName: DispPC.HIP
[2022-09-23 07:48:10.600]I SERVER - RegistrateProces OK. ClientName: DispPC.HIP Id: 7652 ComputerName: PC1PHUM1v SAS: 0


Výmena kľúčov a certifikátov

D2000 Server načítava konfiguráciu TLS pri každom pripájaní klienta, takže je možné zmeniť počas behu D2000 Servera konfiguráciu (včítane výmeny súborov s certifikátom a so súkromným kľúčom) bez reštartu D2000 Servera.



Write a comment...