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.confO
/etc/gdm3/daemon.confRimuovere il commento dalla riga seguente rimuovendo il simbolo #:
#WaylandEnable=false - Verificare il sistema non abbia
remoteaccess_runtimecome nome utente,uid=9879come ID utente egid=9879come 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:
useraddegroupadd: Eseguire l'installazione digitandosudo apt-get install passwdxdpyinfo: Eseguire l'installazione digitandosudo apt-get install x11-utilsxhost: Eseguire l'installazione digitandosudo apt-get install x11-xserver-utilsmknod,readlink,tr,who: Eseguire l'installazione digitandosudo apt-get install coreutilsiptables: Eseguire l'installazione digitandosudo apt-get install iptablesbrctl: Eseguire l'installazione digitandosudo apt-get install bridge-utilsdhclient: Eseguire l'installazione digitandosudo apt-get install isc-dhcp-clientsetcap: Eseguire l'installazione digitandosudo apt-get install libcap2-binsetfacl: Eseguire l'installazione digitandosudo apt-get install aclawk: Eseguire l'installazione digitandosudo apt-get install gawksystemd-run,systemctl,resolvectl,loginctl: Eseguire l'installazione digitandosudo apt-get install systemd
Nota:Alcuni script eseguiti daUbiquitySetupHost.servicedurante 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
sbinnella propria variabile di ambientePATH. Per aggiungere un utente al gruppo sudoers, utilizzare i seguenti comandi:su -lusermod -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>.debe 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.serviceeUbiquitySetupHost.service. - Assicurarsi che i servizi creati archiviati in
/etc/systemd/systemvengano 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-tapche-bridgea 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.servicenella cartella/etc/systemd/system. - Assicurarsi che il servizio
UbiquityRuntimeService.servicesia 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.
