Guida rapida all’installazione

Questo capitolo è dedicato a chi vuole vedere velocemente come installare un server FUSS ed un client.

Topologia di una tipica rete didattica

Prima di mostrare come installare server e client, vediamo nella seguente figura la tipica topologia di rete dove FUSS può trovare applicazione.

Topologia di una rete FUSS

Tipica topologia di una rete FUSS

Un server FUSS deve avere almeno 2 interfacce di rete. La prima serve per la connessione alla WAN (Wide Area Network) mentre la seconda è collegata alla rete locale (LAN-1) della scuola. La presenza di una terza porta ethernet sul server e di una seconda LAN nella scuola alla quale sono connessi degli access point WiFi sono i presupposti per poter installare sul server FUSS un captive-portal che offre la possibilità a dispositivi satellite di accedere ad internet previa autenticazione.

Installazione di FUSS server dall’immagine cloud-init

A partire dalla versione 10 è disponibile una modalità di installazione più veloce del FUSS server partendo da una immagine di macchina virtuale preinstallata con il supporto per la tecnologia di autoconfigurazione cloud-init.

Questa modalità può essere utilizzata solo con un sistema di virtualizzazione, qui verrà illustrato come farlo con la piattaforma di virtualizzazione Proxmox, adottata dal progetto, che supporta la tecnologia indicata consentendo di gestire tutte le caratteristiche della macchina virtuale direttamente dalla sua interfaccia web.

Installazione della macchina virtuale

Il primo passo è scaricare l’immagine predisposta dal progetto per inserirla fra i dump disponibili per il ripristino. Questa è disponibile all’indirizzo http://iso.fuss.bz.it/cloud-init/vzdump-qemu-fuss-server-10.0-latest.vma.lzo e la cosa più semplice è scaricarla direttamente sul server Proxmox su cui sarà utilizzata collegandosi con SSH ed eseguendo:

# cd /var/lib/vz/dump/
# wget http://iso.fuss.bz.it/cloud-init/vzdump-qemu-fuss-server-10.0-latest.vma.lzo

(se si è configurato uno storage diverso da local in Proxmox ci si ponga nella rispettiva directory invece che sotto /var/lib/vz/dump/).

Con le versioni più recenti di Proxmox occorre rinominare il file perché rispetti le convenzioni sul nome dei dump usate dalla piattaforma, pertanto se si vuole usare il ripristino dall’interfaccia web sarà anche necessario eseguire:

# mv vzdump-qemu-fuss-server-10.0-latest.vma.lzo vzdump-qemu-000-0000_00_00-00_00_00.vma.lzo

Una volta completato il download (e corretto il nome) l’immagine comparirà fra in contenuti dello storage (dall’interfaccia web) e si potrà iniziare il ripristino anche direttamente dall’interfaccia selezionandola ed usando il pulsante «Restore» che creerà una nuova macchina virtuale sul primo VMID libero.

Si tenga presente che perché questo funzioni regolarmente occorre avere configurato Proxmox per l’uso di FUSS, la macchina virtuale infatti assume la presenza di almeno due diverse interfacce di rete, una sulla rete esterna (vmbr0) ed una sulla rete interna (vmbr1); qualora non fosse così si potranno comunque cambiare le assegnazioni delle interfacce una volta ripristinata la macchina virtuale.

Alternativamente si può eseguire il ripristino dalla riga di comando (si assume che si sia configurato lo storage su LVM con il nome utilizzato nella installazione di default di Proxmox) con:

qmrestore /var/lib/vz/dump/vzdump-qemu-000-0000_00_00-00_00_00.vma.lzo \
   106 -storage local-lvm -unique

dove al posto di 106 si può usare un qualunque VMID libero.

Se si usa la riga di comando per il ripristino si può evitare di rinominare il file, ed eseguire il ripristino in forma alternativa facendo leggere l’archivio decompresso con una pipe, con un comando come:

lzop -d -c vzdump-qemu-fuss-server-10.0-latest.vma.lzo | qmrestore - \
    106  -unique -storage local-lvm

Una volta ripristinata l’immagine gli si deve associare l’immagine del disco di configurazione con:

qm set 106 --ide2 local-lvm:cloudinit

Nota

se si ottiene un errore del tipo:

lvcreate 'pve/vm-106-cloudinit' error:   Logical Volume "vm-106-cloudinit" already exists in volume group "pve"

si rimuova la precedente istanza del volume logico con:

lvremove pve/vm-106-cloudinit

e si ripeta il comando.

A questo punto dall’interfaccia web si potranno configurare la rete impostando gli IP sulle interfacce di rete, una chiave SSH di accesso a root, il server DNS che deve essere sempre 127.0.0.1, ed il nome a dominio che dovrà essere quello che verrà poi utilizzato nella configurazione finale eseguita dal comando fuss-server.

Avvertimento

si deve sempre configurare il server DNS come 127.0.0.1 e il nome a dominio uguale a quello che verrà usato poi con il comando fuss-server altrimenti si rischia che o in una successiva esecuzione di fuss-server o nella riesecuzione dell’inizializzazione di cloud-init ci siano interferenze e sovrascritture reciproche

Si dovranno inoltre modificare i parametri hardware (dalla omonima sezione Hardware nell’interfaccia web) della macchina virtuale, per aumentare la memoria ed allargare il disco quanto necessario, ed eventualmente aggiungere le interfacce di rete mancanti (ad esempio quella per il captive portal). Si dovrà anche abilitare l’accensione automatica della macchina virtuale all’avvio, dalla sezione Options.

Le stesse operazioni si possono fare a riga di comando; per inserire i parametri di cloud-init (si adattino gli indirizzi di rete alle proprie esigenze) si esegua:

qm set 106 --ipconfig0 ip=10.0.101.79/24,gw=10.0.101.1
qm set 106 --ipconfig1 ip=192.168.0.1/24
qm set 106 --searchdomain fusslab.blz
qm set 106 --nameserver 127.0.0.1
qm set 106 --sshkey ~/id_rsa.pub

l’ultimo comando, se si ha un elenco di chiavi, può essere sostituito da:

qm set 106 --sshkey elencochiavissh.txt

dove elencochiavissh.txt è un file contenente l’elenco di chiavi pubbliche (una per riga) che verranno abilitate per la macchina in questione; lo si può generare da un elenco di file di chiavi con qualcosa tipo cat *.pub > elencochiavissh.txt.

Anche per modificare le caratteristiche della macchina virtule si può continuare ad operare direttamente a riga di comando, con qualcosa del tipo:

qm set 106 --memory 4096
qm resize 106 scsi0 500G
qm set 106 --onboot 1

dove si aumenta la RAM assegnata alla macchina virtuale a 4G ed il disco a 500G e si richiede il lancio automatico al riavvio di Proxmox. Si tenga presente che le opzioni verranno applicate al successivo riavvio, anche per la parte di allargamento del disco, che verrà eseguita automaticamente da cloud-init (si tenga presente però che questo funziona grazie allo specifico partizionamento usato nell’immagine fornita dal progetto).

Installazione di FUSS server tradizionale

Per installare FUSS Server su una macchina fisica, è necessario partire da un’installazione di Debian Buster, su cui è basato il FUSS server. Le immagini si possono ottenere dall’indirizzo

https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

e a febbraio 2020 la versione più recente è la 10.3.0, quindi il file da utilizzare è debian-10.3.0-amd64-netinst.iso.

Per le installazioni nelle scuole di Bolzano quest’immagine andrà caricata sul server proxmox precedentemente configurato, proseguendo quindi con la creazione della macchina virtuale fino al boot della stessa. Ma in questo caso è preferibile utilizzare la procedura illustrata nel paragrafo precedente.

Per installare invece direttamente sul server è necessaria una chiavetta USB della capacità minima di 1 GB sulla quale va copiata l’immagine ISO scaricata. In GNU/Linux si può usare il comando dd. Dopo aver inserito la chiavetta nel PC ove è disponibile l’immagine, verificare con il comando lsscsi quale dispositivo è stato assegnato alla chiavetta. Nell’esempio usiamo /dev/sdX dove X può essere una delle lettere a, b, c ecc. Come root, dare il comando:

# dd if=/PERCORSO_IMMAGINE/fuss-server-8.0-amd64-201708221233.iso \
  of=/dev/sdX bs=4M status=progress

Preparata la chiavetta USB, inserirla nel server e dopo averlo avviato premurarsi di scegliere come dispositivo di boot la chiavetta stessa.

Installazione di Debian

Configurazioni iniziali

Se si è correttamente configurato l’avvio della macchina virtuale dalla ISO del Netinstall si otterrà la seguente schermata iniziale:

_images/netinstall-boot.png

si scelga una installazione testuale, verranno chieste nell’ordine la lingua:

_images/netinstall-langsel.png

e si scelga l’italiano; la posizione (per il fuso orario):

_images/netinstall-posizione.png

e si scelga Italia; la tastiera:

_images/netinstall-keyboard.png

e si scelga quella italiana.

Per la rete si usi come interfaccia per l’installazione quella corrispondente alla WAN del server (quella che si affaccia su Internet):

_images/netinstall-ifselect.png

l’installer tenterà la configurazione automatica della rete, che deve essere interrotta (si prema invio durante l’acquisizione per cancellarla, o si torni indietro qualora sia avvenuta). In questo modo si potrà selezionare esplicitamente una configurazione manuale per l’IP «esterno» del fuss-server:

_images/netinstall-manualnet.png

e si effettuino le impostazioni standard della rete (indirizzo IP, netmask e default gateway e DNS):

_images/netinstall-configip.png
_images/netinstall-configgw.png
_images/netinstall-configdns.png

Verrà poi chiesto il nome della macchina, si inserisca subito quello definitivo:

_images/netinstall-sethostname.png

si prosegua poi impostando il dominio:

_images/netinstall-setdomain.png

verranno poi chieste la password di root e l’utente iniziale, da impostare a piacere.

Si dovrà poi effettuare il partizionamento dei dischi per l’installazione del sistema.

La scelta più sicura, per evitare problemi di riempimento della radice, è usare filesystem separati per /home, /var, /tmp. Questo però con il partizionamento diretto rende meno flessibile la eventuale riallocazione dello spazio disco.

Si tenga presente infatti che anche avendo disponibile spazio disco per poter allargare le partizioni, l’allargamento avverrebbe sul «fondo» pertanto sarebbe facile ridimensionare soltanto l’ultima partizione (nel caso la /home, che pur essendo quella più probabile, non è detto sia davvero quella che ha bisogno dello spazio disco aggiuntivo).

Per questo si suggerisce, per avere maggiore flessibilità, al costo di una leggera perdita di prestazioni in I/O, di installare usando LVM, selezionando «guidato - usa l’intero disco e imposta LVM»:

_images/fuss-server_scelta-guidato.png

quindi selezionare il disco da partizionare:

_images/fuss-server_selezione-disco.png

l’uso dei filesystem separati:

_images/fuss-server_selezione-partizioni.png

e confermare la configurazione di LVM:

_images/fuss-server_conferma-scelta.png

e l’uso di tutto lo spazio disponibile per il gruppo di volumi:

_images/fuss-server_gruppo-volumi.png

e poi la formattazione finale:

_images/fuss-server_scelta-finale.png

Una volta completato il partizionamento ed esaurita l’installazione del sistema base verrà chiesto se aggiungere ulteriori CD o DVD, rispondere di No:

_images/netinstall-ulteriori-cd.png

quindi alla richiesta di configurare i repository dei pacchetti, si utilizzi il mirror più vicino, non sarà necessario, essendo sulla WAN, utilizzare un proxy.

_images/netinstall-pacchetti.png
_images/netinstall-mirror.png
_images/netinstall-proxy.png

Si risponda come si preferisce alla richiesta di partecipare o meno alla indagine del popularity contest, e nella selezione del software si scelgano soltanto le voci «server SSH» e «utilità di sistema standard»:

_images/netinstall-tasksel.png

e si completi l’installazione con GRUB installato sul Master Boot Record del disco:

_images/netinstall-grubinstall.png
_images/netinstall-selectdisk.png

Completata l’installazione si riavvi il server, eventualmente rimuovendo il CD di installazione e ripristinando l’ordine di avvio al boot.

Configurazioni post-installazione

Completata l’installazione di Debian occorre finalizzare le configurazioni iniziali della macchina prima di poter lanciare fuss-server create. Il primo passo è configurare la seconda interfaccia di rete per la LAN, si dovrà modificare /etc/network/interfaces per aggiungere la relativa configurazione con qualcosa del tipo:

# lan
allow-hotplug enp2s0
iface enp2s0 inet static
      address 192.168.0.1
      netmask 255.255.255.0
      network 192.168.0.0

ed attivare l’interfaccia con ifup enp2s0.

Occorrerà poi configurare le sorgenti software per i pacchetti, aggiungendo in /etc/apt/sources.list le righe per il repository di backports e per quello di FUSS:

deb http://deb.debian.org/debian/ buster-backports main
deb http://archive.fuss.bz.it/ buster main

infine si dovrà importare la chiave GPG del repository di FUSS con:

# wget -qO - https://archive.fuss.bz.it/apt.key | apt-key add -
# apt update

a questo punto si potrà installare il pacchetto del fuss-server:

# apt install fuss-server

Una volta completata la configurazione iniziale della macchina, si potrà proseguire con la configurazione del fuss-server come già illustrato nella sezione Configurazione del server.

Installazione di FUSS Client

Si passa ora all’installazione del primo client.

Preparazione chiavetta USB

Come prima cosa è necessario scaricare l’ultima versione dell’immagine ISO di FUSS Client. Ad oggi (agosto 2018) l’ultima versione stabile è la 9.5.1 ed è possibile reperirla da http://iso.fuss.bz.it/fuss9/client per architetture i386 o amd64:

E` necessaria una chiavetta USB con taglia minima di 8 GB sulla quale va copiata l’immagine ISO scaricata. Come detto anche sopra, in GNU/Linux si può usare il comando dd. Dopo aver inserito la chiavetta nel PC ove è disponibile l’immagine, verificare con il comando lsscsi quale dispositivo è stato assegnato alla chiavetta. Nell’esempio usiamo /dev/sdX dove X può essere una delle lettere a, b, c ecc. Nell’ipotesi che la ISO scaricata si per architettura amd64, come root, dare il comando

dd if=/PERCORSO_IMMAGINE/fuss-client-9.5.1-amd64-xfce.iso of=/dev/sdX bs=4M status=progress

Preparata la chiavetta USB, inserirla nel PC/notebook e dopo averlo avviato premurarsi di scegliere come dispositivo di boot la chiavetta stessa.

Procedura di installazione guidata

Per immagini viene mostrata di seguito la procedura di installazione del primo client. Si è scelto l’installer da console (Debian Installer). In alternativa si può optare per l’installer grafico (Graphical Debian Installer).

Nota

Se si vuole utilizzare FUSS in modalità LIVE, si scelga la prima opzione. Le credenziali dell’utente di default sono user - live.

_images/fuss-client_01.png

Scelta di lingua e tastiera.

_images/fuss-client_02.png
_images/fuss-client_03.png
_images/fuss-client_04.png

Inserire il nome del host.

_images/fuss-client_05.png

Il dominio interno nel quale si colloca il host, come definito durante l’installazione del server.

_images/fuss-client_06.png

Impostazione della password di root.

_images/fuss-client_07.png
_images/fuss-client_09.png

Creazione di un utente locale.

_images/fuss-client_10.png
_images/fuss-client_11.png
_images/fuss-client_12.png
_images/fuss-client_13.png

Partizionamento dei dischi. Si scelga il partizionamento manuale impostando una partizione di swap ed una per la radice (/ o root) del filesystem.

_images/fuss-client_14.png
_images/fuss-client_15.png
_images/fuss-client_16.png
_images/fuss-client_17.png
_images/fuss-client_18.png
_images/fuss-client_19.png
_images/fuss-client_20.png
_images/fuss-client_21.png
_images/fuss-client_22.png
_images/fuss-client_23.png
_images/fuss-client_24.png
_images/fuss-client_25.png
_images/fuss-client_26.png

Al termine scrivere le modifiche sul disco.

_images/fuss-client_27.png

Inizia l’installazione del sistema.

_images/fuss-client_28.png

L’installer cerca i pacchetti nel CD-ROM di installazione che non esiste. Semplicemente ignorare l’errore e proseguire premendo Continua.

_images/fuss-client_29.png

Scegliere un mirror di rete.

_images/fuss-client_30.png
_images/fuss-client_31.png
_images/fuss-client_32.png

Impostare il proxy a http://proxy:8080 dove proxy risponde al FUSS Server.

_images/fuss-client_33.png
_images/fuss-client_34.png

Installare il boot loader GRUB nel master boot record del disco sul quale si sta installando il sistema.

_images/fuss-client_35.png
_images/fuss-client_36.png
_images/fuss-client_37.png
_images/fuss-client_38.png

Al termine la macchina va riavviata.

Configurazione FUSS Client

Dopo il riavvio si acceda come root. La password preimpostata è fuss e si consiglia di cambiarla con il comando passwd.

E` necessario configurare i repository FUSS. Abilitare pertanto sia i repository FUSS che buster-backports in /etc/apt/sources.list:

deb http://archive.fuss.bz.it/ buster main
deb http://httpredir.debian.org/debian buster-backports main

La sources.list dovrebbe pertanto risultare ad esempio:

# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://deb.debian.org/debian buster-updates main
deb-src http://deb.debian.org/debian buster-updates main

deb http://security.debian.org/debian-security/ buster/updates main
deb-src http://security.debian.org/debian-security/ buster/updates main

# buster-backports
deb http://httpredir.debian.org/debian buster-backports main

deb http://archive.fuss.bz.it/ buster main

Se invece si ha la necessità di scaricare anche i pacchetti non-free si aggiungano a «main» anche «contrib» e «non-free»

# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

deb http://security.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security/ buster/updates main contrib non-free

# buster-backports
deb http://httpredir.debian.org/debian buster-backports main contrib non-free

deb http://archive.fuss.bz.it/ buster main contrib non-free

Aggiungere la chiave di firma del repository e aggiornare con apt i pacchetti. Se si è dietro un Fuss server, perché sia possibile scaricare la chiave di firma di APT, occorre prima definire export https_proxy=http://proxy:8080:

wget -qO - https://archive.fuss.bz.it/apt.key | apt-key add -
apt update
apt dist-upgrade

All’occorrenza aggiungere i pacchetti Debian necessari a seconda del contesto in cui viene installato il FUSS Client.

Creazione di un’immagine del client con Clonezilla

Al fine di velocizzare l’installazione del FUSS Client sui PC/notebook rimanenti, si consiglia di creare con Clonezilla un’immagine del primo FUSS Client. Il FUSS Server monta un’istanza di Clonezilla, eseguibile da qualsiasi macchina presente nella LAN via PXE Boot (network boot). Pertanto, riavviando il FUSS CLient appena creato e scegliendo l’opzione di boot «PXE Boot», verrà caricato Clonezilla dal server e sarà possibile creare un’immagine del primo client che verrà salvata nella cartella /var/clonezilla sul server. Clonezilla chiederà la password dell’utente clonezilla, che è memorizzata sul server nel file /root/clonezilla_cred.txt.

Al termine della procedura di salvataggio del clone sul server, sarà possibile installare agevolmente nuovi client lanciando parimenti Clonezilla via network boot e scegliendo di fare il restore di un’immagine.

Ad ogni client va attribuito un nome di host diverso. E` necessario intervenire, pertanto, sui file /etc/hostname ed /etc/host riavviando al termine il client..

Join del client al server

Infine va effettuato il join del client al server lanciando da terminale il comando fuss-client come segue:

fuss-client -a

Come unica interazione viene chiesto, qualora configurato, a quale cluster associare il host (es: aula-01, aula-insegnanti, ecc.). Inoltre va inserita per tre volte la password di root del server.

Accesso all’interfaccia di amministrazione OctoNet

Aprendo il browser da un qualsiasi PC/notebook della LAN all’indirizzo http://proxy:13402, è possibile accedere all’interfaccia OctoNet di configurazione della rete didattica e da questa, tra le altre funzioni, si possono creare le utenze della rete didattica. L’amministratore è l’utente root e la password è la Master Password impostata durante l’esecuzione di fuss-server.

Questa modalità però comporta che tutto il traffico passi in chiaro, pertanto è fortemente sconsigliata, si utilizzi un tunnel SSH come illustrato nel paragrafo dedicato all’uso di OctoNet, che non espone al rischio di intercettazione delle credenziali di accesso.

Captive Portal

L’installazione del captive portal deve essere effettuata una volta che si sia correttamente installato il Fuss Server (secondo le istruzioni di Installazione di FUSS server tradizionale). In particolare si suppone che siano già correttamente configurate le interfacce di rete per la rete interna (quella rivolta verso le macchine dell’aula) ed esterna (quella da cui si accede ad internet).

Per poter utilizzare il Captive Portal è necessario disporre di una terza interfaccia di rete che deve essere lasciata non configurata. Questa interfaccia sarà quella che dovrà essere collegata fisicamente al tratto di rete (che deve essere fisicamente separata dalla rete interna del server) che verrà gestita dal Captive Portal (ad esempio vi si potrà attaccare un access point senza autenticazione). Negli esempi successivi assumeremo che si tratti di eth2.

Si tenga presente che l’interfaccia fisica (eth2) viene gestita direttamente dal software di gestione del Captive Portal (Coova Chilli) che poi fa passare i pacchetti autorizzati creando una interfaccia tunnel (di default tun0). Gli indirizzi di rete fanno riferimento a quest’ultima, ad eth2 non deve essere assegnato alcun indirizzo IP.

Per questo si abbia cura di verificare che sul Fuss Server non sia stato attivato network manager in caso di installazione dell’interfaccia grafica (il default comunque non lo prevede). Qualora risultasse presente si abbia cura di bloccare ogni possibile tentativo di autoconfigurazione dell’interfaccia dedicata al Captive Portal inserendo in /etc/network/interfaces una voce del tipo:

iface eth2 inet manual

Per installare il Fuss Captive Portal occorre eseguire il comando:

fuss-server cp

che provvederà a richiedere, qualora non siano già definiti, i dati necessari alla configurazione. Come per gli altri questi vengono mantenuti nel file /etc/fuss-server/fuss-server.yaml In particolare saranno richiesti:

  • interfaccia di rete su cui attestare la rete del Captive Portal (ad esempio eth2)
  • indirizzo della rete del Captive Portal (ad esempio 10.1.0.0/24)

Un esempio di sessione di installazione è il seguente:

root@fuss-server-iso:~# fuss-server cp
################################################################################
Please insert Hot Spot Interface

The Hotspot interface of the server, ex. 'eth3'
Your choice? eth2
################################################################################
Please insert Hot Spot Network (CIDR)

The Hotspot network of the server, ex. '10.1.0.0/24'
Your choice? 10.1.0.0/24
...

Il software del Captive Portal autentica gli utenti su LDAP (occorre quindi avere un utente definito per poterlo provare), e consente solo agli utenti autenticati di uscire, passando attraverso un secondo proxy, sulle porte 80 e 443

Per il funzionamento del Captive Portal viene creato dal comando di installazione anche il file fuss-captive-portal.conf che contiene le variabili necessarie allo script di firewall per gestire gli accessi relativi al Captive Portal, questo file non deve essere modificato né cancellato, altrimenti il riavvio del firewall non aprirà gli accessi necessari al funzionamento del Captive Portal.

Nota

l’installazione del captive portal aggiunge il gruppo wifi (si vedano a tal proposito i due file /etc/group ed /etc/octofuss/octofuss.conf). Di default gli utenti di una rete scolastica non appartengono al gruppo wifi e pertanto non hanno l’autorizzazione per accedere al captive portal; devono essere esplicitamente autorizzate in OctoNet.

Accesso alla rete wifi tramite Captive Portal

Una volta connessi alla rete dell’access point, per navigare è necessario inserire le proprie credenziali nella finestra di login del Captive Portal, a cui si accede aprendo il browser e inserendo nella barra di navigazione l’indirizzo <http://10.1.0.1:4990> . Poiché il Captive Portal memorizza MAC address della macchina e lo conserva per qualche tempo, prima di chiudere la sessione è consigliabile inserire nella barra di navigazione l’indirizzo <http://10.1.0.1:4990/logoff> . In caso contrario l’utente successivo potrebbe navigare in rete usando le nostre credenziali.