Pokyny k přechodu na novou verzi (Upgrade notes)

Obsah

Obecné pokyny

Bez ohledu na verzi aplikace z které a na kterou probíhá update nebo upgrade, platí následující pravidla a doporučení.

Základní pravidla

  • Je doporučeno provádět update a upgrade pravidelně. Zejména při vydání nové větší verze aplikace.

  • Není doporučeno přeskakovat větší verze a následně provádět velký upgrade přes více větších verzí. Pokud však k tomuto přesto dojde, je nutné projít všechny specifické pokyny k těmto verzím a postupně ve vzestupném pořadí verzí provést patřičné kroky, viz níže.

  • Před update nebo upgrade je doporučeno provést zálohu, např. ve formě snapshotu VM, nebo jiným odpovídajícím způsobem, kterým je aplikace zálohována. V případě neočekávaného problému by mělo být možné vrátit se ze zálohy zpět.

Upgrade versus update

Do verze 2.0.6 existoval pouze update, který vždy provedl aktualizaci aplikace na poslední vydanou verzi. Od verze 2.0.6 (včetně) byl proces rozdělen na dva odlišné kroky: update a upgrade.

Update

Update aplikace provede aktualizaci na poslední vydanou verzi v aktuální řadě. tj. například z 2.0.6 na 2.0.8, nebo z 2.1.1 na 2.1.5. Nikdy už neprovede přechod mezi řadami, tj. neprovede aktualizaci z 2.0.x na 2.1.x. (To platí zpětně i pro starší verze, tj. update ve verzi 2.0.1 aktualizuje na poslední 2.0.x a neskočí na řadu 2.1.x nebo dál.)

Upgrade

Upgrade aplikace provede aktualizaci na novou řadu, pokud je nějaká k dispozici. Tedy například upgrade provede přechod z aktuální verze 2.0.x na poslední verzi 2.1.x. Pokud nová řada k dispozici není, upgrade nic neprovede. Není tedy možné používat upgrade k aktualizaci v rámci stávající řady.

Jak kombinovat

Aplikaci běžně aktualizujeme pomocí update. Pokud dojde k vydání nové řady (např. 2.1.0), pak je pro aktualizaci na tuto novou řadu třeba provést upgrade. Následně opět používáme update pro aktualizace na další verze v této řadě.

Doporučený postup update nebo upgrade

Nutné kroky

Pro update aplikace SOFiE (na poslední verzi v aktuální řadě) je třeba spustit následující příkaz z příkazové řádky:

1 sofie update

Tento příkaz automaticky provede:

  • zálohu databáze aplikace

  • stáhne rpm balíčky s novou verzí a nainstaluje je

  • provede migraci struktur databáze na novou verzi (aktualizace schématu)

  • restartuje služby aplikace SOFiE

Pro upgrade aplikace SOFiE (na poslední verzi v nové řadě) je třeba spustit následující příkaz z příkazové řádky:

1 sofie upgrade

Tento příkaz provede přechod na novou řadu aplikace, pokud existuje a následně spustí update. Pokud nová řada neexistuje, neprovede se nic, ani update.

Dále je nutné provést specifické kroky pro všechny verze aplikace, kterými update nebo upgrade prošel a na které skončil. Viz podrobnosti k jednotlivým verzím níže.

Volitelné, ale doporučené, kroky

Před i po update nebo upgrade je doporučeno ověřit aktuální verzi a stav následujícími příkazy:

1 2 3 4 5 # vypíše stav služeb, měl by být u všech active (running) sofie status # vypíše aktuální verzi, vhodné pro zjištění z které a na kterou upgradujeme sofie version

Kromě samotného update nebo upgrade aplikace SOFiE je rovněž doporučeno provést aktualizaci operačního systému, v systémech na bázi RHEL lze provést např. příkazem:

1 2 3 4 5 # RHEL 7 a obdobné yum upgrade # RHEL 8 a obdobné dnf upgrade

Potom je doporučeno provést restart serveru, aby se ověřilo, že i po všech aktualizacích systém a aplikace v případě restartu znovu korektně nastartuje:

1 shutdown -r now

Nakonec ověříme, že aplikace korektně běží. Například aplikačním testem, kdy odešleme uživateli zkušební zásilku a ověříme, že dorazila a uživatel jí může stáhnout. Z pohledu administrátora zkontrolujeme, zda nad zásilkou byly provedeny všechny nastavené kontroly a že audit log neobsahuje žádné chyby.

Specifické pokyny k jednotlivým verzím

Zejména při upgrade na novou větší verzi aplikace (např. 1.3.x na 1.4.x) se často stává, že automatický proces aktualizace nemůže provést všechny potřebné kroky a některé je nutno udělat ručně (typicky úprava konfigurace nginx).

Dále je při zavedení nových funkcí či změn volen obvykle konzervativní postup, kdy pokud je to možné, tak nedochází po upgrade ke změně chování aplikace. To ale znamená, že nové funkce mohou po upgrade být vypnuté a pro jejich využití je třeba upravit konfiguraci aplikace.

Verze 2.1.0

Nutné manuální kroky při upgrade

Od této verze došlo k podstatné úpravě struktury konfigurace nginx a zároveň ke zlepšení automatizace celého procesu aktualizace tak, aby ve většině případů již nebyly potřeba ruční zásahy. Aby tento automatický proces korektně fungoval, je třeba, aby instalace odpovídala instrukcím z instalačního manuálu, včetně:

  • Instalace by měla být na vyhrazeném serveru pro tento účel. Neměla by zejména obsahovat žádné ruční úpravy nginx konfigurace. Pokud takové ruční úpravy obsahuje, budou při upgrade na verzi 2.1 přepsány a administrátor je bude muset znovu ručně opravit / provést.

  • Pokud je instalován vlastní SSL/TLS certifikát pro HTTPS, předpokládá se výchozí cesta uvedená v instalačním manuálu. Pokud by byla použitá jiná cesta, platí totéž co v předchozím bodě o ruční úpravě nginx.

Upgrade konkrétně přepíše soubory /etc/nginx/conf.d/default.conf a /etc/nginx/nginx.conf. Vytvoří však zálohy původních před jejich přepsáním, které vypadají např. takto:

1 2 /etc/nginx/conf.d/default.conf.18048.2022-09-05@09:16:45~ /etc/nginx/nginx.conf.17998.2022-09-05@09:16:43~

Doporučená úprava a kontrola konfigurace

Verze 2.1 obsahuje nové či upravené funkce. Administrátor aplikace by měl po provedení upgrade projít zejména následující části nastavení a zvážit, zda a jak chce nové funkce aktivovat a využívat:

  • Nastavení → Konfigurace → Základní nastavení:

    • Povolené jazyky pro administrátory

    • Povolené jazyky pro uživatele

  • Nastavení → Konfigurace → Bezpečnost:

    • nová sekce: Pravidla hesel pro zásilky, včetně:

      • Povinné heslo zásilky - nepřihlášený uživatel

      • Povinné heslo zásilky - přihlášený uživatel

    • Doba platnosti přihlášení a autorizace:

      • Doba platnosti jednoho přístupu k zásilce s omezeným počtem přístupů

  • nová sekce: Nastavení → Konfigurace → Bezpečnostní limity, včetně:

    • sekce Omezení pokusů o autentizaci

    • sekce Omezení žádostí o obnovu hesla

    • sekce Omezení pokusů o přístup k zásilce s heslem

    • sekce Omezení pokusů o přístup k výzvě s heslem

    • sekce Omezení pokusů o přístup k neexistující zásilce

    • sekce Zásilky s omezeným počtem přístupů

  • Nastavení → Konfigurace → Upozornění:

    • nová sekce: Schválení odeslání zásilky

    • Systémová upozornění

      • Upozornit při překročení kvóty detekčního nástroje

  • Nastavení → Konfigurace → Vzhled:

    • nová sekce: Zobrazit podmínky užití

  • Nastavení → Konfigurace → Nastavení uživatelů:

    • Výchozí nastavení nových uživatelů, nová práva:

      • Nevynucovat vícefaktorovou autentizaci

      • Schvalovat odeslání zásilek

      • Odesílat zásilky bez dodatečného schválení

      • Odesílat zásilky sám sobě

      • Stahovat soubory ze svých odeslaných zásilek

    • nová sekce: Vícefaktorová autentizace:

      • Vyžadovat vícefaktorovou autentizaci pro lokální uživatele

      • Vyžadovat vícefaktorovou autentizaci pro AD uživatele

      • Vyžadovat vícefaktorovou autentizaci pro ADFS uživatele

    • nová sekce: Omezení uživatelů podle IP rozsahů

    • nová sekce: Nastavení odeslaných zásilek, včetně:

      • Uživatelé mohou odesílat zásilky sami sobě

      • Uživatelé mohou stahovat soubory ze svých odeslaných zásilek

      • Uživatelé mohou odesílat zásilky bez schválení

      • Povolit přístup ke schvalovaným zásilkám bez zadání jejich hesla

  • Nastavení → E-mailové šablony přejmenovány na Šablony:

    • Upraveny některé existující výchozí šablony.

    • Zavedeny nové šablony: DETECTION_ENGINE_QUOTA_EXCEEDED, EMAIL_TEMPLATE_CSS, EMAIL_TEMPLATE_PREFIX, EMAIL_TEMPLATE_SUFFIX, PACKAGE_APPROVE_REQUEST, SEND_PACKAGE_APPROVED, SEND_PACKAGE_DISAPPROVED, TERMS_OF_USE.

Verze 2.0.3

Nutné manuální kroky při upgrade

  • Upravit soubor /etc/nginx/proxy.conf a nakonec přidat řádek:

    1 proxy_buffering off;

Po této úpravě je třeba provést restart nebo reload nginx:

1 systemctl restart nginx

Verze 2.0.0

Nutné manuální kroky při upgrade

Zejména z důvodu změny chování aplikace, kdy stahované soubory již nevydává přímo nginx server, ale až aplikace SOFiE, je nutné upravit konfiguraci nginx jak je uvedeno níže.

  • Smazat soubory:

    • /etc/nginx/download-auth.conf

    • /etc/nginx/download.conf

  • Upravit soubor: /etc/nginx/conf.d/default.conf

    • Smazat zde bloky:

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 location /api/ { client_max_body_size 0; proxy_pass http://127.0.0.1:9090/api/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_request_buffering off; } location ~/admin/download-file/(.+) { include download.conf; auth_request /download-file-auth-admin; } location ~/admin/download-archive/(.+) { include download.conf; auth_request /download-file-auth-admin; } location ~/download-file/(.+) { include download.conf; auth_request /download-file-auth-user; } location ~/download-archive/(.+) { include download.conf; auth_request /download-file-auth-user; } location /download-file-auth-user { include download-auth.conf; proxy_pass http://127.0.0.1:9090/api/user$request_uri; } location /download-file-auth-admin { include download-auth.conf; proxy_pass http://127.0.0.1:9090/api$request_uri; }
    • Na jejich místo přidat nově bloky:

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 add_header X-Content-Type-Options "nosniff"; add_header Referrer-Policy "same-origin"; location /api/ { set $x_uri_suffix ""; include proxy.conf; } location /admin/download-file/ { set $x_uri_suffix "/api"; include proxy.conf; } location /admin/download-archive/ { set $x_uri_suffix "/api"; include proxy.conf; } location /download-file/ { set $x_uri_suffix "/api/user"; include proxy.conf; } location /download-archive/ { set $x_uri_suffix "/api/user"; include proxy.conf; }
  • Vytvořit nový soubor /etc/nginx/proxy.conf s obsahem:

    1 2 3 4 5 6 7 client_max_body_size 0; proxy_pass http://127.0.0.1:9090$x_uri_suffix$request_uri; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_request_buffering off;

Po těchto úpravách je třeba provést restart nebo reload nginx:

1 systemctl restart nginx

Doporučená úprava a kontrola konfigurace

Verze 2.0 obsahuje velké množství nových či upravených funkcí. Administrátor aplikace by měl po provedení upgrade projít zejména následující části nastavení a zvážit, zda a jak chce nové funkce aktivovat a využívat:

  • Nastavení → Konfigurace → Základní nastavení:

    • Povolit přidávat soubory do odeslané zásilky

    • Povolit mazat soubory v odeslané zásilce

  • Nastavení → Konfigurace → Bezpečnost:

    • Zvlášť pravidla hesel pro administrátory a uživatele, včetně nově:

      • Zakázat použití uniklých hesel

    • Doba platnosti přihlášení a autorizace

  • Nastavení → Konfigurace → Šifrování dat:

    • celá nová sekce s konfigurací pro novou funkcionalitu

  • Nastavení → Konfigurace → Integrita dat:

    • celá nová sekce s konfigurací pro novou funkcionalitu

  • Nastavení → Konfigurace → Protokol aplikace:

    • Jazyk syslog záznamů (dříve dle výchozího jazyku aplikace)

  • Nastavení → Konfigurace → E-mail:

    • Primární a volitelně sekundární jazyk (dříve dle výchozího jazyku aplikace)

  • Nastavení → Konfigurace → Upozornění:

    • nová sekce Systémová upozornění

  • Nastavení → Konfigurace → Nastavení uživatelů:

    • nové právo uživatele “Šifrovat odesílané zásilky heslem“

    • nová funkce “Zamknout neaktivní uživatele“

    • nové funkce “Smazat neaktivní uživatele“

  • Nastavení → Administrátoři → založení/editace administrátora:

    • nová práva administrátora pro novou funkci šifrování zásilek

  • Nastavení → Uživatelé → práva uživatele:

    • nové právo uživatele pro novou funkci šifrování zásilek

  • Nastavení → Uživatelé → založení/editace uživatele:

    • Preferovaný jazyk uživatele - ovlivňuje e-maily zasílané uživateli (dříve dle výchozího jazyku aplikace)

    • funkce Dočasný uživatel - umožňuje automatické mazání uživatelů po určeném datu

  • Nastavení → E-mailové šablony:

    • Upraveny některé existující výchozí šablony.

    • Zřízeno větší množství nových šablon.

  • Nastavení → Nastavení detekce:

    • podpora nového anti-viru FortiClient (nutno instalovat a licencovat samostatně mimo aplikaci)

Verze 1.6 a starší

Tyto verze nemají veřejné upgrade notes, všechny aktualizace byly řešeny individuálně ve spolupráci se Sonpo či partnerem.