Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

Utility d2u_*

Sada utilít d2u_* slúži na automatickú aktualizáciu inštalácie systému D2000 z FTP/SFTP servera. Poznámka: Popisovaný stav je platný od Podpora SFTP bola pridaná do verzie d2u_client 24.20.0.6 (D2000 v7.02.002 patche).37

Medzi utility d2u_* patria:

Od verzie d2u_client 2.3.0.24 je dostupný rýchly mód (štandardne zapnutý), t.j. na klientovi nekontroluje jednotlivé súbory a adresáre, ale prečíta si UUID (identifikátor) z lokálneho súboru "content.xml" v installdir a appldir a ak sa nelíšia od UUID v "content.xml" na FTP serveri, tak považuje klienta za plne synchronizovaného.
V prípade, že lokálne UUID v "content.xml" sa líši, prípadne chýba, prebehne plná aktualizácia a v prípade, že nenastala chyba, tak sa UUID do lokálneho "content.xml" zapíše. Rýchly mód je možné potlačiť prepínačom /F (viď parametre príkazového riadka).

Pre použitie rýchleho módu je treba použiť d2u_snapshot.exe minimálne verzie z 24.10.2011 a ním pregenerovať súbory content.xml na FTP serveri.

Kotva
d2u_service
d2u_service
Utilita d2u_service

...

Utilita d2u_service beží ako servis pod užívateľom s právami na zápis do inštalačného a aplikačného adresára a umožňuje vykonať aktualizáciu, aj keď je za konzolou prihlásený užívateľ, ktorý tieto práva nemá. Utilitu musí na klientskom počítači zaregistrovať lokálny administrátor spustením "d2u_service -i" v adresári D2000_INSTALL_DIR\bin\.

Funkcionalita IPSAutoRun v d2u_service.exe

IPSAutorun umožňuje spustiť z definovaného adresára alebo prenosného USB média pripravený balíček, ktorý môže vykonať napr. aktualizáciu systému, nainštalovať patch, urobiť servisný zásah a pod. Balíček je digitálne podpísaný oprávneným subjektom a d2u_service spustí balíček iba po úspešnom overení podpisu.

IPSAutoRun balíček pozostáva z dvoch súborov:

  • <<nazov>>.7z
  • <<nazov>>.7z.sig

pričom "<<nazov>>.7z" je .7zip archív a "<<nazov>>.7z.sig" je súbor s digitálnym podpisom zaručujúcim autenticitu archívu. Archív musí obsahovať súbor "\autorun.cmd" a štandardne ďalšie súbory.

d2u_service.exe sleduje prítomnosť IPSAutoRun balíčkov:

  • v definovanom adresári (WatchedDir),
  • v koreňovom adresári pripojeného USB úložiska.

Konfigurácia IPSAutoRun

d2u_service.exe číta z registrov nasledovné parametre:

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\PublicKey
- celá cesta k súboru s verejným kľúčom oprávneného subjektu (napr. "c:\D2000\D2000.EXE\utils\ipsautorun\public_key.pem"). Tento súbor musí byť chránený proti zmazaniu/zápisu prístupovými právami OS voči neautorizovaným užívateľom.

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\UnpackDir
- cesta k pracovnému adresáru, do ktorého sa autorun balíčky rozbalia a odkiaľ budú spustené (napr. "c:\temp\ipsautorun\")

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\WatchedDir
- cesta k pracovnému adresáru, ktorý bude monitorovaný na prítomnosť autorun balíčkov. Kvôli konzistencii balíčka a podpisu, je nutné najskôr do adresára kopírovať archív <meno>.7z a až potom podpis <meno>.7z.sig.

Podpisovanie balíčkov

Oprávnený subjekt si vygeneruje súkromný + verejný kľúč napríklad pomocou aplikácie openssl.exe, ktorú si stiahne z bezpečného zdroja (alebo použije openssl.exe, ktoré je v adresári <D2000_inštalačný_adresár>/bin resp. /bin64).

Postup generovania páru kľúčov v príkazovom riadku windows cmd.exe:

...

\.

...

...


V aktuálnom adresári vzniknú súbory "private_key.pem" - súkromný kľúč a "public_key.pem" - verejný kľúč. Privátny kľúč je nutné zabezpečiť proti neoprávnenému prístupu, bude slúžiť na podpisovanie balíčkov. Verejný kľúč je nutné rozdistribuovať na počítače, kde bude bežať d2u_service.

Postup prípravy a podpisovania balíčkov

Do balíčka (do koreňového adresára) umiestnite dávkový súbor autorun.cmd, v ktorom je implementovaná potrebná funkcionalia a prípadne ďalšie potrebné súbory. Balíček zbaľte do formátu 7zip (www.7-zip.org). Potom balíček podpíšte súkromným kľúčom nasledovným postupom (opäť je potrebný openssl.exe):

openssl dgst -sha256 -sign private_key.pem -keyform PEM -out .7z.sig .7z

Vznikne súbor .7z.sig, ktorý spolu so .7z tvorí balíček pripravnený na použitie pre d2u_service.

Kotva
d2u_client
d2u_client
Utilita d2u_client

...

Utilita d2u_client po spustení vykoná aktualizáciu inštalačného a aplikačného adresára oproti FTP/SFTP serveru a spustí zadaný proces (typicky HI.EXE).

...

[HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\D2000V70<kľúč_inštalácie>\Update]

"Protocol"= 'disabled' alebo 'FTP' alebo 'SFTP' (disabled a SFTP od verzie d2u_client 4.0.0.43); ak nie je uvedený alebo nie je rozpoznaný, použije sa FTP, 'disabled' znamená že d2u_client nerobí žiadnu činnosť.

"FTPServer"=ip_adresa_(s)ftp_servera ; napríklad: "192.168.103.10" [1]
"FTPMode"=mód_ftp_spojenia ; prípustné módy sú: "active" a "passive", záleží od konfigurácie firewallu, nastavenie má význam len pre protokol FTP
"FTPApplDir"=aplikačný_adresár_na_(s)ftp_serveri ; napríklad "/pub/D2000.APP", [2]
"FTPInstallRoot"=inštalačný_adresár_na_(s)ftp_serveri ; napríklad "/pub/D2000.EXE", [3]
"FTPScriptsFile"=meno popisného súboru skriptov; napríklad "scripstfile.ini", [3]
"FTPUser"=ftp_login ; napríklad "d2update"
"FTPPassword"=ftp_password ; napríklad "w589pt7yegsf6hjxsecurePassword" [4]
"TrustedHostKeysSHA256"=čiarkami oddedené sha256 fingerprinty SFTP serverov v kódovaní base64, ktoré budú považované za dôveryhodné. Východzia hodnota je "*", čo znamená že akýkoľvek SFTP server je dôveryhodný. Na nedôveryhodný SFTP server sa d2u_client odmietne pripojiť.


  1. Kotva
    1
    1
    D2Update je schopný pre "Update" použiť viac (S)FTP serverov. Ak sa použije viac (S)FTP serverov, ich adresy musia byť oddelené čiarkami. D2Update postupne skúša spojenie so všetkými zadanými servermi a aktualizáciu vykoná s prvým fungujúcim. Počet zadaných (S)FTP serverov nie je obmedzený.
  2. Kotva
    2
    2
    Aplikačný adresár na (S)FTP serveri má nasledovnú štruktúru:

    súbor /aplikačný_adresár_na_ftp_serveri/content.xmld2groupxml
    Súbor Súbor content.xml musí byť vygenerovaný utilitou d2u_snapshot.exe (viď nižšie) po každej zmene aplikačného adresára na obsahu aplikačných adresárov na (S)FTP serveri:.

    aplikačný adresár /inštalačnýaplikačný_adresár_na_ftp_serveri/aplikácia1/
    aplikačný adresár /inštalačnýaplikačný_adresár_na_ftp_serveri/aplikácia2/
    Toto sú aplikačné adresáre konkrétnych aplikácií....
    aplikačný adresár /aplikačný_adresár_na_ftp_serveri/aplikáciaN/

  3. Kotva
    3
    3
    Inštalačný adresár na (S)FTP serveri má nasledovnú štruktúru:

    súbor /inštalačný_adresár_na_ftp_serveri/update/content.xml

    Súbor musí byť vygenerovaný utilitou d2u_snapshot.exe (viď nižšie) po každej zmene aplikačného adresára na (S)FTP serveri.

    adresár /inštalačný_adresár_na_ftp_serveri/scripts/

    Tu

    sú uložené

    môžu byť uložené popisné súbory skriptov a skripty , ktoré budú spustené pred a po aktualizácii. Ak má dôjsť k spusteniu skriptov, musí špecifikované meno popisného súboru skriptov (viď parameter FTPScriptsFile, napr. scriptsfile.ini) v registroch alebo z príkazového riadka prepínačom /S (viď nižšie)
    Formát skriptového súboru je nasledovný:

    Blok kódu
    titlescriptsfile.ini
    [BEFORE]
    RUN_AS_CLIENT=before_cli.cmd
    RUN_AS_SERVICE=before_srv.cmd
    
    [AFTER]
    RUN_AS_CLIENT=after_cli.cmd
    RUN_AS_SERVICE=after_srv.cmd


    sekcia [before] definuje skripty spustené pred zahájením samotného update, sekcia [after] defunuje skripty ktoré sa vykonajú po ukončení update. RUN_AS_SERVICE vykoná skript v kontexte systémovej služby d2u_service (typicky bežiacej pod kontom LOCAL_SYSTEM), RUN_AS_CLIENT vykoná skript v kontexte prihláseného užívateľa

    adresár /inštalačný_adresár_na_ftp_serveri/update/

    Tu sú adresáre inštalácie D2000, tj. bin/, gtkjava/, logresdll/ atď.
  4. Kotva
    4
    4
    Password je v nezakódovanom čitateľnom tvare.

Kotva
command_line
command_line
Parametre z príkazového riadka:

/Vverbose
/S=scriptsfile.inispustí skripty popísané v scripstfile.ini
/Lskslovenský jazyk
/Qquiet
/Aaktualizuje iba aplikačný adresár
/Ttest - nič fyzicky nezapisuje, iba simuluje aktualizáciu
/Ffullcheck - ignoruje lokálny content.xml
/Dtimedelay [time] sekúnd

Kotva
d2u_reload
d2u_reload
Utilita d2u_reload (pre verzie d2update < 3.0)

...

Utilitu používajú utility používali d2u_service a d2u_client na svoju aktualizáciu, od verzie 3.0 už nie je potrebná

Kotva
d2u_snapshot
d2u_snapshot
Utilita d2u_snapshot

...

Utilita po spustení vytvorí v aktuálnom pracovnom adresári súbor content.xml, ktorý je umiestnený na (S)FTP serveri a d2u_client.exe podľa tohto súboru porovnáva, ktoré súbory treba stiahnuť z (S)FTP servera.
Typický postup je nakopírovať d2u_snapshot.exe do /aplikačný_adresár_na_ftp_serveri/ a do /inštalačný_adresár_na_ftp_serveri/update/.

Pri každej zmene v inštalačnom a aplikačnom adresári na (S)FTP serveri je potrebné zo servera spustiť obe utility, tie vygenerujú súbory /aplikačný_adresár_na_ftp_serveri/content.xml a /inštalačný_adresár_na_ftp_serveri/update/content.xml. Tieto súbory si potom pri aktualizácii klienta stiahne d2u_client.exe a podľa nich vykoná aktualizáciu.


Funkcionalita IPSAutoRun v d2u_service.exe

IPSAutorun umožňuje spustiť z definovaného adresára alebo prenosného USB média pripravený balíček, ktorý môže vykonať napr. aktualizáciu systému, nainštalovať patch, urobiť servisný zásah a pod. Balíček je digitálne podpísaný oprávneným subjektom a d2u_service spustí balíček iba po úspešnom overení podpisu.

IPSAutoRun balíček pozostáva z dvoch súborov:

  • <<nazov>>.7z
  • <<nazov>>.7z.sig

pričom "<<nazov>>.7z" je .7zip archív a "<<nazov>>.7z.sig" je súbor s digitálnym podpisom zaručujúcim autenticitu archívu. Archív musí obsahovať súbor "\autorun.cmd" a štandardne ďalšie súbory.

d2u_service.exe sleduje prítomnosť IPSAutoRun balíčkov:

  • v definovanom adresári (WatchedDir),
  • v koreňovom adresári pripojeného USB úložiska.


Konfigurácia IPSAutoRun

d2u_service.exe číta z registrov nasledovné parametre:

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\PublicKey
- celá cesta k súboru s verejným kľúčom oprávneného subjektu (napr. "c:\D2000\D2000.EXE\utils\ipsautorun\public_key.pem"). Tento súbor musí byť chránený proti zmazaniu/zápisu prístupovými právami OS voči neautorizovaným užívateľom.

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\UnpackDir
- cesta k pracovnému adresáru, do ktorého sa autorun balíčky rozbalia a odkiaľ budú spustené (napr. "c:\temp\ipsautorun\")

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\WatchedDir
- cesta k pracovnému adresáru, ktorý bude monitorovaný na prítomnosť autorun balíčkov. Kvôli konzistencii balíčka a podpisu, je nutné najskôr do adresára kopírovať archív <meno>.7z a až potom podpis <meno>.7z.sig.


Podpisovanie balíčkov

Oprávnený subjekt si vygeneruje súkromný + verejný kľúč napríklad pomocou aplikácie openssl.exe, ktorú si stiahne z bezpečného zdroja (alebo použije openssl.exe, ktoré je v adresári <D2000_inštalačný_adresár>/bin resp. /bin64).

Postup generovania páru kľúčov v príkazovom riadku windows cmd.exe:

set RANDFILE=.\.rnd
openssl genrsa -out private_key.pem 4096
openssl rsa -pubout -in private_key.pem -out public_key.pem

V aktuálnom adresári vzniknú súbory "private_key.pem" - súkromný kľúč a "public_key.pem" - verejný kľúč. Privátny kľúč je nutné zabezpečiť proti neoprávnenému prístupu, bude slúžiť na podpisovanie balíčkov. Verejný kľúč je nutné rozdistribuovať na počítače, kde bude bežať d2u_service.


Postup prípravy a podpisovania balíčkov

Do balíčka (do koreňového adresára) umiestnite dávkový súbor autorun.cmd, v ktorom je implementovaná potrebná funkcionalia a prípadne ďalšie potrebné súbory. Balíček zbaľte do formátu 7zip (www.7-zip.org). Potom balíček podpíšte súkromným kľúčom nasledovným postupom (opäť je potrebný openssl.exe):

openssl dgst -sha256 -sign private_key.pem -keyform PEM -out .7z.sig .7z

Vznikne súbor .7z.sig, ktorý spolu so .7z tvorí balíček pripravnený na použitie pre d2u_service.

Info
titleSúvisiace stránky:

Utility systému D2000

...