Sistema base

Questo capitolo descrive tutti i moduli disponibili al termine dell’installazione. Tutti i moduli al di fuori di questa sezione possono essere installati dalla pagina del Software center.

L’installazione predefinita include i seguenti moduli principali:

L’utente root può visualizzare tutte le pagine di configurazione ma l’accesso a ciascuna sezione e applicazione può anche essere delegato ad altri utenti. Vedi la sezione Autenticazione.

Sistema

La pagina Sistema è la sezione che viene visualizzata a seguito di un login riuscito. La pagina visualizzerà lo status e la configurazione del sistema.

Dalla dashboard di sistema, l’amministratore può:

  • modificare il nome FQDN del server ed i relativi Alias

  • configurare i server DNS upstream

  • configurare la date, l’orario e i server NTP

  • personalizzare l’anagrafica della azienda

Il sistema basa include inoltre:

Terminale

Eseguire una shell standard all’interno di un terminale direttamente accessibile dal browser. La shell e i processi verranno eseguiti con i privilegi dell’utente.

Rete

La pagina Rete consente di stabilire in quale modo il server è collegato alla rete locale (LAN) oppure alle reti pubbliche (Internet).

Se il server svolge la funzionalità di firewall e gateway, sarà in grado di gestire reti aggiuntive con funzionalità speciali come DMZ (DeMilitarized Zone) o rete ospiti.

NethServer supporta un numero illimitato di schede di rete. Le reti gestite devono sottostare alle regole seguenti:

  • le reti devono essere fisicamente separate (non possono essere collegate allo stesso switch/hub)

  • le reti devono essere logicamente separate (essere configurate su sotto-reti differenti)

  • le reti private, come le LAN, devono rispettare le convenzioni per gli indirizzamenti vontenute nel documento RFC1918

Ogni interfaccia di rete ha un ruolo specifico che ne determina l’utilizzo e il comportamento. I ruoli sono indicati tramite colori. Ogni colore indica la zona di appartenenza della scheda di rete e le regole ad essa applicate:

  • green: rete locale (ruolo/zona green). I computer su questa rete possono accedere a qualsiasi altra rete configurata sul server

  • blue: rete ospiti (ruolo/zona blue). I computer su questa rete possono accedere alle reti orange e red, ma non possono accedere alla zona green

  • orange: rete DMZ (ruolo/zona orange). I computer su questa rete possono accedere alle reti red, ma non possono accedere alle zone blue e green

  • red: rete pubblica (ruolo/zona red). I computer in questa rete possono accedere solo al server stesso

Si veda Policy per maggiori informazioni sull’uso dei ruoli nelle regole del firewall.

Nota

Il server deve avere almeno un’interfaccia di rete. Quando il server ha una sola scheda di rete, tale scheda deve avere il ruolo green.

In caso di installazione su VPS (Virtual Private Server) pubblico, il server deve essere configurato con una schede di rete green. Si consiglia quindi di chiudere le porte dei servizi critici usando il pannello Servizi.

Un ruolo può essere rimosso da un’interfaccia di rete esistente facendo clic sul menu tree-dots , quindi selezionando l’azione Libera ruolo.

Indirizzi delle reti private (RFC1918)

Per reti private TCP/IP indirettamente connesse a Internet dovrebbero utilizzare indirizzi speciali selezionati dall’Internet Assigned Numbers Authority (IANA)

Rete privata

Subnet mask

Intervallo di indirizzi IP

10.0.0.0

255.0.0.0

10.0.0.1 - 10.255.255.254

172.16.0.0

255.240.0.0

172.16.0.1 - 172.31.255.254

192.168.0.0

255.255.0.0

192.168.0.1 - 192.168.255.254

Alias IP

Per assegnare più indirizzi IP alla stessa scheda di rete è possibile utilizzare gli alias IP.

In tal modo è possibile ad esempio associare alla stessa red più indirizzi IP della stessa classe e gestirli in modo indipendente (ad esempio con dei port forward che discriminano in base allo specifico IP di destinazione).

Per aggiungere un alias, fare clic sul menu tree-dots nell’angolo destro dell’interfaccia di rete esistente, quindi selezionare Crea alias.

Nota

Gli alias IP sull’interfaccia PPPoE potrebbero non funzionare correttamente, a causa delle diverse implementazioni adottate dai vari provider internet.

Interfacce logiche

Fare clic sul pulsante Nuova interfaccia logica per creare un nuovo dispositivo di rete virtuale. Come primo passaggio, selezionare un ruolo per l’interfaccia di rete. È anche possibile creare un’interfaccia logica senza un ruolo per usarla in seguito con moduli come Hotspot (Dedalo).

Interfacce logiche supportate:

  • bond: combina due o più interfacce, garantisce bilanciamento del traffico e tolleranza ai guasti

  • bridge: collega due reti distinte, è spesso utilizzata per le VPN in bridge e le macchine virtuali

  • VLAN (Virtual Local Area Network): crea due o più reti fisicamente separate usando una singola interfaccia fisica

I bond consentono di aggregare banda o tollerare guasti. I bond posso essere configurati in varie modalità.

Modalità che forniscono bilanciamento del carico e tolleranza ai guasti:

  • Balance Round Robin (raccomandato)

  • Balance XOR

  • 802.3ad (LACP): richiede il supporto nel driver della scheda di rete ed uno switch in cui sia abilitata la modalità IEEE 802.3ad Dynamic link

  • Balance TLB: richiede il supporto nel driver della scheda di rete

  • Balance ALB

Modalità che supportano solo tolleranza ai guasti:

  • Active backup (raccomandato)

  • Broadcast policy

Un bridge ha la funzione di collegare segmenti di rete differenti, per esempio consentendo ai client collegati in VPN o macchine virtuali di accedere alla rete locale (green).

Quando non è possibile separare fisicamente due reti diverse, è possibile utilizzare le VLAN con tag. Il traffico delle due reti può essere trasmesso sullo stesso cavo ma sarà trattato come se fosse inviato e ricevuto da due schede separate. L’utilizzo delle VLAN necessita di switch adeguatamente configurati.

PPPoE

PPPoE (Point-to-Point Protocol over Ethernet) permette di collegare il server a Internet tramite un modem DSL. Per creare una nuova connessione PPPoE, assicurarsi di disporre di un’interfaccia di rete Ethernet non assegnata.

Per prima cosa, fare clic sul pulsante Configura sul dispositivo di rete non assegnato, quindi selezionare il ruolo WAN (red) e fare clic su Successivo. Infine selezionare PPPoE come tipo di interfaccia e compilare tutti i campi obbligatori come Username e Password.

Rotte statiche

Una rotta statica è una regola che specifica come instradare del traffico di rete che non deve passare per il default gateway.

Per aggiungere una rotta statica, fare clic sul menu tree-dots nell’angolo destro di un’interfaccia di rete esistente, quindi selezionare Crea rotta. La rotta deve essere specificata usando la notazione CIDR all’interno del campo Indirizzo di rete, ad esempio 10.0.0.0/24. Le rotte statiche vengono aggiunte sotto al nome dell’interfaccia.

Per rimuovere una rotta statica esistente, fare clic sul nome dell’interfaccia, quindi fare clic sul pulsante Elimina.

Ricordarsi di aggiungere la rete tra le Reti fidate, se si desidera consentire agli host remoti di accedere ai servizi locali.

Strumenti diagnostici

Gli strumenti diagnostici possono essere utilizzati per risolvere i problemi di rete. Come punto di partenza, usare il pulsante Tabella di routing per vedere le regole di routing correnti.

È possibile accedere a strumenti diagnostici aggiuntivi facendo clic sul menu tree-dots appena a destra del pulsante delle informazioni di routing. Gli strumenti disponibili sono:

  • Ping: invia un pacchetto ICMP ad un specifico host

  • DNS lookup: esegue una query DNS su un server DNS personalizzato

  • Traceroute: stampa il percorso di instradamento dei pacchetti verso un host di rete di destinazione

Servizi

La pagina contiene un elenco dettagliato di tutti i servizi in esecuzione. Ogni servizio ha i seguenti campi:

  • Nome: nome del servizio di systemd

  • Descrizione: descrizione opzionale del servizio

  • Abilitato: indica se un servizio è contrassegnato per essere avviato automaticamente dal sistema, solitamente all’avvio

  • Avviato: indica se il servizio è effettivamente in esecuzione, indipendentemente dal suo stato abilitato / disabilitato

  • Dettagli: consente di ispezionare tutte le opzioni del servizio facendo clic sul collegamento Visualizza

Un servizio di rete è un servizio che ha accesso alla rete e può elencare le porte TCP/UDP per accettare connessioni locali o remote. I campi specifici per i servizi di rete sono:

  • Accesso: può includere uno o più ruoli di rete (come red, green, ecc.) O una zona firewall

  • Porte: lista di porte TCP e/o UDP

I servizi esistenti possono essere avviati e arrestati direttamente dai pulsanti sotto il campo Azione. Sono disponibili azioni extra facendo clic sul menu tree-dots .

Aggiungere nuovi servizi

Tutti i moduli di NethServer configurano automaticamente i propri servizi di rete.

L’accesso ai servizi di rete personalizzati è negato per impostazione predefinita. Per superare questa limitazione, l’amministratore può creare un nuovo servizio di rete facendo clic sul pulsante Aggiungi servizio di rete.

Certificati

La pagina Certificati mostra i certificati X.509 attualmente installati e il certificato di default fornito dal sistema per cifrare le comunicazioni TLS/SSL.

NethServer controlla la validità del certificato e invia una email all’utente root se il certificato sta per scadere e non può essere rinnovato automaticamente.

Il pulsante Imposta default, disponibile all’interno del menu tree-dots , consente di scegliere il certificato di default. Quando viene scelto un nuovo certificato, tutti i servizi che utilizzano TLS/SSL vengono riavviati e i client di rete devono accettare il nuovo certificato.

Quando si installa NethServer, viene automaticamente generato un certificato RSA auto-firmato. Dovrebbe essere modificato inserendo dei valori appropriati prima di utilizzarlo dai client di rete. Quando il certificato auto-firmato sta per scadere ne viene creato automaticamente uno nuovo con la stessa chiave RSA e gli stessi attributi.

La pagina Certificato del server permette anche di:

  • caricare un certificato esistente e la chiave privata RSA/ECC. In aggiunta può essere specificato anche un chain file. Tutti i file devono essere codificati nel formato PEM.

  • richiedere un nuovo certificato Let’s Encrypt . Questo è possibile se sono rispettati i seguenti requisiti:

    1. il server deve essere raggiungibile dall’esterno alla porta 80. Assicurarsi che la porta 80 è aperta alle connessioni da Internet (si può effettuare un test da siti come CSM):

    2. I domini che si vogliono associare al certificato devono essere domini pubblici, associati all’indirizzo IP pubblico del server. Assicurarsi di avere un nome registrato nel DNS pubblico che punta correttamente al proprio server (si può effettuare un test da siti come VDNS).

      I certificati wildcard (es. *.nethserver.org) non sono supportati.

    Il campo Invia notifiche a verrà usato da Let’s Encrypt per inviare notifiche sul certificato.

    Il certificato Let’s Encrypt viene automaticamente rinnovato 30 giorni prima della scadenza.

Nota

Per evitare problemi di importazione certificato con Internet Explorer, si consiglia di configurare il campo CN (Common Name) o Nome Comune in modo che corrisponda al FQDN del server.

Eliminare un certificato

I certificate non utilizzati possono essere eliminati cliccando il pulsante Elimina all’interno del menu .

Il certificato builtin non può essere eliminato.

Storage

La sezione storage consente di configurare e monitorare i dischi. L’amministratore può montare nuovi dischi locali o remoti, gestire array RAID e volumi LVM.

Reti fidate

Le reti fidate sono reti speciali (locali, VPN o remote) a cui è garantito l’accesso a servizi speciali del server.

Ad esempio, i computer sulle reti fidate possono accedere a:

  • Server Manager

  • Cartelle condivise (SAMBA)

Nuove reti fidate possono essere create cliccando sul pulsante Aggiungi rete.

Se la rete remota è raggiungibile attraverso un router, ricordarsi di creare la rotta statica corrispondente nel pannello Rotte statiche.

SSH

La pagina System > SSH mostra il numero di connessioni SSH attive. Da questa sezione l’amministratore può modificare la porta di ascolto OpenSSH, disabilitare l’accesso root e l’autenticazione tramite password.

Di default, l’accesso SSH e SFTP è garantito per i seguenti gruppi di amministratori:

  • root

  • wheel

Quando viene configurato un provider di account, l’accesso viene concesso anche ai domain admins. Vedi Account admin per i dettagli.

È possibile concedere l’accesso a utenti e gruppi non privilegiati con il selettore Consenti accesso SSH/SFTP.

L’amministratore può rafforzare SSH limitando l’uso di cifrari, algoritmi e mac deboli. Dopo aver abilitato l’opzione Disabilita cifrari deboli, la chiave host cambierà e i client dovranno accettare quella nuova. Inoltre, è necessario tenere presente che il trasferimento di file di grandi dimensioni potrà essere più lento con la crittografia avanzata e che i client SSH molto vecchi potrebbero non essere in grado di connettersi al server.

Nota

Per NethServer fino alla versione 7.7:

Il selettore Consenti accesso SSH/SFTP è disponibile una volta che l’opzione Ignora la shell degli utenti è stata abilitata nella sezione Sistema > Impostazioni > Policy shell. Se questa opzione è disabilitata, solo gli utenti con l’opzione Shell abilitata possono accedere a Server Manager, e la delega non è più richiesta.

Vedi Cambiamenti principali al 05/05/2020 per maggiori dettagli.

L’accesso al gruppo wheel può essere revocato con i seguenti comandi:

config setprop sshd AllowLocalGroups ''
signal-event nethserver-openssh-save

La proprietà AllowLocalGroups accetta un elenco separato da virgole di nomi provenienti da /etc/groups e può essere regolata in base alle effettive esigenze (ad esempio wheel,srvadmins).

Analizzatore disco

Questo strumento consente di visualizzare l”utilizzo del disco in un semplice grafico in cui è possibile interagire con click e doppio click per navigare nelle cartelle.

Il grafico viene aggiornato durante la notte. Fare clic su Aggiorna ora per indicizzare il file system e aggiornare il grafico. Si noti che questo processo può richiedere diversi minuti a seconda dello spazio su disco occupato.

Alcune cartelle note sono:

  • Cartelle condivise: /var/lib/nethserver/ibay

  • Home degli utenti: /var/lib/nethserver/home

  • Mail: /var/lib/nethserver/vmail

  • Fax: /var/lib/nethserver/fax

  • Database MySQL: /var/lib/mysql

Impostazioni

La pagina impostazioni consente la configurazione di alcune opzioni che potrebbero avere un impatto su più applicazioni di sistema.

Smart host

Molte applicazioni di sistema, come cron, possono generare notifiche via mail. Se il server non dovesse essere in grado di recapitare direttamente questi messaggi, l’amministratore può configurare un server di inoltro SMTP. Quando lo smarthost è abilitato, tutti i messaggi di posta verranno recapitati attraverso il server configurato.

Notifiche email

Per impostazione predefinita, le notifiche vengono inviate alla maildir locale di root. L’amministratore può cambiare l’indirizzo di inoltro a root aggiungendo uno o più indirizzi di posta elettronica nel campo Destinazione.

È buona pratica impostare un Indirizzo mittente personalizzato: i messaggi dell’utente root (come le notifiche cron) verranno inviati usando l’indirizzo specificato. Una buona scelta potrebbe essere: no-reply@<domain> (in cui <domain> è il dominio del server). Se non impostato, i messaggi verranno inviati usando root@<fqdn> come indirizzo mittente.

Server Manager

Per impostazione predefinita, l’accesso al Server Manager è autorizzato da tutte le zone del firewall. Da questa sezione l’amministratore può limitare l’accesso al Server Manager solo a un elenco di indirizzi IP affidabili.

File di log

Tutti i file di log sono gestiti da logrotate. Logrotate è progettato per facilitare l’amministrazione di un gran numero di file di log. Consente la rotazione, la compressione e la rimozione automatica dei log. Ogni file può essere gestito giornalmente, settimanalmente, mensilmente.

L’amministratore può impostare la configurazione predefinita di logrotate da questa pagina. La configurazione si applicherà a tutte le applicazioni. Tuttavia, alcune applicazioni possono ignorare tale configurazione per rispondere ad esigenze specifiche.

Suggerimenti di configurazione

La maggior parte delle pagine del Server Manager possono visualizzare alcuni suggerimenti per aiutare l’amministratore ad adottare una migliore configurazione del sistema. I suggerimenti sono solo dei consigli e possono essere disabilitati da questo menu.

Cambio password

La pagina delle impostazioni include anche un pannello per consentire agli utenti, incluso l’utente root, di cambiare la propria password.

Criteri shell

Questa impostazione è stata aggiunta a partire dalla versione 7.8 di NethServer, per selezionare la modalità di configurazione della shell dell’utente.

Se l’opzione Ignora la shell degli utenti è abilitata, la vecchia impostazione Shell presente nella pagina Utenti & Gruppi viene nascosta ed è considerata sempre abilitata.

Ciò è richiesto da alcune funzionalità introdotte a partire da NethServer 7.8, come il nuovo Server Manager basato su Cockpit, la Pagina impostazioni utente e le autorizzazioni più granulari per SSH e SFTP. Fare riferimento alla sezione Cambiamenti principali al 05/05/2020 per maggiori dettagli.

Pagina impostazioni utente

Quando l’opzione Abilita pagina impostazioni utente è abilitata, gli utenti possono modificare la propria password e altre impostazioni del profilo attraverso una pagina Web esterna a Cockpit (sulla porta 443). La pagina predefinita è / user-settings. Questa funzione può essere abilitata solo se è attiva l’opzione Criteri Shell.

L’accesso alla pagina può essere limitato alle sole reti fidate.

Log

Il sistema fornisce un registro indicizzato denominato journal. Il journal può essere sfogliato da questa pagina: i messaggi possono essere filtrati per servizio, gravità e data.

Applicazioni

La pagina Applicazioni elenca tutte le applicazioni installate. Una applicazione è un modulo del Server Manager generalmente composto da più pagine tra cui una dashboard, una o più sezioni di configurazione e l’accesso ai registri dell’applicazione. Un clic sul pulsante Impostazioni aprirà l’applicazione.

Esistono anche applicazioni più semplici che includono solo un collegamento a pagine Web esterne. Per accedere a tali applicazioni fare clic sul pulsante Apri.

Scorciatoie

L’amministratore può aggiungere dei collegamenti per le applicazioni utilizzate più di frequente. I collegamenti alle applicazioni saranno mostrati nel menu di sinistra.

Solo l’utente root ha accesso a questa funzionalità.

Aggiungi alla home page

Il Launcher è un’applicazione del nuovo Server Manager disponibile per tutti gli utenti su porte HTTPS e HTTP. Il launcher è accessibile tramite l’FQDN del server (ad es. https://my.server.com) e viene automaticamente abilitato se non esiste alcuna home page già configurata all’interno del server Web (nessuna index page nel percorso /var/www/html)

Le applicazioni installate possono essere aggiunte al launcher facendo clic sul pulsante Aggiungi alla home page. Tutti gli utenti saranno in grado di accedere al link pubblico dell’applicazione.

Solo l’utente root ha accesso a questa funzionalità.

Rimozione applicazioni

Per rimuovere un modulo installato, fare clic sul pulsante Rimuovi dell’applicazione corrispondente.

Avvertimento

Quando si disinstalla un modulo, è possibile che vengano rimossi anche altri moduli! Leggere attentamente l’elenco dei pacchetti interessati per evitare di rimuovere delle funzionalità necessarie.

Questa funzionalità non è supportata in NethServer Enterprise

Autenticazione

Il Server Manager è sempre accessibile per i seguenti utenti:

  • root

  • membri del gouppo domain admins

Delega

In ambienti strutturati, l’utente root può delegare l’accesso ad alcune sezioni del Server Manager a specifici gruppi di utenti.

L’utente admin e il gruppo domains admins sono implicitamente delegati a tutte le pagine. Fare riferimento alla sezione Account admin per maggiori informazioni.

Altri gruppi possono essere delegati ad accedere a:

  • una o più pagine della sezione Sistema

  • una o più applicazioni installate

  • la pagina Registrazione

  • la pagina Software Center

Per creare una nuova delega, accedere alla sezione Sistema > Utenti & Gruppi > Lista > [Gruppi] quindi selezionare l’azione Deleghe per un gruppo esistente. Selezionare quindi uno o più elementi dai menu Viste sistema e Applicazioni.

Le pagine seguenti vengono aggiunte in modo implicito al set di deleghe:

  • Dashboard

  • Applicazioni

  • Terminale

Nota

Per NethServer fino alla versione 7.7:

Anche se un utente è stato delegato, gli deve essere concesso esplicitamente l’accesso alla shell prima di poter accedere a Server Manager.

Vedi Cambiamenti principali al 05/05/2020 per maggiori dettagli.

Autenticazione a due fattori (2FA)

L’autenticazione a due fattori (2FA) può essere utilizzata per aggiungere un ulteriore livello di sicurezza per l’accesso al nuovo Server Manager. Innanzitutto, gli utenti inseriranno nome utente e password, quindi dovranno fornire un codice di verifica temporaneo generato da un’applicazione in esecuzione sul proprio smartphone.

Il 2FA è disabilitato per impostazione predefinita. Gli utenti possono abilitarlo autonomamente, accedendo alla sezione Autenticazione a due fattori nella pagina :guilabel: Sistema> Impostazioni` o indirizzando il browser web all’URL /user-settings come spiegato nella sezione Pagina impostazioni utente. Successivamente devono seguire questi passaggi:

  1. scaricare e installare nello smartphone l’applicazione 2FA preferita

  2. scansionare il QR code con l’applicazione 2FA

  3. generare un nuovo codice e copiarlo all’interno del campo Codice di verifica, quindi fare clic su Verifica codice

  4. se il codice di verifica è corretto, fare clic sul pulsante Salva

L’autenticazione a due fattori può essere abilitata per le seguenti applicazioni principali:

  • il nuovo Server Manager

  • SSH quando si utilizzano nome utente e password (l’accesso con chiave pubblica non richiederà mai il 2FA)

Codici di recupero

È possibile utilizzare i codici di ripristino anziché dei codici temporanei se l’utente non può accedere all’applicazione 2FA sullo smartphone. Ogni codice di ripristino è una one-time password e può essere utilizzato una sola volta.

Per generare nuovi codici di ripristino, disabilitare il 2FA, quindi riattivarlo registrando nuovamente l’applicazione, seguendo i passaggi precedenti.

Applicazioni per smartphone

Esistono diverse applicazioni, commerciali e open source, per il 2FA:

Disponibili sia per Android che per iOS:

  • FreeOTP: disponibile sia per Android che per iOS

  • Authenticator: disponibile solo per iOS

  • 2FAS: disponibile sia per Android che per iOS

Ripristino d’emergenza

In caso di emergenza, il 2FA può essere disabilitato accedendo al server da una console fisica, come una tastiera e un monitor, un cavo seriale o una connessione VNC - o simili - per macchine virtuali:

  1. accedere al sistema con nome utente e password

  2. eseguire:

    rm -f ~/.2fa.secret
    sudo /sbin/e-smith/signal-event -j otp-save
    

Successivamente, l’utente root potrà ottenere i codici di recupero per un utente utilizzando il seguente comando, sostituendo <user> con il nome utente effettivo:

oathtool -w 4 $(cat ~<user>/.2fa.secret)

Esempio per l’utente goofy:

# oathtool -w 4 $(cat ~goofy/.2fa.secret)
984147
754680
540025
425645
016250