Installazione e configurazione di Ubuntu 22 Runtime
Runtime in Ubuntu 22 viene eseguito come utente senza privilegi per migliorare la sicurezza informatica riducendo la superficie di cyberattacco. Una volta accertati che tutti i requisiti siano soddisfatti, procedere con l'installazione e la configurazione di Runtime.
Requisiti
Per l'installazione di Runtime su Ubuntu 22 procedere come segue:
- Assicurarsi che la versione del kernel in esecuzione sul dispositivo o le intestazioni linux della versione corrente del kernel devono essere aggiornate.
- Assicurarsi che sia installato .NET Runtime 8. Se non è ancora installato e il dispositivo si connette a Internet, verrà scaricato e installato automaticamente durante l'installazione di Runtime.
- Installare X11 Window System per abilitare la funzionalità Remote Desktop. Invece, se Wayland è installato e abilitato, disabilitarlo modificando il file:
/etc/gdm3/custom.conf
O
/etc/gdm3/daemon.conf
Rimuovere il commento dalla riga seguente rimuovendo il simbolo #:
#WaylandEnable=false
- Verificare il sistema non abbia
remoteaccess_runtime
come nome utente,uid=9879
come ID utente egid=9879
come ID di gruppo per l'utente standard senza privilegi che eseguirà il Runtime. - Installare i seguenti pacchetti per eseguire il programma di installazione e i servizi SetupHost e Runtime:
useradd
egroupadd
: Eseguire l'installazione digitandosudo apt-get install passwd
xdpyinfo
: Eseguire l'installazione digitandosudo apt-get install x11-utils
xhost
: Eseguire l'installazione digitandosudo apt-get install x11-xserver-utils
mknod
,readlink
,tr
,who
: Eseguire l'installazione digitandosudo apt-get install coreutils
iptables
: Eseguire l'installazione digitandosudo apt-get install iptables
brctl
: Eseguire l'installazione digitandosudo apt-get install bridge-utils
dhclient
: Eseguire l'installazione digitandosudo apt-get install isc-dhcp-client
setcap
: Eseguire l'installazione digitandosudo apt-get install libcap2-bin
setfacl
: Eseguire l'installazione digitandosudo apt-get install acl
awk
: Eseguire l'installazione digitandosudo apt-get install gawk
systemd-run
,systemctl
,resolvectl
,loginctl
: Eseguire l'installazione digitandosudo apt-get install systemd
Nota: Alcuni script eseguiti daUbiquitySetupHost.service
durante la fase di inizializzazione dell'host richiedono questi comandi per funzionare con il sistema host. Se uno di questi comandi non è presente, l'esecuzione dello script potrebbe interrompersi.
- Assicurarsi che l'utente della sessione predefinita sia un utente della cartella root o un utente del gruppo sudoers e che disponga delle cartelle
sbin
nella propria variabile di ambientePATH
. Per aggiungere un utente al gruppo sudoers, utilizzare i seguenti comandi:su -l
usermod -aG sudo <UserToAdd>
Installazione e configurazione di Runtime
- Scaricare il pacchetto UBIQUITY Runtime relativo alla distribuzione Ubuntu 22 sul dispositivo remoto ed eseguire il comando di installazione:
sudo apt install ./UbiquityRuntime_Ubuntu22_<version>.deb
e sostituire
<version>
con la versione effettiva.Nota: Vedere Tools per scaricare Runtime.Importante: Se si sta aggiornando una versione precedente di Runtime, potrebbe essere richiesto di attivare impostazioni di sicurezza specifiche: Restrizione di sicurezza per i trasferimenti di file e Restrizione di sicurezza dei processi. Queste impostazioni si trovano nella sezione Settings dell'interfaccia utente di Runtime. - Il sistema esegue diversi controlli e crea
UbiquityRuntimeService.service
eUbiquitySetupHost.service
. - Assicurarsi che i servizi creati archiviati in
/etc/systemd/system
vengano visualizzati come segue:[Unit] Description=Ubiquity Setup Host Service After=network-online.target Onsuccess=UbiquityRuntimeService.service [Service] ExecStart=/opt/ASEM/Ubiquity/Runtime/bin/setuphost.sh -v [OPTIONS] [Install] WantedBy=multi-user.target
[Unit] Description=Ubiquity Runtime Service OnFailure=UbiquitySetupHost.service [Service] ExecStart=/opt/ASEM/Ubiquity/Runtime/bin/UbiquityRuntimeService User=remoteaccess_runtime AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW [Install] WantedBy=multi-user.target
- In
UbiquitySetupHost.service
, sostituire[OPTIONS]
secondo necessità:--enable-vpn <adapter-list> Configure the host to enable VPN on the Runtime ad running time. The adapter-list is a single parameter that contains a list of adapter names separated by a comma (,). A conventional network bridge interface will be created on each of them to perform VPN. Example: --enable-vpn eth0,eth1 --enable-p2p-vpn Configure the host to enable Point-to-Point VPN on the Runtime at running time. -v, --verbose Print detailed logs for troubleshooting.
Separare le interfacce indicate in
<adapter-list>
utilizzando una virgola. Per esempio:eth0,eth1,eth2
. Lo script stabilisce un'interfaccia bridge di rete standard per ciascuna interfaccia specificata.Nota: Durante la creazione di un bridge di rete standard, lo script aggiunge sia-tap
che-bridge
a qualsiasi interfaccia elencata in<adapter-list>
ogni volta in cui tap e bridge non siano già presenti. Lo script rispetta il limite di 15 caratteri imposto da Linux.- Esempio senza troncamento dell'interfaccia:
- Nome dell'adattatore (lunghezza caratteri 4):
eth0
- Nome del tap (lunghezza caratteri 8):
eth0-tap
- Nome del bridge (lunghezza caratteri 8):
eth0-bridge
- Nome dell'adattatore (lunghezza caratteri 4):
- Esempio con troncamento dell'interfaccia:
- Nome dell'adattatore (lunghezza caratteri 9):
enp0s31f6
- Nome del tap (lunghezza caratteri 13):
enp0s31f6-tap
- Nome del bridge (lunghezza caratteri 15):
enp0s31f-bridge
. Considerando il limite di lunghezza dei caratteri, il troncamento del nome dell'adattatore consiste nell'eliminazione della cifra6
.Il limite massimo di lunghezza dei caratteri influisce su tutte le interfacce di bridge e tap con nomi uguali o più lunghi del nome nell'esempio precedente.
- Nome dell'adattatore (lunghezza caratteri 9):
- Esempio senza troncamento dell'interfaccia:
I binari di Runtime verranno installati nella cartella:
/opt/ASEM/Ubiquity/Runtime/bin
e i registri di Runtime saranno disponibili nella cartella:
/opt/ASEM/Ubiquity/Runtime/log
Avvio Runtime
-
Per avviare il servizio Runtime, eseguire il comando
sudo systemctl start UbiquitySetupHost.service
nella cartella/etc/systemd/system
. - Assicurarsi che il servizio
UbiquityRuntimeService.service
sia attivo e funzionante digitandosudo systemctl status UbiquityRuntimeService.service
.
Connessione di Runtime all'infrastruttura di rete di UBIQUITY
Configurazione Runtime
Configurazione passthrough seriale
Per abilitare l'uso remoto di una porta seriale, aggiungere un collegamento simbolico all'interfaccia nel percorso /dev/serial<interface number>
.
Esempio:
In un sistema dotato di interfaccia seriale /dev/ttyS0
, eseguire il seguente comando:
ln -s /dev/ttyS0 /dev/serial0
Impostazione della password
Per impedire a utenti non autorizzati di accedere a Runtime, impostare una password. Dopo aver impostato una password, all'avvio di Runtime si apre una pagina di autenticazione del browser.
Per accedere alla configurazione di Runtime, immettere https://localhost:5161
nella barra di navigazione.
- Immettere
sudo UbiquityRuntimeCli --setRuntimePassword --password <runtime password>
. - Sostituire
<runtime password>
con una password.Nota:Creare una password complessa per ridurre i rischi di sicurezza informatica.
La password deve avere:- almeno 8 caratteri
- Includere almeno tre dei seguenti requisiti:
- almeno un carattere maiuscolo
- almeno un carattere minuscolo
- almeno un carattere numerico
- almeno un simbolo
Utilizzare passphrase più lunghe di 8 caratteri per migliorare la sicurezza della password. Le password complesse aumentano il tempo necessario per indovinarle.