Controller#
Il controller NethSecurity è un’applicazione che può essere eseguita su NethServer 8 (NS8). Il controller consente il controllo remoto di più installazioni NethSecurity, chiamate unità.
Il firewall può funzionare in modo indipendente senza la necessità del controller. Il controller è un componente opzionale che fornisce funzionalità aggiuntive di gestione e monitoraggio per il firewall.
Il controller crea una connessione sicura tra il server centrale e le unità. Ogni firewall si registra presso il server utilizzando un client chiamato ns-plug. Una volta registrato, il server genera una configurazione VPN che viene inviata al firewall. La VPN consente una comunicazione sicura tra il controller e l’unità.
Funzionalità principali:
Gestione centralizzata: Gestire più firewall da un unico server.
Comunicazione sicura: Stabilire una connessione OpenVPN sicura tra il server e i firewall.
Configurazione semplice: Configurare i firewall direttamente dall’interfaccia utente del controller.
Monitoraggio e registrazione: Raccogliere e analizzare i log dai firewall all’interno di Loki per scopi di risoluzione dei problemi e monitoraggio.
Visualizzazione delle metriche: Visualizzare le metriche dai firewall utilizzando la dashboard integrata di Grafana. Le metriche vengono raccolte tramite Prometheus e TimescaleDB.
Accesso SSH via web: Accedere all’interfaccia a riga di comando del firewall utilizzando un client SSH basato su web.
Installazione e configurazione#
Il controller può essere installato su un sistema NethServer 8 dal Software Center. Il modulo si chiama NethSecurity Controller.
Dopo l’installazione, è necessario configurare il controller. La configurazione può essere effettuata utilizzando l’interfaccia web di NethServer 8. È necessario impostare i seguenti parametri:
Controller hostname: Il nome di dominio completo per il controller, ad esempio:
mycontroller.nethsecurity.org. Assicurarsi che il nome host sia risolvibile e raggiungibile dalle unità.Let’s Encrypt certificate: Abilitare o disabilitare il certificato Let’s Encrypt per l’interfaccia web del controller. Si consiglia di abilitarlo.
VPN network e VPN netmask: la rete e la netmask di OpenVPN. Quando si sceglie la rete, assicurarsi che non si sovrapponga alle reti esistenti all’interno di tutte le unità che saranno collegate al controller. Utilizzare solo reti di classe C come
192.168.7.0con netmask255.255.255.0.Utente amministratore: Il nome utente dell’amministratore del controller. L’utente amministratore è l’unico utente che può creare e gestire altri utenti all’interno del controller. Lo stesso nome utente viene utilizzato per accedere all’interfaccia Grafana.
Password amministratore: Scegliere una password robusta per l’utente amministratore. Si noti che la password predefinita viene visualizzata solo una volta; conservarla in un luogo sicuro. La stessa password viene utilizzata per accedere all’interfaccia di Grafana. Per motivi di sicurezza, è consigliabile cambiare la password dopo il primo accesso sia per il controller che per l’interfaccia Grafana.
I seguenti parametri sono opzionali:
Nome del controller: Il nome del controller, utilizzato per creare l’autorità di certificazione VPN. È possibile lasciarlo invariato a meno che non vi sia un requisito specifico.
Conservazione dei log: Il periodo di conservazione dei log in giorni, il valore predefinito è 180 giorni. Si applica ai log memorizzati in Loki.
Conservazione delle metriche: Il periodo di conservazione delle metriche in giorni, predefinito a 15 giorni. Si applica alle metriche memorizzate in Prometheus e Timescale.
MaxMind license key: Il controller può geolocalizzare gli indirizzi IP dei client VPN connessi e degli aggressori. Una mappa con la posizione dei client e degli aggressori verrà visualizzata all’interno di Grafana. La chiave di licenza è necessaria per abilitare la funzionalità e scaricare il database MaxMind GeoIP2. Per ottenere una chiave di licenza gratuita, registrarsi sul sito web di MaxMind, quindi accedere alla pagina Manage License Keys nella sezione dell’account. Generare una nuova licenza, copiare la chiave di licenza e incollarla nel campo.
IP consentiti: L’elenco degli indirizzi IP o intervalli CIDR che sono autorizzati ad accedere all’interfaccia web del controller. Per impostazione predefinita, l’elenco è vuoto, il che significa che l’accesso è consentito da tutti gli indirizzi IP. È possibile limitare l’accesso a IP o reti specifiche per motivi di sicurezza. Quando abilitato, solo l’endpoint di registrazione (ad es.
https://controller.nethserver.org/api/register) sarà accessibile dalle unità, consentendo loro di registrarsi presso il controller. Tutto il traffico restante tra il controller e le unità verrà instradato attraverso la connessione VPN. Questa funzionalità richiede la versione 8.6 o successiva dell’unità.
Dopo aver completato la configurazione, il controller è pronto per essere utilizzato e può essere accessibile tramite un browser web all’hostname configurato, ad esempio https://mycontroller.nethsecurity.org.
Nota
Per garantire il corretto funzionamento, il controller deve essere accessibile tramite la rete su porte specifiche.
Porta TCP 443 (HTTPS)per accedere alla WebUI e consentire la comunicazione delle unità.Una porta UDP allocata dinamicamenteaperta da NethServer 8 e utilizzata per le connessioni VPN dalle unità; questa porta viene generata casualmente durante la configurazione.
Il numero effettivo della porta UDP può essere trovato nella pagina di stato del modulo Controller, nella sezione OpenVPN UDP Port. Assicurarsi che queste porte siano aperte su qualsiasi firewall che protegge il nodo su cui è in esecuzione il controller.
Utenti#
Il controller ha due tipi di utenti:
Utenti amministratori: Gli utenti amministratori sono gli unici che possono creare e gestire gli utenti all’interno del controller. Gli utenti amministratori possono inoltre accedere a tutte le unità.
Utente standard: Gli utenti standard possono gestire le unità e le configurazioni del firewall. Questi utenti devono essere associati a un gruppo di unità: potranno accedere solo alle unità associate al proprio gruppo. Se un utente non è associato a nessun gruppo, non avrà accesso ad alcuna unità. Consultare Gruppi di unità per ulteriori informazioni sui gruppi di unità.
Un utente amministratore viene creato durante la configurazione del controller dall’interfaccia web di NethServer 8. L’utente amministratore può creare e gestire altri utenti dall’interfaccia web del controller. Un utente può essere associato a un gruppo di unità dall’interfaccia web del controller, all’interno della pagina di gestione utenti.
Si consiglia di creare un utente per ogni persona che necessita di accesso al controller. Quando si crea un nuovo utente, l’amministratore deve specificare il nome utente, il nome visualizzato dell’utente e la password dell’utente. Il nome utente viene utilizzato per accedere al controller, mentre il nome visualizzato viene utilizzato per identificare l’utente nel controller.
L’amministratore può anche:
reimpostare la password dell’utente ed eliminare gli utenti
promuovere un utente ad amministratore
eliminare un account utente
Dopo aver effettuato l’accesso, ogni utente dovrebbe cambiare la propria password e generare una coppia di chiavi SSH per accedere alle unità.
Autenticazione a due fattori (2FA)#
Ogni utente del controller può abilitare l’Autenticazione a Due Fattori (2FA) per aumentare la sicurezza dell’account. Per abilitare la 2FA, seguire gli stessi passaggi documentati all’interno dell’interfaccia web del firewall: Interfaccia utente NethSecurity 2FA.
L’amministratore può visualizzare lo stato 2FA di ciascun utente all’interno dell’elenco utenti.
Reimpostazione 2FA#
Se un amministratore del controller ha perso l’accesso al proprio dispositivo OTP e non riesce ad effettuare l’accesso, la 2FA può essere reimpostata dal nodo NethServer 8 cancellando direttamente i campi otp_secret e otp_recovery_codes nel database del controller.
Eseguire i seguenti comandi sul nodo NethServer 8, sostituendo nethsecurity-controller1 con il nome effettivo dell’istanza del modulo controller e admin con il nome utente interessato:
runagent -m nethsecurity-controller1
source db.env; podman exec -it timescale psql -U "${POSTGRES_USER}" -p "${POSTGRES_PORT}" \
-c "UPDATE accounts SET otp_recovery_codes='', otp_secret='' WHERE username = 'admin';"
Dopo che la query è stata completata, l’utente può accedere utilizzando solo la propria password e ri-registrare un nuovo dispositivo OTP dall’interfaccia utente del controller.
Unità#
Tutti gli utenti possono gestire le unità. Un’unità è un firewall gestito dal controller.
Per collegare una nuova unità al controller, è necessario fare clic sul pulsante Aggiungi unità dall’interfaccia web del controller. Quando viene aggiunta una nuova unità, il controller esegue le seguenti azioni:
crea un identificatore univoco per l’unità
assegna un indirizzo IP all’interno della rete VPN
genera una configurazione VPN inclusi i certificati
memorizza in modo sicuro le credenziali necessarie per accedere al firewall remoto
Un codice di accesso verrà generato e visualizzato sullo schermo. Il codice di accesso deve essere inserito sull’unità per stabilire la connessione con il controller.
Accedere alla pagina Controller all’interno dell’interfaccia web dell’unità ed inserire il codice di join nel campo Join code. Durante la procedura di join al controller, l’unità scaricherà la configurazione VPN e stabilirà una connessione sicura con il controller. Se la connessione avviene con successo, l’unità verrà visualizzata nell’interfaccia web del controller con lo stato Connesso.
Si noti che, se il controller non dispone di un certificato Let’s Encrypt valido, sarà necessario disabilitare l’opzione Verifica certificato TLS nella configurazione dell’unità.
Quando l’unità è collegata, è possibile accedere all’interfaccia web dell’unità facendo clic sul collegamento Apri unità senza dover inserire le credenziali dell’unità.
Nota
L’interfaccia utente dell’unità deve ascoltare sulla porta 9090 per consentire al controller di accedervi. Il controller accederà all’interfaccia web dell’unità tramite la connessione VPN. La porta 9090 non deve essere aperta dal lato WAN, ma deve essere aperta dal lato VPN per consentire al controller di accedervi.
Rimuovere un’unità
Le unità possono essere disconnesse dal controller facendo clic sul pulsante Rimuovi unità dall’interfaccia web del controller. Quando un’unità viene disconnessa, il controller rimuoverà la configurazione dell’unità e la connessione VPN verrà terminata.
Dopo aver rimosso l’unità dall’interfaccia web del controller, accedere all’interfaccia web dell’unità e fare clic su Disconnetti unità nella pagina Controller: l’unità eliminerà la configurazione VPN.
Gruppi di unità#
I gruppi di unità sono un modo per organizzare le unità all’interno del controller. Ogni utente può essere associato a uno o più gruppi di unità. Quando un utente è associato a un gruppo di unità, può accedere solo alle unità che appartengono a quel gruppo. I gruppi di unità sono utili per limitare l’accesso a unità specifiche per utenti specifici.
Per creare un nuovo gruppo di unità, l’amministratore deve cliccare sul pulsante Aggiungi gruppo dall’interfaccia web del controller, all’interno della pagina Gruppi di unità. L’amministratore può specificare il nome del gruppo, una descrizione e le unità che appartengono al gruppo.
Una volta che un gruppo di unità è stato creato, l’amministratore può associare il gruppo di unità a un utente. Per farlo, l’amministratore deve accedere all’elenco degli utenti all’interno della pagina Utenti. Successivamente, fare clic sul pulsante Modifica accanto all’utente e selezionare il gruppo di unità dal menu a discesa Gruppi di unità.
Rimozione dei gruppi di unità#
Un gruppo di unità può essere rimosso solo quando non ci sono utenti associati ad esso. Questo può essere verificato accedendo alla pagina Utenti e cercando eventuali utenti associati al gruppo.
Per rimuovere un gruppo di unità, l’amministratore deve accedere alla pagina Gruppi di unità e fare clic sul pulsante Elimina accanto al gruppo.
Gruppo di unità migrato#
Quando si esegue l’aggiornamento da una versione del controller precedente alla 2.0.0, verrà creato automaticamente un nuovo gruppo di unità Migrated. Il gruppo di unità Migrated include automaticamente tutte le unità che erano gestite dal controller prima dell’aggiornamento. Inoltre, è associato a tutti gli utenti esistenti per garantire che mantengano l’accesso alle proprie unità dopo la migrazione.
Il gruppo può essere rimosso in sicurezza una volta che non è più necessario.
Gestione dei log#
Quando un’unità viene collegata, rsyslog viene riconfigurato per inviare i log utilizzando il protocollo syslog (RFC 5424). Potrebbero essere necessari alcuni minuti prima che rsyslog inizi a inviare i dati. I log sono etichettati utilizzando l’hostname dell’unità: per garantire il corretto funzionamento dei collegamenti nell’interfaccia utente, assicurarsi che:
il FQDN dell’unità è univoco all’interno del cluster
il nome dell’unità è lo stesso del suo hostname
I log possono essere visualizzati facendo clic sul collegamento Apri log per ciascuna unità. I log vengono mostrati in una specifica dashboard di Grafana che consente anche la ricerca e il filtraggio.
Nota
Il periodo di conservazione dei log deve essere configurato dall’interfaccia web di NS8.
Metriche#
Ogni unità esporta due tipi di metriche:
metriche operative di sistema (CPU, memoria, disco, rete): queste metriche vengono raccolte utilizzando Netdata e memorizzate in Prometheus. Non appena un’unità viene connessa, il controller inizia a raccogliere le metriche. Queste metriche sono disponibili a tutti indipendentemente dallo stato dell’abbonamento.
metriche del firewall (traffico, sicurezza, VPN): queste metriche vengono inviate dall’unità al controller a intervalli fissi. Il controller le memorizza all’interno di un database Timescale. Queste metriche sono disponibili solo per gli utenti con un .
Tutti i dati raccolti e memorizzati all’interno del controller sono contrassegnati da un timestamp utilizzando il Tempo Coordinato Universale (UTC). Questo garantisce coerenza e accuratezza tra diversi fusi orari, facilitando la correlazione degli eventi e l’analisi delle tendenze.
Gli utenti hanno la possibilità di visualizzare i dati nel proprio fuso orario locale modificando le impostazioni dell’ora in Grafana. Per cambiare il fuso orario locale, accedere al menu delle preferenze di Grafana e selezionare il fuso orario desiderato. Questa modifica può essere applicata a ciascuna dashboard individualmente, consentendo di personalizzare la visualizzazione del fuso orario in base alle proprie preferenze.
Le metriche possono essere visualizzate all’interno della dashboard di Grafana. È possibile accedere alla dashboard facendo clic sul collegamento Apri metriche per ciascuna unità.
Per impostazione predefinita, solo l’utente admin può accedere al dashboard delle metriche. Se si desidera consentire ad altri utenti di accedere al dashboard delle metriche, è possibile creare un nuovo ruolo e assegnarlo all’utente direttamente dall’interfaccia web di Grafana.
Grafana#
Grafana è una piattaforma open-source utilizzata per il monitoraggio e la visualizzazione di dati time-series. Consente di creare dashboard personalizzabili con grafici, diagrammi e tabelle per analizzare metriche di sistema, log e altri dati provenienti da diverse fonti.
Il controller include un’istanza preconfigurata di Grafana che viene utilizzata per visualizzare metriche e log provenienti dalle unità collegate. L’istanza di Grafana è accessibile dall’URL https://<controller-fqdn>/grafana.
Per impostazione predefinita, è possibile accedervi utilizzando le credenziali predefinite impostate durante la configurazione del controller. Si consiglia di cambiare la password predefinita dopo il primo accesso. Grafana offre anche funzionalità per la gestione di utenti, team e permessi. Supporta l’autenticazione tramite diversi metodi, inclusi nome utente/password, OAuth, LDAP e altri.
È inoltre possibile creare dashboard personalizzate e avvisi per monitorare le metriche e i log delle unità collegate. Consultare la documentazione ufficiale per ulteriori informazioni su come utilizzare Grafana.
Metriche Prometheus#
Le metriche Prometheus vengono raccolte utilizzando Netdata e memorizzate in un database Prometheus.
Le metriche esportate per ciascuna unità includono le seguenti etichette:
instancel’IP VPN della macchina connessa con la porta Netdata (es.172.19.64.3:19999)jobcorretto in nodenodel’IP VPN della macchina connessaunitil nome univoco dell’unità della macchina collegata
Tali metriche sono visibili all’interno della dashboard Operating system.
Metriche di Timescale#
Subscription necessaria
Questa funzionalità è disponibile solo se il firewall e il controller dispongono di una subscription valida.
Il database Timescale memorizza le stesse metriche della Monitoraggio in tempo reale, ma come serie temporali salvate in un database PostgreSQL. Ogni unità invia i dati al controller ogni 15 minuti. Il controller aggrega i dati ogni 15 minuti, il che significa che i dati sono disponibili all’interno delle dashboard al meglio con un ritardo di 15 minuti e al massimo con un ritardo di 30 minuti.
Il controller può eseguire elaborazioni aggiuntive sui dati per fornire ulteriori approfondimenti. Ad esempio, il controller può geolocalizzare gli indirizzi IP dei client connessi e degli aggressori.
Queste metriche sono visibili all’interno delle seguenti dashboard:
Traffico di rete: traffico di rete aggregato come rilevato dall’unitàTraffico di rete per client: traffico di rete per ogni client (host locale) connesso all’unitàTraffico di rete per host: traffico di rete per ciascun host remotoSicurezza: eventi di sicurezza rilevati dall’unitàVPN: Statistiche VPN per OpenVPN Road Warrior, tunnel OpenVPN e tunnel IPsec
Nota
Il periodo di conservazione delle metriche deve essere configurato dall’interfaccia web di NS8 e viene applicato sia ai database Prometheus che Timescale.
Aggiornamenti delle unità#
Il controller consente di aggiornare le unità direttamente dall’interfaccia, in modo simile al processo descritto in l’interfaccia web dell’unità. Sono disponibili due tipi di aggiornamenti:
Aggiornamenti dei pacchetti: Aggiornare i pacchetti installati sull’unità. Elencare e installare gli aggiornamenti disponibili facendo clic su Controlla gli aggiornamenti dei pacchetti nel menu dell’unità. Verrà visualizzata una finestra modale con l’elenco degli aggiornamenti disponibili. Se sono presenti aggiornamenti, applicarli facendo clic sul pulsante Aggiorna nella finestra modale. Questa è la prima operazione da provare se version awareness impedisce l’accesso all’unità.
Aggiornamento del sistema: Aggiorna il sistema dell’unità. Se è disponibile un aggiornamento dell’immagine, verrà visualizzato un badge nell’elenco delle unità. È possibile programmare un aggiornamento facendo clic sul pulsante Aggiornamenti di sistema nel menu dell’unità. Si può programmare l’aggiornamento oppure aggiornare immediatamente l’unità. Questa operazione è disponibile anche come operazione di massa per più unità tramite Azioni -> Aggiorna sistemi. Le unità con un aggiornamento dell’immagine programmato avranno un badge dedicato nell’elenco delle unità. È possibile annullare l’aggiornamento programmato facendo clic sul pulsante Cancella l’aggiornamento programmato dell’immagine nel menu dell’unità.
Nota
Si prega di notare che le unità potrebbero non inviare informazioni aggiornate durante il processo di aggiornamento se la versione dell’unità è precedente alla 1.3.0. Per aggiornare manualmente le informazioni, utilizzare il pulsante Sincronizza info unità nel menu dell’unità.
Accesso SSH#
SSH, o Secure Shell, è un protocollo di rete crittografico per l’esecuzione sicura di servizi di rete su una rete non sicura. SSH fornisce un canale sicuro su una rete non protetta in un’architettura client-server, collegando un’applicazione client SSH a un server SSH.
È possibile connettersi all’unità facendo clic sul collegamento Apri terminale SSH. La connessione avviene tramite un client SSH basato su web che consente l’accesso alla shell dell’unità.
È possibile connettersi alle unità utilizzando una coppia di nome utente e password oppure una chiave SSH.
Una volta connessi, la sessione SSH verrà avviata in una nuova scheda del browser. Alcuni browser richiedono l’autorizzazione per aprire popup affinché la sessione SSH funzioni correttamente. Per chiudere la sessione, è sufficiente chiudere la finestra del browser oppure disconnettersi dalla shell utilizzando CTRL + D.
Nome utente e password#
L’utente può connettersi utilizzando una coppia di nome utente e password dell’unità nei seguenti scenari:
L’utente connesso non ha generato una chiave SSH
La chiave pubblica SSH dell’utente connesso non è stata copiata all’interno del file delle chiavi autorizzate SSH dell’unità
L’interfaccia utente visualizzerà un modulo per inserire nome utente e password. Dopo aver inserito le credenziali, è possibile fare clic sul pulsante Apri terminale per avviare la sessione SSH.
Chiave SSH#
Una coppia di chiavi SSH è un insieme di due chiavi crittografiche utilizzate per l’autenticazione durante la creazione di una connessione sicura tramite il protocollo SSH (Secure Shell). La coppia è composta da una chiave privata e una chiave pubblica:
Chiave privata: Questa viene mantenuta segreta e sicura dall’utente. Non dovrebbe mai essere esposta all’esterno. Viene utilizzata per decriptare i dati che sono stati criptati con la chiave pubblica.
Chiave pubblica: Questa può essere condivisa liberamente ed è utilizzata per crittografare i dati che possono essere decifrati solo con la chiave privata.
Quando ci si connette a un server utilizzando l’autenticazione SSH con coppia di chiavi, si fornisce la propria chiave pubblica al server. Il server quindi cifra un messaggio di sfida con la chiave pubblica fornita. Il client decifra il messaggio utilizzando la propria chiave privata e invia il risultato al server. Se il risultato è corretto, il server riconosce che si possiede la chiave privata corretta e consente la connessione.
Questo metodo di autenticazione è più sicuro rispetto all’utilizzo di una password, poiché fornisce una forma di autenticazione a due fattori: qualcosa che si possiede (il file della chiave privata) e qualcosa che si conosce (la passphrase per sbloccare la chiave privata).
Per utilizzare una chiave SSH, è necessario generare una nuova coppia di chiavi accedendo alla pagina Impostazioni account e facendo clic sul pulsante Genera coppia di chiavi SSH. Inserire una passphrase per proteggere la chiave privata e fare clic sul pulsante Genera chiave SSH. L’interfaccia utente mostrerà la chiave pubblica, mentre la chiave privata viene conservata in modo sicuro all’interno del controller.
Prima di connettersi all’unità, è necessario copiare la chiave pubblica e incollarla nel file delle chiavi autorizzate SSH dell’unità. È possibile farlo dalla pagina Gestione unità, facendo clic sul pulsante Azioni e selezionando Invia la chiave pubblica SSH. Selezionare le unità a cui si desidera inviare la chiave e fare clic sul pulsante Invia la chiave SSH.
D’ora in poi, sarà possibile connettersi all’unità utilizzando la coppia di chiavi SSH. L’interfaccia utente mostrerà un modulo per inserire la passphrase quando si fa clic sul pulsante Apri terminale.
È anche possibile revocare la coppia di chiavi SSH facendo clic sul pulsante Revoca la chiave pubblica SSH dal pulsante Azioni.
Accounting#
Tutte le operazioni eseguite sul controller vengono registrate nel log di NS8. Ecco alcuni esempi di operazioni registrate:
Accesso e disconnessione dell’utente
Creazione/modifica/eliminazione utente/cambio password
Elenco/creazione/rimozione delle unità
Esempio di log NS8:
Mar 26 11:08:23 controller.nethserver.net api[64323]: nethsecurity_controller 2024/03/26 11:08:23 middleware.go:85: [INFO][AUTH] authentication success for user admin
Mar 26 11:08:23 controller.nethserver.net api[64323]: nethsecurity_controller 2024/03/26 11:08:23 middleware.go:186: [INFO][AUTH] login response success for user admin
Ogni unità dispone di un utente rpcd specifico per il controller, utilizzato per le operazioni di gestione. Quando un utente accede all’interfaccia web dell’unità dal controller, tutte le operazioni eseguite vengono registrate nel log dell’unità, identificate dall’utente rpcd. Ad esempio:
Mar 26 11:28:52 NethSec nethsecurity-api[4535]: nethsecurity_api 2024/03/26 11:28:52 middleware.go:166: [INFO][AUTH] authorization success for user 0a891388811ff8dc0ec2fbed. POST /api/ubus/call {"path":"ns.dashboard","method":"interface-traffic","payload":{"interface":"eth1"}}
Mar 26 11:28:52 NethSec (none) nginx: 172.19.64.1 - - [26/Mar/2024:11:28:52 +0000] "POST /api/ubus/call HTTP/1.1" 200 1490 "https://controller.gs.nethserver.net/" "Mozilla/5.0 (X11; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0"
Per determinare chi ha eseguito una specifica operazione, è necessario controllare il log dell’unità identificata dall’utente rpcd e correlare tale informazione con l’azione di accesso effettuata sul controller.
Quando un utente si connette all’unità tramite SSH, l’accesso viene registrato nel log dell’unità, identificato dall’utente SSH. Solitamente, l’utente SSH è root. Ad esempio:
Mar 26 11:55:03 NethSec dropbear[22798]: Password auth succeeded for 'root' from 172.19.64.1:46460
Se l’utente utilizza una chiave SSH per l’autenticazione, il log conterrà l’impronta digitale della chiave SSH utilizzata per l’autenticazione. Questo rende più semplice associare l’utente SSH alle operazioni eseguite. Esempio:
Mar 26 11:09:33 NethSec dropbear[31090]: Child connection from 172.19.64.1:52012
Mar 26 11:09:33 NethSec dropbear[31090]: Pubkey auth succeeded for 'root' with ssh-rsa key SHA256:FLecvNRKi0hxxxdjfP0urUZxxx6jxxxxNbZceOPFjyk from 172.19.64.1:52012
Subscription e limitazioni#
Subscription necessaria
Alcune restrizioni possono essere superate solo se il firewall dispone di un .
Il comportamento del controller in esecuzione su un NS8 dipende dal suo stato di sottoscrizione.
Controller senza subscription:
Consente la registrazione di un massimo di 3 unità.
Solo i firewall della community possono registrarsi con il controller.
Le metriche storiche non sono accessibili.
Controller con una subscription valida:
Il numero di unità è illimitato.
Solo i firewall con una subscription valida possono registrarsi con il controller.
Le unità con un subscription valida inviano metriche al controller.
Version awareness#
La version awareness è un meccanismo che impedisce all’utente di eseguire operazioni non supportate dalla versione dell’unità. A tal fine, durante la connessione all’interfaccia utente di un’unità, il controller verificherà la versione delle API durante il processo di connessione. Esistono tre possibili scenari:
Se le versioni sono compatibili, la connessione procede normalmente.
Se il firewall (unità) è significativamente più vecchio del controller, verrà visualizzato un popup che impedisce la connessione. Questo serve a proteggere da potenziali errori.
Se il controller è leggermente più vecchio del firewall, verrà visualizzato un avviso relativo alla mancata corrispondenza. Tuttavia, sarà comunque possibile connettersi se si sceglie di procedere.
In qualità di amministratore, non è necessario eseguire alcuna azione specifica per abilitare la version awareness. Questa funziona automaticamente in background. Tuttavia, è consigliabile:
Prestare attenzione agli avvisi: se viene visualizzato un avviso di incompatibilità di versione, valutare l’aggiornamento del sistema quando conveniente.
Mantenere il sistema aggiornato: verificare regolarmente la presenza di aggiornamenti e applicarli sia al controller che alle unità firewall per garantire la migliore compatibilità e l’accesso alle nuove funzionalità.
Segnalare problemi: se si riscontrano comportamenti insoliti o errori, soprattutto dopo aver visualizzato un avviso di versione, seguire la procedura di risoluzione dei problemi.
La version awareness è una funzionalità in background che contribuisce a mantenere il sistema NethSecurity operativo senza intoppi. Verificando automaticamente la compatibilità tra il controller e le unità, previene molti potenziali problemi prima che possano influire sulla rete. Anche se non richiede alcuna azione da parte dell’utente, essere a conoscenza di questa funzionalità può aiutare a comprendere e gestire meglio il sistema.
Ignorare la version awareness
Sebbene la version awareness sia una funzionalità utile, conoscendo i rischi e i potenziali problemi, potrebbe essere necessario ignorarla in alcuni casi. Per farlo, la procedura è la seguente:
Sul controller, andare alla pagina del gestore delle unità e fare clic su Ulteriori informazioni dell’unità a cui si desidera connettersi.
Copia il valore di
Unit ID.Fare clic su Apri terminale SSH
Quando si apre la finestra modale, è possibile chiuderla in sicurezza. Questo era necessario solo per scambiare alcune credenziali con l’unità.
Aprire una nuova scheda e andare a questo URL:
https://<controller-fqdn>/#/controller/manage/<unit-id>/dashboard. Esempio:https://controller.nethsecurity.org/#/controller/manage/000000000-0000-0000-0000-000000000000/dashboard.Sarà possibile accedere all’interfaccia utente dell’unità senza il controllo della versione.
Aggiornare l’unità con SSH
È possibile aggiornare l’unità senza collegarsi ad essa utilizzando il terminale SSH. Seguire i passaggi per connettersi all’unità utilizzando SSH Access.
Una volta connessi, è possibile verificare la presenza di aggiornamenti a seconda di ciò che si desidera aggiornare.
Installare gli aggiornamenti dei pacchetti sull’unità:
Per verificare la presenza di aggiornamenti per i pacchetti, utilizzare il seguente comando:
/usr/libexec/rpcd/ns.update call check-package-updates
Se si è d’accordo con l’installazione dei pacchetti, è possibile eseguire il seguente comando:
/usr/libexec/rpcd/ns.update call install-package-updates
Per aggiornare l’immagine, è possibile semplicemente pianificare l’installazione; si ricorda che questa operazione riavvia il firewall (causando un periodo di inattività).
Verificare se è disponibile un’immagine aggiornata:
/usr/libexec/rpcd/ns.update call check-system-update
Se si desidera procedere con l’aggiornamento, è possibile farlo tramite questo comando:
/usr/libexec/rpcd/ns.update call update-system