Che cos’è NethSecurity 8
NethSecurity è il firewall UTM (Unified Threat Management) di Nethesis. È basato su OpenWrt e riunisce in un’unica interfaccia web firewall stateful, NAT e port forward, multi-WAN, VPN (OpenVPN, IPsec e WireGuard), filtro DNS e per IP (Threat Shield), ispezione applicativa (DPI con Netifyd), IPS con Snort, hotspot e QoS. Gira su appliance Nethesis, su hardware tuo o su una macchina virtuale.
Lo scelgo quando mi serve un firewall perimetrale completo per una PMI, da gestire dall’interfaccia web senza scrivere a mano le regole, e quando ho più sedi da tenere sotto controllo: con il controller (un’applicazione di NethServer 8) gestisco tutte le unità da un solo punto. Se invece ti serve un filtro su un singolo server Linux, basta nftables: lo spiego in Firewall completo su Linux con nftables.
Questa guida copre l’installazione e la configurazione di base. Regole, port forward, VPN e protezioni sono nella seconda parte: NethSecurity 8: regole, port forward, VPN e protezioni.
Riporto i nomi delle pagine e dei campi come compaiono nella documentazione ufficiale, in inglese, con la traduzione tra parentesi alla prima occorrenza. I riferimenti sono alla versione 8.8, che usa apk come gestore dei pacchetti; fino alla 8.7.2 si usava opkg.
Requisiti
NethSecurity è disponibile solo per l’architettura x86-64. I requisiti indicati dalla documentazione:
| Risorsa | Minimo | Consigliato |
|---|---|---|
| CPU | 1 vCPU/core | 2 vCPU/core |
| RAM | 1 GB | 2 GB |
| Disco | 1 GB | 1 GB più un disco aggiuntivo per i dati persistenti (log) |
| Rete | 2 schede Ethernet | 2 o più, secondo le zone che ti servono |
Prima di installare decidi il piano di indirizzamento. In questa guida uso:
La LAN 192.168.1.0/24 con il firewall su .1 è il valore predefinito di NethSecurity: se in azienda usi un’altra rete, la cambierai al primo accesso. Gli indirizzi pubblici sono quelli riservati alla documentazione: sostituiscili con i tuoi.
Installazione: fisica o virtuale
1. Scaricare e verificare l’immagine
Dalla pagina Download della documentazione scarica l’ultima immagine stable x86-64 (un file .img.gz) e il file sha256sums. Controlla l’integrità prima di usarla:
sha256sum -c sha256sums --ignore-missing # deve rispondere "OK" per il file .img.gz
La pagina di download riporta il comando esatto per ogni versione.
Le versioni staging (beta, RC) e di sviluppo non sono supportate: non usarle in produzione.
2. Su hardware fisico
Hai due strade: scrivere l’immagine direttamente sul disco interno, oppure su una chiavetta USB da cui avviare il firewall e poi installare sul disco. Da una macchina Linux, come root, con il disco o la chiavetta su /dev/sdd:
zcat nethsecurity-<versione>-x86-64-generic-squashfs-combined.img.gz | \
dd of=/dev/sdd bs=1M iflag=fullblock status=progress oflag=directdd sovrascrive senza chiedere conferma. Verifica il nome con lsblk prima di lanciare il comando. La documentazione sconsiglia di scrivere l’immagine da Windows, perché può rovinare il partizionamento.
Se sei partito dalla chiavetta, l’installazione consigliata è comunque sul disco interno, per robustezza e prestazioni. Avvia il firewall dalla USB, entra da console (VGA o seriale) o in SSH con le credenziali predefinite e lancia:
ns-install
Segui le istruzioni: alla fine il firewall si spegne. Togli la chiavetta e riaccendi. La chiavetta serve solo per l’installazione iniziale.
3. Su macchina virtuale
L’immagine decompressa si usa direttamente come disco della VM. Prepara due bridge (o due reti virtuali) separati: uno per la WAN, uno per la LAN. Su Proxmox, con la VM 401 e i bridge vmbr0 e vmbr1:
qm create 401 --name "NethSecurity" --ostype l26 --cores 1 --memory 1024 \
--net0 virtio,bridge=vmbr0,firewall=0 --net1 virtio,bridge=vmbr1,firewall=0 \
--scsihw virtio-scsi-pci
gunzip nethsecurity-<versione>-x86-64-generic-squashfs-combined.img.gz
qm importdisk 401 nethsecurity-<versione>-x86-64-generic-squashfs-combined.img local-lvm
qm set 401 --scsi0 "local-lvm:vm-401-disk-0"
qm set 401 --boot order=scsi0
qm start 401Su VMware, Hyper-V e VirtualBox converti prima l’immagine raw nel formato nativo:
qemu-img convert -f raw -O vmdk nethsecurity.img nethsecurity.vmdk # VMware
qemu-img convert -f raw -O vhdx nethsecurity.img nethsecurity.vhdx # Hyper-V
VBoxManage convertfromraw nethsecurity.img nethsecurity.vdi # VirtualBox
Per VMware la documentazione indica come impostazioni collaudate: sistema guest Other 5.x or later Linux, controller SCSI VMware Paravirtual, schede di rete E1000, firmware BIOS (non UEFI).
Gli agenti di virtualizzazione non sono nell’immagine. Dalla 8.8 si installano con apk:
apk update
apk add qemu-ga # KVM/Proxmox; su VMware: apk add open-vm-tools
/etc/init.d/qemu-ga start # su VMware: /etc/init.d/vmtoolsd start
Su una VM aggiungi un secondo disco virtuale e assegnalo ai log da System › Storage (Sistema › Archiviazione). Senza storage persistente i log restano in memoria e si perdono al riavvio. Sulle installazioni fisiche, dalla 8.6, la partizione per i log viene creata in automatico.
Primo accesso e procedura guidata
Configurazione di rete iniziale
Al primo avvio NethSecurity configura:
- la LAN con l’indirizzo statico
192.168.1.1; - la WAN in DHCP.
Fanno eccezione le VM su KVM e i droplet DigitalOcean, dove anche la LAN prende l’indirizzo in DHCP dalla piattaforma. Collega un PC alla porta LAN: riceverà un indirizzo dal DHCP del firewall.
Se l’interfaccia web non è ancora raggiungibile (per esempio su una VM in cloud), entra dalla console come root e lancia setup: un menu testuale ti fa scegliere la tastiera (us o it) e configurare LAN e WAN in DHCP o con indirizzo statico. Al termine conferma con Apply network changes. Imposta la tastiera per prima, altrimenti digitare gli indirizzi diventa un’avventura.
Accesso all’interfaccia web
| Voce | Valore predefinito |
|---|---|
| Interfaccia web | https://192.168.1.1:9090 (oppure https://nethsec:9090 se il PC usa il firewall come DNS) |
| Utente | root |
| Password | Nethesis,1234 |
| SSH | porta 22, stesse credenziali |
| Hostname | NethSec |
Il certificato iniziale non è firmato da un’autorità riconosciuta: il browser mostrerà un avviso da accettare.
La procedura guidata
Al primo accesso parte il setup wizard (procedura guidata). Completalo prima di collegare la WAN a Internet: la documentazione lo raccomanda esplicitamente. Clicca Start setup e segui i passi:
- Change root password: scegli una password robusta per
roote salvala subito in un gestore di password. Si applica immediatamente. - SSH access: SSH è attivo dalla LAN e disattivo dalla WAN. Puoi cambiare la porta (TCP port) e disattivare Root login with password; in quel caso carica prima la chiave pubblica SSH di
root, o resterai fuori. - Web interface access on TCP port 9090: dalla WAN scegli tra Disabled (consigliato), Enabled e Limited. Con Limited indichi indirizzi, reti CIDR o intervalli ammessi: le voci finiranno in Firewall › Rules › Input rules.
- Web interface and WAN access on TCP port 443: lascia disattivati sia l’interfaccia web sulla 443 sia l’accesso WAN alla 443, a meno che non ti serva il reverse proxy.
- Summary: rileggi e conferma con Finish setup.
Con Skip wizard resti con la password predefinita, che è pubblica. Se esci dal wizard dopo il primo passo e rientri, ricorda che la password di root è già quella nuova.
Interfacce e zone
Ogni interfaccia di rete appartiene a una zona del firewall, e la zona ne decide il comportamento. Le due zone predefinite sono:
- lan: rete interna fidata; i suoi host possono raggiungere tutte le altre reti configurate;
- wan: rete pubblica; da qui si raggiunge solo il firewall stesso, e solo per i servizi che apri.
Le zone predefinite non si possono cancellare. Puoi aggiungerne altre: la documentazione descrive la zona guest (ospiti, colorata in blu) e la dmz (server pubblicati, in arancione). Le politiche tra le zone le vediamo nella seconda parte.
La pagina Interfaces and devices
Vai in Network › Interfaces and devices (Rete › Interfacce e dispositivi). In alto trovi le interfacce configurate, ognuna con il nome e la zona; in basso i dispositivi fisici ancora liberi, ciascuno con il pulsante Configure.
Regole da rispettare per ogni rete:
- ogni rete deve avere indirizzi diversi dalle altre;
- le reti private usano gli intervalli RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16);
- le reti vanno separate fisicamente (switch diversi) o logicamente (VLAN).
VLAN, bridge, bond e alias
- Create VLAN device: crea un dispositivo 802.1q (o 802.1ad QinQ) con il suo VLAN ID; poi lo configuri come le schede fisiche. Lo stesso ID va impostato sullo switch.
- Add logical interface: crea un bridge o un bond. Per il bond la documentazione consiglia Balance Round Robin per bilanciamento e tolleranza ai guasti, Active backup per la sola tolleranza. Un bond non si modifica dopo la creazione: va rimosso e ricreato.
- Create alias interface (menu ⋮ dell’interfaccia): aggiunge altri indirizzi alla stessa interfaccia, tipicamente gli IP pubblici aggiuntivi sulla WAN.
Configurare WAN e LAN
WAN
Apri l’interfaccia WAN (o configura un dispositivo libero), assegna la zona wan e scegli il protocollo:
| Collegamento | Protocollo | Cosa inserire |
|---|---|---|
| Router o modem del provider che assegna l’indirizzo | DHCP | niente: indirizzo, gateway e DNS arrivano dal provider |
| IP pubblico statico | statico | indirizzo in notazione CIDR (es. 203.0.113.10/24) e gateway (203.0.113.1) |
| Modem DSL in bridge | PPPoE | Username e Password forniti dal provider |
Con il PPPoE puoi attivare Enable IPv6 sulla WAN e sulla LAN, lasciando vuoto l’indirizzo IPv6 della LAN: se il provider supporta il DHCPv6-PD, il firewall riceve un prefisso (di solito un /64) e lo usa per la LAN.
Con la WAN in DHCP il firewall usa i DNS del provider. Con la WAN statica devi indicare tu i server DNS a cui inoltrare le richieste: lo facciamo nella sezione DHCP e DNS.
LAN
Se la LAN aziendale non è 192.168.1.0/24, modifica l’interfaccia LAN e imposta l’indirizzo del firewall nella nuova rete (es. 10.10.1.1/24). Fallo da un PC collegato alla LAN e preparati a riconnetterti: dopo l’applicazione il firewall risponde sul nuovo indirizzo e il tuo PC dovrà rinnovare il DHCP.
DMZ e ospiti
Per ogni zona aggiuntiva configura una scheda libera (o una VLAN) con il suo indirizzo, per esempio 192.168.20.1/24 per la DMZ e 192.168.30.1/24 per gli ospiti. Prima crea le zone dmz e guest in Firewall › Zones & policies (Firewall › Zone e politiche), come descritto nella seconda parte, poi assegna l’interfaccia alla zona.
DHCP e DNS
La pagina Network › DNS & DHCP ha più schede: DHCP and MAC binding, Static leases, Dynamic leases, DNS, DNS records e Scan network. Il servizio è dnsmasq, lo stesso di OpenWrt.
DHCP
Ogni interfaccia locale ha una scheda: clicca Edit e compila:
Enable DHCP: attiva il servizio sull’interfaccia;Range IP starteRange IP end: per esempio 192.168.1.100 – 192.168.1.199; con Add IP range puoi aggiungere altri intervalli;Lease time: durata del prestito, 1 ora per default.
Nelle impostazioni avanzate trovi Force DHCP server start (parte anche se rileva un altro server DHCP sulla rete, cosa che normalmente lo blocca) e DHCP option, per passare opzioni specifiche, per esempio dns-server con valore 192.168.1.10,192.168.1.11.
Il Mac binding lega MAC e IP: in modalità Soft binding blocca solo gli host che usano un IP riservato a un altro MAC; in Strict binding lascia passare solo gli host con una prenotazione.
Prenotazioni
Per server, stampanti e apparati usa Static leases › Add reservation: Hostname, IP address e MAC address. Le prenotazioni diventano anche oggetti utilizzabili nelle regole del firewall. La documentazione chiede che l’indirizzo stia dentro l’intervallo DHCP.
DNS
Nella scheda DNS:
DNS forwarding servers(Add DNS Server): i DNS a cui inoltrare le richieste. Servono se la WAN è statica; con la WAN in DHCP il firewall usa quelli del provider. Puoi inoltrare un dominio a un server specifico con la sintassi/dominio/IP, per esempio/ad.esempio.it/192.168.1.10verso il controller di dominio;DNS Domain: il dominio locale, risolto sempre in locale;Log DNS queries: registra tutte le richieste, utile per un’indagine, pesante da lasciare sempre acceso.
Nella scheda DNS records (Add DNS record) crei nomi locali, che hanno sempre la precedenza su quelli esterni.
La protezione contro il DNS rebinding è attiva di default: blocca le risposte di domini pubblici che puntano a indirizzi privati. Con un DNS “split” (nome pubblico risolto con un IP interno) vedrai in /var/log/messages righe come possible DNS-rebind attack detected. Metti in eccezione il dominio:
uci add_list dhcp.@dnsmasq[0].rebind_domain="esempio.it"
uci commit dhcp
/etc/init.d/dnsmasq restartImpostazioni di sistema
Hostname, data e ora
Hostname e fuso orario si impostano nella pagina System Settings (impostazioni di sistema), scheda General Settings (impostazioni generali); in fondo alla pagina vedi data e ora locali. Attiva la sincronizzazione NTP nella sezione Time Synchronization. Con l’orologio sbagliato falliscono la registrazione della sottoscrizione, la verifica dei certificati VPN e la lettura dei log.
La documentazione cita queste voci nella guida alla registrazione, ma non descrive i singoli campi della pagina: controlla sulla tua interfaccia il nome esatto dei campi per hostname, fuso orario e server NTP.
Storage
In System › Storage verifica che i log abbiano uno spazio persistente. Sulle VM assegnalo a un disco dedicato; senza, i log stanno in RAM e il monitoraggio storico tiene i dati per soli 7 giorni invece di un anno.
Sottoscrizione
Se hai una sottoscrizione Community o Enterprise, registra il firewall in System › Subscription: incolla il token creato sul portale (my.nethserver.com o my.nethesis.it) nel campo Authentication token e clicca Register. Serve una connessione a Internet e un DNS funzionante. La sottoscrizione abilita, tra l’altro, il backup automatico nel cloud, le firme DPI estese e le blocklist Enterprise.
Accesso amministrativo sicuro
L’interfaccia di amministrazione è la cosa più delicata del firewall. La documentazione avverte che, senza il wizard, l’interfaccia sulla porta 9090 è raggiungibile anche dalla WAN grazie alla regola Allow-UI-from-WAN. Controlla sempre, anche dopo il wizard.
Limitare l’interfaccia web dalla WAN
Vai in Firewall › Rules (Firewall › Regole), scheda Input rules (regole di ingresso), e cerca Allow-UI-from-WAN. Hai due possibilità:
- Delete: la cancelli, e l’interfaccia è raggiungibile solo dalla LAN (e dalla VPN, se la configuri);
- Edit: nel campo
Source addressmetti solo gli indirizzi fidati, per esempio l’IP fisso del tuo ufficio 198.51.100.7. Un campo vuoto significa “tutto Internet”.
La mia scelta abituale: niente interfaccia sulla WAN e accesso remoto solo attraverso la VPN o il controller.
Porta 443
Oltre alla 9090, l’interfaccia può rispondere anche sulla 443. Se non ti serve, spegnila:
uci set ns-ui.config.nsui_enable=0
uci commit ns-ui && ns-ui
Puoi anche spostare la 9090 su un’altra porta (nsui_extra_port), ma non farlo se usi il controller: comunica con le unità proprio sulla 9090.
Utenti personali e 2FA
Usa root solo per le emergenze. Per ogni tecnico crea un utente locale in Users and objects › Users databases (Utenti e oggetti › Database utenti) con l’opzione Administrator user: così nei log sai chi ha fatto cosa. Poi attiva la verifica in due passaggi: icona utente in alto a destra › Account settings › Configure 2FA, scansiona il codice QR con un’app di autenticazione e conserva offline i codici di recupero.
SSH
SSH ascolta sulla porta 22 solo dalla LAN. Per raggiungerlo dalla WAN serve una regola di ingresso: se proprio ti serve, limitala a un indirizzo sorgente come per l’interfaccia web. Da un client Linux:
ssh root@192.168.1.1
Con Threat shield IP attivo, il firewall blocca anche i tentativi ripetuti di accesso a SSH e all’interfaccia web: lo vediamo nella seconda parte.
NethSecurity include LuCI, l’interfaccia originale di OpenWrt, disattivata per default e non supportata. Le modifiche fatte da LuCI, in particolare alla rete, possono rompere l’interfaccia ufficiale: lasciala spenta.
Aggiornamenti e backup
Aggiornamenti
In System › Update (Sistema › Aggiornamento) trovi due tipi di aggiornamento:
- correzioni di bug e sicurezza: pacchetti legati alla versione installata, senza riavvio. Puoi cercarli con Check for Fixes o attivare
Automatic updates, che controlla ogni giorno (dalla 8.8 anche senza sottoscrizione); - aggiornamenti di sistema: riscrivono l’intera immagine mantenendo la configurazione e riavviano il firewall (resta irraggiungibile per qualche decina di secondi). Quando c’è una nuova versione compare un avviso con il pulsante Update System; in alternativa carichi l’immagine con Update with image file.
Da riga di comando, con l’immagine copiata in /tmp:
sysupgrade -k -v /tmp/nethsecurity-<versione>-x86-64-generic-squashfs-combined.img.gz
Dalla 8.7.2 i pacchetti aggiuntivi (per esempio qemu-ga) vengono reinstallati da soli dopo l’aggiornamento, se il firewall raggiunge Internet. Programma gli aggiornamenti di sistema fuori orario e fai sempre un backup prima.
Backup
Vai in System › Backup & Restore (Sistema › Backup e ripristino):
- clicca Configure passphrase e imposta una passphrase robusta;
- scarica il backup con Download encrypted.
Download unencrypted è sempre disponibile, ma il file contiene la configurazione in chiaro, comprese le chiavi delle VPN. Se perdi la passphrase, il backup cifrato non è più ripristinabile: conservala insieme alle altre credenziali del cliente.
Con una sottoscrizione il backup cifrato viene inviato ogni notte al portale Nethesis, e puoi forzarlo con Run cloud backup. Per includere file tuoi:
sysupgrade -l # elenco dei file nel backup
echo /etc/mio-file >> /etc/sysupgrade.conf # aggiunge un file
Ripristino
Nella scheda Restore clicca Restore backup, carica il file, inserisci la passphrase se è cifrato e conferma con Restore. Il firewall si riavvia. Un backup cloud di una macchina registrata riporta con sé anche la registrazione: non serve generare un nuovo token.
Si recupera dalla failsafe mode descritta nella pagina Reset and recovery della documentazione: da lì esegui mount_root, poi passwd e infine reboot. Serve l’accesso alla console.
Il passo successivo
Ora il firewall naviga, distribuisce indirizzi e risponde solo a chi deve. Prima di consegnarlo controlla l’elenco:
- password di
rootcambiata, utenti personali con 2FA; Allow-UI-from-WANcancellata o limitata, porta 443 spenta se non serve;- NTP attivo, storage persistente configurato;
- aggiornamenti automatici attivi, backup cifrato scaricato e passphrase archiviata.
Il passo successivo è decidere chi parla con chi: zone, regole, port forward, VPN e protezioni sono in NethSecurity 8: regole, port forward, VPN e protezioni.
Prova sempre la configurazione in laboratorio, salva quella attuale prima di modificarla e tieni un accesso di emergenza (console o accesso fuori banda) quando lavori su firewall e VPN da remoto.