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.

Nota: Vedere Configurazione Runtime per una panoramica delle impostazioni disponibili.

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 e gid=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 e groupadd: Eseguire l'installazione digitando sudo apt-get install passwd
    • xdpyinfo: Eseguire l'installazione digitando sudo apt-get install x11-utils
    • xhost: Eseguire l'installazione digitando sudo apt-get install x11-xserver-utils
    • mknod, readlink, tr, who: Eseguire l'installazione digitando sudo apt-get install coreutils
    • iptables: Eseguire l'installazione digitando sudo apt-get install iptables
    • brctl: Eseguire l'installazione digitando sudo apt-get install bridge-utils
    • dhclient: Eseguire l'installazione digitando sudo apt-get install isc-dhcp-client
    • setcap: Eseguire l'installazione digitando sudo apt-get install libcap2-bin
    • setfacl: Eseguire l'installazione digitando sudo apt-get install acl
    • awk: Eseguire l'installazione digitando sudo apt-get install gawk
    • systemd-run, systemctl, resolvectl, loginctl: Eseguire l'installazione digitando sudo apt-get install systemd
    Nota: Alcuni script eseguiti da UbiquitySetupHost.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 ambiente PATH. Per aggiungere un utente al gruppo sudoers, utilizzare i seguenti comandi:
    su -l
    usermod -aG sudo <UserToAdd>

Installazione e configurazione di Runtime

  1. 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.
  2. Il sistema esegue diversi controlli e crea UbiquityRuntimeService.service e UbiquitySetupHost.service.
  3. 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
    
    
  4. 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
    • 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 cifra 6.

        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.

Nota:

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

  1. Per avviare il servizio Runtime, eseguire il comando sudo systemctl start UbiquitySetupHost.service nella cartella /etc/systemd/system.

  2. Assicurarsi che il servizio UbiquityRuntimeService.service sia attivo e funzionante digitando sudo systemctl status UbiquityRuntimeService.service.

Connessione di Runtime all'infrastruttura di rete di UBIQUITY

Nota: Vedere la sezione Settings in Configurazione Runtime per informazioni su come collegare Runtime con l'infrastruttura di rete UBIQUITY.

Configurazione Runtime

Nota: Vedere Configurazione Runtime per ulteriori informazioni su questo argomento.

Configurazione passthrough seriale

Nota: Questa funzione non è attualmente supportata su Ubuntu 22.

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.

Nota: Per impostare una password è necessario disporre dei privilegi sudo.
Nota: Se non si imposta una password per accedere a Runtime, tutti gli utenti possono accedervi e arrivare direttamente sulla Home page.
  1. Immettere sudo UbiquityRuntimeCli --setRuntimePassword --password <runtime password>.
  2. 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.

Nota: Per cambiare la password, ripetere la procedura.

Aggiorna Runtime

Vedere Aggiornamento di Ubuntu 22 Runtime.