Preskočiť na obsah

Upgrade servera Mediation Controller za chodu

Dôležité

Dokumentácia k upgradu servera Mediation Controller za chodu je určená pre každý server Mediation Controller so systémom Debian 11. Verziu systému Debian môžete overiť nasledujúcim príkazom (vykonajte ho cez SSH alebo v prístupe ku konzole):

1
cat /etc/debian_version

Informácie

Pripomíname, že prepnutie na používateľa root na počítačoch so systémom Debian sa musí vykonať nasledujúcim príkazom:

1
su -

Plánovanie a príprava

Otvorenie sieťových tokov

Pri upgrade produktu je potrebné stiahnuť z úložísk systému Debian mnoho balíkov, pretože dochádza k prechodu z verzie Debian 11 na verziu 12. Prístup cez TCP 80 musí byť otvorený na security.debian.org a ftp.fr.debian.org.

Otvorenie tokov na počítači môžete otestovať spustením synchronizácie úložísk systému Debian. Ak sa zobrazia chybové hlásenia týkajúce sa prístupu k úložiskám systému Debian, sieťový tok nie je otvorený a pravdepodobne ho blokuje podniková brána firewall. Synchronizáciu úložísk možno spustiť nasledujúcim príkazom:

1
apt update

Stiahnutie zrkadla a potrebných nástrojov

Zrkadlo CyberElements Cleanroom 4.6 si môžete stiahnuť z tohto odkazu (vyžaduje vytvorenie zákazníckeho účtu): Systancia Marketplace

Kľúč systancia.gpg, ktorý overuje úložisko CyberElements Bastion, je tiež potrebné stiahnuť zo Systancia Marketplace.

Okrem zrkadla budú na proces upgradu potrebné nástroje tretích strán:

  • Klient SSH (v systéme Windows možno použiť nástroj PuTTY)
  • Klient SCP (v systéme Windows možno použiť nástroje WinSCP alebo FileZilla)

Inštalácia a používanie nástroja screen

Nástroj screen umožňuje otvoriť viacero terminálov shellu v jednej konzole. Na vykonanie upgradu verzie CyberElements Bastion je nevyhnutné použiť tento nástroj, aby sa odstránila závislosť od stability sieťového pripojenia. Bez použitia nástroja screen by sa totiž inštalácia v prípade prerušenia pripojenia SSH k serverom CyberElements Bastion zastavila.

Vďaka nástroju screen je pri opätovnom pripojení ku konzole shellu zariadení CyberElements Bastion možné obnoviť terminál, v ktorom bol spustený proces aktualizácie.

Balík screen je potrebné nainštalovať pomocou nasledujúceho príkazového riadka:

1
apt install --no-install-recommends screen

Ak chcete otvoriť nový terminál screen, je potrebné spustiť nasledujúci príkaz:

1
screen -S <ID>

Nahraďte <ID> názvom, ktorý identifikuje reláciu.

Príklad

Pri upgrade verzie CyberElements je identifikátor cye-upgrade ľahko rozpoznateľný. Príkaz by teda vyzeral takto:

1
screen -S cye-upgrade

Ak chcete obnoviť terminál otvorený nástrojom screen, stačí spustiť nasledujúci príkaz:

1
screen -r <ID>

Nahraďte <ID> názvom definovaným pri otvorení relácie.

Príklad

Terminál otvorený predtým s identifikátorom cye-upgrade možno obnoviť nasledujúcim príkazom:

1
screen -r cye-upgrade

Ak chcete terminál po dokončení upgradu zatvoriť, zadajte v termináli príkaz exit alebo klávesovú skratku ctrl+d.

Tým sa vrátite do konzoly. Hlásenie „screen is terminating“ potvrdzuje, že terminál bol zatvorený.

Rozšírenie miesta na disku pre virtuálne zariadenia

Virtuálne zariadenia Systancia Cleanroom 4.4 alebo 4.5 vyžadujú pridanie rozšírenia disku s veľkosťou 4 GB do diskového oddielu /usr. Táto operácia je potrebná, aby bolo na upgrade dostatok miesta na disku a aby sa operácia nezasekla.

Pri pripájaní k serveru Mediation Controller, či už cez SSH, alebo v režime konzoly, vás uvítacia správa informuje, že ste pripojení k počítaču Systancia. Ďalší riadok uvádza verziu appliance.

Príklad

Virtuálne zariadenie Mediation Controller vo verzii 4.5 poskytne nasledujúci výsledok:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
            ____            _                   _
        / ___| _   _ ___| |_ __ _ _ __   ___(_) __ _
        \___ \| | | / __| __/ _  | '_ \ / __| |/ _  |
            ___) | |_| \__ \ || (_| | | | | (__| | (_| |
        |____/ \__, |___/\__\__,_|_| |_|\___|_|\__,_|
                |___/
#################################################################
# WARNING:                                                      #
# You must have specific authorization to access this machine.  #
# Unauthorized access to this machine is prohibited and will be #
# considered as intrusion.                                      #
# Unauthorized users will be logged, monitored, and could be    #
# prosecuted.                                                   #
#################################################################
Systancia Cleanroom 4.5.0 B77

Ak počítač nie je virtuálne zariadenie dodané vo verzii 4.4 alebo 4.5, túto kapitolu môžete preskočiť a prejsť k upgradu.

Dôrazne odporúčame zálohovanie

Nasledujúce kroky zmenia rozdelenie disku servera Mediation Controller na diskové oddiely. Ak boli vykonané manuálne zmeny, nasledujúce pokyny nemusia byť vhodné a počítač sa môže zablokovať.

Skôr než budete pokračovať, zálohujte počítač, prípadne duplikujte virtuálny počítač. Snímky nemožno použiť, pretože najmä vo VMware blokujú možnosť rozšíriť disk.

Na úrovni hypervízora rozšírte miesto na disku virtuálneho počítača o ďalšie 4 GB. Ak disk nemožno rozšíriť, skontrolujte, či neexistujú žiadne snímky, a ak nie, vypnite virtuálny počítač, ak sa rozšírenie za chodu nepodporuje.

Po rozšírení miesta na disku na úrovni virtuálneho počítača sú na rozšírenie diskového oddielu /usr potrebné nasledujúce príkazy, ktoré treba vykonať ako root:

1
2
3
4
5
6
echo 1 > /sys/class/block/sda/device/rescan
start_lvm_partition=`fdisk -l /dev/sda | grep LVM | awk '{print $2}'`
echo -e "d\n2\nn\ne\n2\n\n\nn\n$start_lvm_partition\n\nt\n5\n8E\nw" | fdisk /dev/sda
pvresize /dev/sda5
lvresize -l +100%FREE /dev/mapper/SystanciaLVMGroup-usr
resize2fs /dev/mapper/SystanciaLVMGroup-usr

Upgrade

Aktualizácia balíkov systému Debian

Keďže upgrade CyberElements Bastion vyžaduje upgrade systému Debian, odporúča sa pred prechodom na Debian 12 riadne aktualizovať balíky Debian 11. Ak to chcete urobiť, spustite nasledujúce príkazy ako root (aktualizácia systému a potom odstránenie nepotrebných balíkov):

1
2
3
apt update
apt upgrade -y
apt autoremove -y

Môžu sa zobraziť hlásenia so žiadosťou o úpravu konfigurácie niekoľkých konfiguračných súborov. V takom prípade vyberte možnosť zachovať aktuálnu konfiguráciu.

Príprava ovládačov Microsoft SQL Server

Ak sú nainštalované ovládače Microsoft SQL Server (to platí pre virtuálne zariadenia, ktoré poskytuje CyberElements), sú potrebné ďalšie kroky.
Ak chcete overiť, či sú na serveri prítomné, môžete ako root vykonať nasledujúci príkaz:

1
apt list --installed ms*

Ak sa nezobrazí žiadna odpoveď, ovládače nie sú nainštalované a môžete prejsť na krok prípravy zrkadla.
V opačnom prípade, ak sú ovládače nainštalované, by sa mali zobraziť dva balíky: msodbcsql17 a mssql-tools. Postupujte podľa pokynov v tejto časti.

Príklady

Server, na ktorom nie sú ovládače nainštalované, by mal pre predchádzajúci príkaz nasledujúci výsledok:

1
Listing... Done

Server, na ktorom sú ovládače nainštalované, bude mať výsledok podobný tomuto (verzie balíkov sa môžu líšiť):

1
2
3
Listing... Done
msodbcsql17/bullseye,now 17.10.6.1-1 amd64 [installed]
mssql-tools/bullseye,now 17.10.1.1-1 amd64 [installed]

Na inštaláciu konkrétnej verzie balíkov, ktorá zabezpečí úspešný upgrade, sú potrebné nasledujúce príkazy:

1
env ACCEPT_EULA=Y apt install -y --allow-downgrades odbcinst=2.3.6-0.1+b1 odbcinst1debian2=2.3.6-0.1+b1 libodbc1=2.3.6-0.1+b1 unixodbc=2.3.6-0.1+b1 mssql-tools=17.9.1.1-1 msodbcsql17=17.9.1.1-1

Na prípravu upgradu nakonfigurujte úložisko Microsoft prispôsobené pre Debian 12:

1
echo "deb [arch=amd64] https://packages.microsoft.com/debian/12/prod bookworm main" > /etc/apt/sources.list.d/mssql-release.list

Príprava zrkadla CyberElements Cleanroom 4.6

Zrkadlo stiahnuté vo fáze prípravy (súbor s príponou tgz) je potrebné odoslať na server cez SCP. Treba ho umiestniť do adresára /tmp/.

Potom pripravte zrkadlo spustením nasledujúcich príkazov ako root (zvyškové súbory z predchádzajúceho upgradu verzie sa odstránia):

1
2
3
mkdir -p /opt/systancia/repository
rm -rf /opt/systancia/repository/*
tar xvzf /tmp/*.tgz -C /opt/systancia/repository/

Konfigurácia APT

Správca balíkov APT je nakonfigurovaný na načítavanie balíkov Debian 11; je potrebné ho prekonfigurovať na načítavanie balíkov Debian 12. Je tiež potrebné aktualizovať odkaz na lokálne zrkadlo CyberElements Bastion. Ak to chcete urobiť, spustite nasledujúce príkazy ako root:

1
2
echo -e 'deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware\ndeb http://ftp.fr.debian.org/debian bookworm main contrib non-free non-free-firmware\ndeb http://ftp.fr.debian.org/debian bookworm-updates main contrib non-free non-free-firmware' > /etc/apt/sources.list
echo "deb file:///opt/systancia/repository/ bookworm ipdiva" > /etc/apt/sources.list.d/systancia.list

Lokálne zrkadlo je overené kľúčom systancia.gpg stiahnutým počas fázy prípravy. Odošlite ho na server cez SCP do adresára /tmp/ a potom ho nainštalujte nasledujúcim príkazom ako root:

1
mv /tmp/systancia.gpg /etc/apt/trusted.gpg.d/

Okrem konfigurácie nových úložísk dôrazne odporúčame použiť nasledujúce nastavenie, ktorým správcovi APT prikážete neinštalovať odporúčané závislosti, ktoré nie sú nevyhnutne potrebné, a znížiť tak počet inštalovaných komponentov. Nasledujúci príkaz použije toto nastavenie ako root:

1
echo -e 'APT::Install-Recommends false;\nAPT::Install-Suggests false;' > /etc/apt/apt.conf.d/99norecommends

Nakoniec je potrebné aktualizovať zoznam balíkov v úložiskách nasledujúcim príkazom:

1
apt update

Spustenie upgradu verzie

Pripojte sa k serveru Mediation Controller cez SSH, prepnite sa na root a potom otvorte reláciu screen podľa pokynov vyššie.

Začnite aktualizáciou niektorých konkrétnych balíkov, aby bolo možné vykonať upgrade verzie. Pri vykonaní prvého príkazu sa očakáva chybové hlásenie, ale chybu opraví druhý príkaz:

1
2
apt install -y python3-cleanroom-django-mssql python3-ipdiva-ua-parser python3-ipdiva-user-agents python3-ipdiva-django2
apt install -y --fix-broken

Pri upgrade servera Mediation Controller zo systému Debian 11 na Debian 12 sa balík collectd aktualizuje a stane sa nekompatibilným s konfiguračným súborom, ktorý generuje CyberElements Bastion (/etc/collectd/collectd.conf). Môže to spôsobiť chybu počas aktualizácie.

Aby ste tomu predišli, zakážte collectd:

1
2
systemctl stop collectd 
systemctl disable collectd

Potom možno upgrade spustiť nasledujúcim príkazom:

1
apt dist-upgrade -y

Počas upgradu dostanete niekoľko otázok, či zachovať konfiguračné súbory a aktualizovať ich podľa štandardnej konfigurácie systému Debian 12, alebo ponechať existujúcu špecifickú konfiguráciu. Tu sú naše odporúčania pre väčšinu súborov, s ktorými sa môžete stretnúť:

Konfiguračný súbor Odporúčaná akcia
/etc/issue Ak chcete súbor zachovať, odpovedzte N
/etc/issue.net Ak chcete súbor zachovať, odpovedzte N
/etc/security/limits.conf Ak chcete súbor zachovať, odpovedzte N
/etc/login.defs Ak chcete súbor zachovať, odpovedzte N
/etc/shibboleth/shibboleth2.xml Ponechajte, odpovedzte N
/etc/shibboleth/shibd.logger Použite zmeny, odpovedzte Y
/etc/default/ntpsec Použite zmeny, odpovedzte Y
/etc/snmp/snmpd.conf Ak chcete použiť zmeny, odpovedzte Y
/etc/logrotate.d/IPdivaServer Použite zmeny, odpovedzte Y
/etc/ssh/sshd_config Ak chcete súbor zachovať, odpovedzte Keep the local version currently installed
/etc/ssh/ssh_config Použite zmeny, odpovedzte Y
/etc/apache2/ports.conf Ponechajte, odpovedzte N
/etc/init.d/apache2 Ponechajte, odpovedzte N
/etc/modsecurity/modsecurity.conf-recommended Použite zmeny, odpovedzte Y
/etc/ipdiva/httpd/commonParameters.conf Použite zmeny, odpovedzte Y
/etc/ipdiva/care/djangosettings.ini Použite zmeny, odpovedzte Y
/etc/crontab Použite zmeny, odpovedzte Y
/etc/openssl.cnf Použite zmeny, odpovedzte Y
/etc/audit/rules.d/audit.rules Ak chcete súbor zachovať, odpovedzte N
/etc/pam.d/su Ak chcete súbor zachovať, odpovedzte N
/etc/sysctl.conf Ak chcete súbor zachovať, odpovedzte N

Prijmite konfiguračnú správu balíka glibc:

Prijmite automatický reštart služieb:

Po dokončení upgradu spustite nasledujúce príkazy, aby ste znova aktivovali collectd, odstránili nepotrebné balíky a reštartovali počítač:

1
2
3
4
systemctl start collectd
systemctl enable collectd
apt autoremove -y
reboot

Akcie špecifické pre servery Mediation Controller v architektúre Cluster

Na serveri Mediation Controller SLAVE spustite nasledujúce príkazy, aby ste znova synchronizovali tajný kľúč medzi serverom Mediation Controller MASTER a serverom SLAVE:

1
2
hostManagerCtl masterSynchro /etc/ipdiva/secure/secret /etc/ipdiva/secure/secret
systemctl restart apache2

Upgrade inštancie databázy PostgreSQL

Na serveri Mediation Controller aktualizujte inštanciu databázy PostgreSQL z verzie 13 na verziu 15. Na tento účel vykonajte nasledujúce pokyny s príslušnými právami používateľa root.

Pred migráciou skontrolujte stav inštancií PostgreSQL:

1
pg_lsclusters

Spustite nasledujúce príkazy na aktualizáciu inštancie databázy na PostgreSQL vo verzii 15:

1
2
3
4
pg_dropcluster --stop 15 main
systemctl stop postgresql
pg_upgradecluster 13 main
systemctl start postgresql

Overte, či bol upgrade inštancie databázy úspešný. Mali by sa zobraziť dve inštancie, jedna vo verzii 13 a druhá vo verzii 15, ktorá je jediná aktívna. Kontrola sa vykonáva nasledujúcim príkazom:

1
pg_lsclusters

Ak bol upgrade úspešný, inštanciu databázy vo verzii 13 možno odstrániť:

1
pg_dropcluster 13 main

Môžete spustiť odstránenie balíkov PostgreSQL vo verzii 13:

1
apt -y --purge autoremove postgresql-client-13 postgresql-13

Migrácia databázy CyberElements Bastion

Konfigurácia produktu je uložená v databáze, ktorú treba migrovať, aby mohla obsahovať konfigurácie zmien zavedených novou verziou. Operácia sa vykonáva na serveri Mediation Controller ako root.

Architektúra Cluster

V architektúre Cluster treba operáciu vykonať iba z jedného servera Mediation Controller, pričom nezáleží na tom, z ktorého.

Treba tiež spustiť nasledujúci príkaz:

1
python3 /var/lib/ipdiva/care/manage.py migrate

Migrácia údajov sa spúšťa príkazom, ktorý zodpovedá tomuto:

1
python3 /var/lib/ipdiva/care/manage.py migrate --database=<org_clr>

Pričom <org_clr> treba nahradiť názvom organizácie, ktorá sa má migrovať. Upozorňujeme, že ak má server Mediation Controller viacero organizácií (multi-tenant), budete musieť príkaz spustiť toľkokrát, koľko organizácií treba migrovať.

Príklad

Pre platformu CyberElements Bastion, ktorá má organizácie systancia a systancia-test, budete musieť spustiť nasledujúce príkazy:

1
2
python3 /var/lib/ipdiva/care/manage.py migrate --database=systancia
python3 /var/lib/ipdiva/care/manage.py migrate --database=systancia-test

Po migrácii databázy treba reštartovať službu Apache2:

1
systemctl restart apache2

Obnovenie konfigurácií

Niektoré konfigurácie sa počas procesu upgradu prepísali a treba ich obnoviť.

Súbor commonParameters.conf:

Presuňte značky <Location> týkajúce sa serverov HTML5 Gateway, ktoré sa zvyčajne nachádzajú na konci súboru, zo súboru /etc/ipdiva/httpd/commonParameters.conf.dpkg-old do súboru /etc/ipdiva/httpd/commonParameters.extra.conf (ak súbor neexistuje, vytvorte ho). Ak nie sú prítomné žiadne značky <Location>, môžete skopírovať nasledujúce príklady.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Location /HTML5/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1234/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1234
</Location>

<Location /HTML5/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
</Location>
 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
<Location /HTML5-1/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1234/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1234
</Location>

<Location /HTML5-1/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
</Location>

<Location /HTML5-2/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1235/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1235
</Location>

<Location /HTML5-2/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1235/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1235/systanciaHTML5-6.0/websocket-tunnel
</Location>

Súbor djangosettings.ini:

Skopírujte informácie z riadka 2 „allowed_hosts“ súboru /etc/ipdiva/care/djangosettings.ini.dpkg-old do súboru /etc/ipdiva/care/djangosettings.ini. Dá sa to automatizovať nasledujúcim príkazom spusteným ako root:

1
sed -i "2c\\`sed -n '2p' /etc/ipdiva/care/djangosettings.ini.dpkg-old`" /etc/ipdiva/care/djangosettings.ini

Použitie obnovení:

Na použitie obnovení je potrebný reštart služby Apache2 ako root:

1
systemctl restart apache2

Validácia

Po dokončení upgradu treba pred návratom do produkčnej prevádzky validovať infraštruktúru CyberElements Bastion, aby sa overilo jej správne fungovanie. Ak validácia zlyhá, zvážte vrátenie zmien obnovením záloh serverov CyberElements Bastion.

Prejdite do rozhrania správcu organizácie a potom do ponuky „About“ na ovládacom paneli, aby ste overili, či bol upgrade verzie servera Mediation Controller na 4.6 úspešný.

Môžete spustiť prvé testy funkčnosti platformy, ale na zabezpečenie optimálneho výkonu aplikácií CyberElements Bastion odporúčame používať verziu 4.6 servera Edge Gateway.