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:
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:
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:
# 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:
# 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:
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:
/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:
proxy_buffering off;
Po této úpravě je třeba provést restart nebo reload nginx:
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:
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:
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:
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:
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.