Gå til indholdet

Upgrade af Mediation Controller i drift

Vigtigt

Dokumentationen til upgrade af Mediation Controller i drift er rettet mod enhver Mediation Controller, der kører Debian 11. Debian-versionen kan kontrolleres med følgende kommando (udføres via SSH eller konsoladgang):

1
cat /etc/debian_version

Information

Til erindring: skiftet til root på Debian-maskiner skal udføres med følgende kommando:

1
su -

Planlægning og forberedelse

Åbning af netværksstrømme

Ved upgrade af produktet skal mange pakker downloades fra Debian-repositories på grund af overgangen fra Debian version 11 til 12. Adgang via TCP 80 til security.debian.org og ftp.fr.debian.org skal være åben.

For at teste åbningen af strømmene på maskinen kan man starte en synkronisering af Debian-repositories. Hvis der vises fejlmeddelelser om adgangen til Debian-repositories, er netværksstrømmen ikke åben, sandsynligvis blokeret af virksomhedens firewall. Synkroniseringen af repositories kan startes med følgende kommando:

1
apt update

Download af mirroren og de nødvendige værktøjer

Mirroren til CyberElements Cleanroom 4.6 kan downloades via dette link (kræver oprettelse af en kundekonto): Systancia Marketplace

Ud over mirroren kræves der værktøjer fra tredjepart til upgrade-processen:

  • En SSH-klient (på Windows kan værktøjet PuTTY bruges)
  • En SCP-klient (på Windows kan værktøjerne WinSCP eller FileZilla bruges)

Installation og brug af værktøjet screen

Værktøjet screen giver mulighed for at åbne flere shell-terminaler i én enkelt konsol. Det er afgørende at bruge dette værktøj til opgraderingen til CyberElements Bastion-versionen for at fjerne afhængigheden af netværksforbindelsens stabilitet. Uden værktøjet screen ville installationen nemlig blive afbrudt, hvis SSH-forbindelsen til CyberElements Bastion-serverne blev afbrudt.

Ved at bruge værktøjet screen kan man ved en ny forbindelse til shell-konsollen på CyberElements Bastion-udstyret genfinde den terminal, hvori opdateringsprocessen blev udført.

Pakken screen bør installeres med følgende kommandolinje:

1
apt install --no-install-recommends screen

For at åbne en ny screen-terminal skal følgende kommando udføres:

1
screen -S <ID>

Erstat <ID> med et navn, der identificerer sessionen.

Eksempel

Ved upgrade af CyberElements-versioner er identifikatoren cye-upgrade nem at genkende. Kommandoen vil derfor være som følger:

1
screen -S cye-upgrade

For at hente en terminal frem, der er åbnet med screen, er det nok at udføre følgende kommando:

1
screen -r <ID>

Erstat <ID> med det navn, der blev defineret, da sessionen blev åbnet.

Eksempel

Den terminal, der tidligere blev åbnet med identifikatoren cye-upgrade, kan hentes frem med følgende kommando:

1
screen -r cye-upgrade

For at lukke terminalen, når upgraden er gennemført, skal du indtaste kommandoen exit eller tastaturgenvejen ctrl+d i terminalen.

Du kommer dermed tilbage til konsollen. Meddelelsen ”screen is terminating” bekræfter, at terminalen er lukket.

Udvidelse af diskplads på de virtuelle appliances

På de virtuelle appliances Systancia Cleanroom 4.4 eller 4.5 skal partitionen /usr udvides med 2 GB diskplads. Denne handling er nødvendig for at have tilstrækkelig diskplads til upgraden og for at undgå at gå i stå under handlingen.

Ved forbindelsen til Mediation Controller, hvad enten det er via SSH eller i konsoltilstand, oplyser en velkomstmeddelelse dig om, at du er forbundet til en Systancia-maskine. En ekstra linje angiver appliancens version.

Eksempel

En virtuel Mediation Controller-appliance i version 4.5 giver følgende resultat:

 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

Hvis maskinen ikke er en virtuel appliance leveret med version 4.4 eller 4.5, kan dette kapitel springes over, så du går direkte videre til upgraden.

Backup anbefales stærkt

De følgende trin ændrer partitioneringen af Mediation Controllers disk. Hvis der er foretaget manuelle ændringer, er disse anvisninger muligvis ikke egnede, og maskinen kan gå i stå.

Tag en backup af maskinen, før du fortsætter, eller kopier om nødvendigt den virtuelle maskine. Snapshots kan ikke bruges, fordi de, især i VMware, forhindrer udvidelsen af en disk.

Udvid den virtuelle maskines diskplads med yderligere 2 GB på hypervisoren. Hvis det ikke er muligt at udvide disken, skal du kontrollere, at der ikke findes snapshots, og ellers slukke den virtuelle maskine, hvis udvidelse i drift ikke understøttes.

Når diskpladsen er udvidet på den virtuelle maskine, er følgende kommandoer nødvendige for at udvide partitionen /usr; de skal udføres som 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

Opdatering af Debian-pakkerne

Da opgraderingen af CyberElements Bastion kræver en opgradering af Debian, anbefales det at opdatere Debian 11-pakkerne korrekt, før der skiftes til Debian 12. Kør følgende kommandoer som root for at gøre det (systemopdatering og derefter fjernelse af unødvendige pakker):

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

Der kan komme meddelelser, som beder dig om at ændre konfigurationen af flere konfigurationsfiler. Vælg i disse tilfælde muligheden for at bevare den nuværende konfiguration.

Forberedelse af driverne til Microsoft SQL Server

Der kræves yderligere trin, hvis driverne til Microsoft SQL Server er installeret (det er tilfældet på de virtuelle appliances, der leveres af Systancia).
Følgende kommando kan udføres som root for at kontrollere, om de findes på serveren:

1
apt list --installed ms*

Hvis der ikke vises noget svar, er driverne ikke installeret, og du kan gå videre til trinnet med forberedelse af spejlet.
Ellers, hvis driverne er installeret, bør to pakker være listet: msodbcsql17 og mssql-tools. Følg anvisningerne i dette afsnit.

Eksempler

En server, hvor driverne ikke er installeret, ville give følgende resultat af den foregående kommando:

1
Listing... Done

En server, hvor driverne er installeret, giver et resultat, der ligner dette (versionerne af pakkerne kan afvige):

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]

Følgende kommandoer er nødvendige for at installere en bestemt version af pakkerne og sikre en velgennemført upgrade:

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

Konfigurer det Microsoft-repository, der passer til Debian 12, for at forberede upgraden:

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

Forberedelse af mirroren til CyberElements Cleanroom 4.6

Den mirror, der blev hentet i forberedelsesfasen (filen med filtypen tgz), skal sendes til serveren via SCP. Den skal placeres i mappen /tmp/.

Forbered derefter mirroren ved at udføre følgende kommandoer som root (restfiler fra en tidligere upgrade af version bliver slettet):

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

Konfiguration af APT

Pakkehåndteringen APT er konfigureret til at hente Debian 11-pakkerne; den skal konfigureres igen, så den henter Debian 12-pakkerne. Det er også nødvendigt at opdatere henvisningen til det lokale CyberElements Bastion-spejl. Kør følgende kommandoer som root for at gøre det:

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

Ud over konfigurationen af de nye repositories anbefaler vi kraftigt at anvende følgende indstilling, som fortæller APT ikke at installere anbefalede afhængigheder, der ikke er strengt nødvendige, for at reducere antallet af installerede komponenter. Følgende kommando anvender denne indstilling somroot:

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

Endelig skal listen over pakker i repositories opdateres med følgende kommando:

1
apt update

Sådan udløses upgraden

Få adgang til Mediation Controller-serveren via SSH, skift til root, og åbn derefter et screen som angivet ovenfor.

Begynd med at opdatere visse bestemte pakker, så upgraden kan udføres. Der forventes en fejlmeddelelse ved udførelsen af den første kommando, men fejlen rettes med den anden kommando:

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

Ved upgrade af en Mediation Controller fra Debian 11 til Debian 12 opdateres pakken collectd og bliver derefter inkompatibel med den konfigurationsfil, som CyberElements Bastion genererer (/etc/collectd/collectd.conf). Det kan udløse en fejl under opdateringen.

Slå collectd fra for at undgå dette:

1
2
systemctl stop collectd 
systemctl disable collectd

Derefter kan opdateringen startes med følgende kommando:

1
apt dist-upgrade -y

Under opdateringen stilles du flere spørgsmål om, hvorvidt konfigurationsfilerne skal bevares og opdateres i overensstemmelse med standardkonfigurationen i Debian 12, eller om den eksisterende specifikke konfiguration skal bevares. Her er vores anbefalinger for de fleste af de filer, du kan møde:

Konfigurationsfil Anbefalet handling
/etc/issue Bevar, svar N
/etc/issue.net Bevar, svar N
/etc/security/limits.conf Bevar, svar N
/etc/login.defs Bevar, svar N
/etc/shibboleth/shibboleth2.xml Bevar, svar N
/etc/shibboleth/shibd.logger Anvend ændringerne, svar Y
/etc/default/ntpsec Anvend ændringerne, svar Y
/etc/snmp/snmpd.conf Anvend ændringerne, svar Y
/etc/logrotate.d/IPdivaServer Anvend ændringerne, svar Y
/etc/ssh/sshd_config Bevar, svar Keep the local version currently installed
/etc/ssh/ssh_config Anvend ændringerne, svar Y
/etc/apache2/ports.conf Bevar, svar N
/etc/init.d/apache2 Bevar, svar N
/etc/modsecurity/modsecurity.conf-recommended Anvend ændringerne, svar Y
/etc/ipdiva/httpd/commonParameters.conf Anvend ændringerne, svar Y
/etc/ipdiva/care/djangosettings.ini Anvend ændringerne, svar Y
/etc/crontab Anvend ændringerne, svar Y
/etc/openssl.cnf Anvend ændringerne, svar Y
/etc/audit/rules.d/audit.rules Bevar, svar N
/etc/pam.d/su Bevar, svar N
/etc/sysctl.conf Bevar, svar N

Accepter konfigurationsmeddelelsen for pakken glibc:

Accepter den automatiske genstart af tjenesterne:

Når upgraden er gennemført, skal du køre følgende kommandoer for at slå collectd til igen, fjerne de unødvendige pakker og genstarte maskinen:

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

Handlinger, der er specifikke for Mediation Controllers i Cluster

Kør følgende kommandoer på Mediation Controller-serveren SLAVE for at synkronisere den hemmelighed, der deles mellem Mediation Controller MASTER og SLAVE, igen:

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

Upgrade af PostgreSQL-databaseinstansen

Opdater PostgreSQL-databaseinstansen fra version 13 til version 15 på Mediation Controller-serveren. Udfør dertil følgende anvisninger med de nødvendige root-rettigheder.

Kontrollér status for PostgreSQL-instanserne før migreringen:

1
pg_lsclusters

Kør følgende kommandoer for at opdatere databaseinstansen til PostgreSQL version 15:

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

Kontrollér, at databaseinstansen er blevet opdateret korrekt. Der bør vises to instanser, en i version 13 og en i version 15, hvor sidstnævnte er den eneste aktive. Kontrollen udføres med følgende kommando:

1
pg_lsclusters

Hvis upgraden lykkedes, kan databaseinstansen i version 13 slettes:

1
pg_dropcluster 13 main

Sletningen af PostgreSQL-pakkerne i version 13 kan startes:

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

Migrering af CyberElements Bastion-databasen

Produktets konfiguration gemmes i databasen, som skal migreres, for at den kan indeholde indstillingerne for de ændringer, den nye version indfører. Handlingen udføres på Mediation Controller som root.

Clusterarkitektur

Ved en clusterarkitektur skal handlingen kun udføres fra én enkelt Mediation Controller, uanset hvilken.

Desuden skal følgende kommando køres:

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

Migreringen af data udløses med en kommando svarende til denne:

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

Her skal <org_clr> erstattes med navnet på den organisation, der skal migreres. Bemærk, at hvis Mediation Controller har flere organisationer (multi-tenant), skal du køre kommandoen lige så mange gange, som der er organisationer at migrere.

Eksempel

For en CyberElements Bastion-platform med organisationerne systancia og systancia-test skal du køre følgende kommandoer:

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

Efter migreringen af databasen skal tjenesten Apache2 genstartes:

1
systemctl restart apache2

Gendannelse af konfigurationerne

Nogle konfigurationer blev overskrevet under upgraden og skal gendannes.

Filen commonParameters.conf:

Flyt de <Location>-tags, der vedrører HTML5 Gateways, og som normalt ligger i slutningen af filen, fra filen /etc/ipdiva/httpd/commonParameters.conf.dpkg-old til /etc/ipdiva/httpd/commonParameters.extra.conf (opret filen, hvis den ikke findes). Hvis der ikke findes nogen <Location>-tags, kan følgende eksempler kopieres.

 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>

Filen djangosettings.ini:

Kopiér oplysningen fra linje 2 ”allowed_hosts” i filen /etc/ipdiva/care/djangosettings.ini.dpkg-old til filen /etc/ipdiva/care/djangosettings.ini. Det kan automatiseres med følgende kommando som root:

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

Anvendelse af gendannelserne:

For at anvende gendannelserne kræves en genstart af tjenesten Apache2 som root:

1
systemctl restart apache2

Validering

Når upgraden er gennemført, skal CyberElements Bastion-infrastrukturen valideres for at sikre, at den fungerer korrekt, før den sættes i produktion igen. Hvis valideringen mislykkes, bør du overveje en tilbagerulning ved at gendanne backuppene af CyberElements Bastion-serverne.

Gå til administratorgrænsefladen for en organisation og derefter til menuen ”About” i kontrollinjen for at kontrollere, at Mediation Controllers version er blevet opdateret korrekt til 4.6.

De første tests af platformens funktion kan startes, men vi anbefaler version 4.6 af Edge Gateway for at sikre optimal ydeevne i CyberElements Bastion-applikationerne.