1 15/04/2026 11 min

Se devi mettere Nessus Scanner su Debian 11 o Debian 10, la parte davvero importante non è l’installazione in sé: è evitare di esporre inutilmente la console, verificare che il servizio parta pulito e tenere sotto controllo la superficie d’attacco. Nessus è uno scanner di vulnerabilità, quindi per definizione va gestito come un componente sensibile: accesso ristretto, aggiornamenti puntuali, certificati validi e nessun segreto lasciato in chiaro nei file di automazione.

Qui sotto trovi una procedura pratica, pensata per un ambiente Linux recente con systemd, valida per Debian 10 e 11 con le differenze minime che contano davvero. L’obiettivo è arrivare a un’installazione funzionante, verificata e pronta per essere usata senza dover “indovinare” cosa sia andato storto se qualcosa non parte al primo colpo.

Prerequisiti e scelta del pacchetto giusto

Prima di scaricare il pacchetto, verifica l’architettura e la release. Tenere una build sbagliata su una macchina 64 bit o mescolare repository non serve a niente: Nessus viene distribuito come pacchetto .deb per Debian e derivate compatibili, quindi la strada più pulita è installare il file ufficiale scaricato dal sito Tenable.

Controlla questi punti:

  • Debian 10 o 11 aggiornato con pacchetti base.
  • Accesso root o sudo con privilegi amministrativi.
  • Spazio disco sufficiente, soprattutto se pensi di usare scansioni con molti plugin e report storicizzati.
  • Connettività in uscita verso i feed Tenable per gli aggiornamenti plugin.

Per un controllo rapido dell’ambiente:

cat /etc/debian_version
uname -m
df -h /
systemctl --version

Se uname -m restituisce x86_64, in genere sei nel caso più comune. Se hai una macchina ARM o una piattaforma meno standard, fermati e verifica che il pacchetto Nessus disponibile sia effettivamente quello giusto per la tua architettura. Non dare per scontato che un .deb qualunque vada bene.

Download del pacchetto Nessus per Debian

Il download va fatto dal portale Tenable, scegliendo il pacchetto per Debian 64 bit. In genere il nome del file segue uno schema tipo Nessus-...-debian6_amd64.deb o simile, anche se la numerazione del pacchetto può cambiare nel tempo. Il punto non è memorizzare il nome esatto, ma usare il file ufficiale più recente disponibile per la tua piattaforma.

Se lavori da shell e hai già l’URL del pacchetto, puoi scaricarlo così:

cd /tmp
wget 'https://link-ufficiale-tenable/esempio/Nessus-xxxx.debian6_amd64.deb'

Non metto un URL reale a caso: i link diretti cambiano e inventarli sarebbe inutile. Se non hai il pacchetto, il modo corretto è prenderlo dal download ufficiale e non da mirror improvvisati. Qui il gap si chiude entrando nel portale Tenable, selezionando Nessus Scanner e scegliendo il pacchetto Debian appropriato.

Verifica dell’integrità prima dell’installazione

Prima di installare, controlla almeno che il file sia stato scaricato correttamente e non sia un HTML di errore salvato per sbaglio con estensione .deb. È una banalità, ma succede spesso quando si automatizza male il fetch del pacchetto.

file /tmp/Nessus-*.deb
ls -lh /tmp/Nessus-*.deb

Il comando file dovrebbe riconoscere un archivio Debian. Se invece ti restituisce testo HTML, pagina di login o contenuto generico, il download non è valido. In quel caso non andare avanti: rifai il download dal portale corretto.

Installazione del pacchetto su Debian 10 o 11

Per installare Nessus hai due strade equivalenti: dpkg -i seguito da eventuale correzione dipendenze, oppure apt install ./file.deb che spesso gestisce meglio la risoluzione dei pacchetti mancanti. In ambiente amministrato preferisco apt perché lascia una traccia più ordinata e si integra meglio con la gestione delle dipendenze.

Procedura consigliata:

cd /tmp
sudo apt install ./Nessus-*.deb

Se preferisci la via classica:

sudo dpkg -i /tmp/Nessus-*.deb
sudo apt -f install

Durante l’installazione viene creato il servizio systemd e il binario viene posizionato sotto /opt/nessus. Questo dettaglio conta perché i file di configurazione, i log e i plugin non stanno nei path tipici dei pacchetti Debian “standard”: se cerchi solo sotto /etc o /var/log rischi di perderti pezzi fondamentali.

Avvio del servizio e prima verifica operativa

Una volta installato il pacchetto, avvia il servizio e controlla subito lo stato. Nessus può impiegare qualche minuto al primo start perché inizializza componenti interni e prepara il motore di scansione.

sudo systemctl enable --now nessusd
sudo systemctl status nessusd --no-pager

Il risultato atteso è active (running). Se vedi failed o activating troppo a lungo, passa subito ai log. Non forzare il riavvio a ripetizione senza capire il motivo: se il problema è una dipendenza interna, un filesystem pieno o una porta già occupata, il restart non sistema nulla.

Per i log:

sudo journalctl -u nessusd -n 100 --no-pager

Se vuoi vedere anche i log applicativi specifici, controlla la directory tipica:

sudo ls -l /opt/nessus/var/nessus/logs/
sudo tail -n 50 /opt/nessus/var/nessus/logs/nessusd.messages

Il file nessusd.messages è spesso il primo posto utile da leggere quando l’interfaccia web non sale o il servizio parte ma non accetta connessioni. Se qui trovi errori di licenza, di inizializzazione plugin o di accesso disco, hai già la direzione giusta.

Accesso iniziale alla console web

La console web di Nessus ascolta di default sulla porta 8834. Da un browser raggiungi:

https://IP-DEL-SERVER:8834/

Al primo accesso, il browser segnalerà quasi sempre un certificato autofirmato. È normale in fase iniziale. Quello che non è normale è lasciarlo così in produzione senza una ragione precisa. Se l’istanza è usata da più operatori o passa su una rete condivisa, conviene sostituire il certificato con uno valido o almeno con un certificato interno gestito in modo corretto.

Se non raggiungi la porta, verifica prima che il servizio stia ascoltando:

sudo ss -ltnp | grep 8834

Se non compare nulla, il servizio non è davvero in ascolto o è bloccato nella fase di bootstrap. Se compare ma non riesci a collegarti dall’esterno, il problema è quasi certamente firewall locale, security group o rete intermedia.

Configurazione iniziale guidata

La prima procedura web di Nessus ti chiede la registrazione, la scelta dell’edizione e la creazione dell’utente amministrativo. Qui la regola è semplice: usa un account nominale, non condiviso, con password robusta e conservata nel password manager aziendale. Non salvare credenziali in chiaro in note operative o script di provisioning.

Durante il wizard, presta attenzione a questi passaggi:

  • Conferma la licenza o il feed code se previsto dal tuo contratto.
  • Crea un utente amministrativo distinto da eventuali account di servizio.
  • Definisci subito la lingua, il fuso orario e il nome dell’istanza.
  • Verifica che gli aggiornamenti plugin siano abilitati e funzionanti.

Se la piattaforma deve essere usata in un team, vale la pena decidere subito il modello operativo: un account admin per il bootstrap, poi ruoli separati per chi lancia le scansioni e chi legge i report. Riduce gli errori e rende più semplice l’audit.

Hardening minimo: porta, firewall e esposizione

Nessus non dovrebbe essere esposto su Internet senza una protezione aggiuntiva. La console web deve stare dietro VPN, rete amministrativa o almeno restrizione firewall per IP noti. La porta 8834/tcp è quella da proteggere subito.

Con ufw, per esempio:

sudo ufw allow from 10.10.10.0/24 to any port 8834 proto tcp
sudo ufw status numbered

Con nftables o con il firewall della distribuzione la logica è la stessa: consenti solo da reti amministrative. Se devi fare troubleshooting temporaneo, apri in modo puntuale e chiudi subito dopo. Il blast radius qui è semplice: ogni host che può raggiungere la console è un potenziale punto di attacco se l’autenticazione viene compromessa.

Se il server è dietro NAT o reverse proxy, ricordati che il proxy non sostituisce il controllo degli accessi. Può aiutare con TLS e logging, ma non è una scusa per lasciare la porta aperta a chiunque sulla rete interna.

Gestione degli aggiornamenti e sincronizzazione plugin

La vera utilità di Nessus dipende dal motore di aggiornamento dei plugin. Se i feed non si sincronizzano, lo scanner è tecnicamente installato ma operativamente quasi inutile. Dopo la prima configurazione, controlla che gli aggiornamenti partano e che il motore completi il bootstrap senza errori.

sudo tail -f /opt/nessus/var/nessus/logs/nessusd.messages

Osserva se compaiono errori di rete, DNS, certificato o autenticazione verso i server Tenable. In caso di proxy aziendale, verifica che le variabili di ambiente o la configurazione proxy siano effettivamente riconosciute dal servizio. Qui il problema più comune non è Nessus, ma l’uscita verso Internet filtrata in modo parziale.

Se l’host non ha accesso diretto ai feed, devi documentare il percorso di uscita e le eccezioni firewall. Non improvvisare aperture ampie: meglio una regola stretta verso i soli endpoint richiesti, con tracciamento a livello di rete.

Verifiche post-installazione che evitano sorprese

Dopo l’installazione non fermarti alla schermata web raggiungibile. Fai almeno queste verifiche operative, perché sono quelle che distinguono un sistema davvero pronto da uno solo “acceso”.

  • Servizio attivo: systemctl status nessusd deve essere active (running).
  • Porta in ascolto: ss -ltnp | grep 8834 deve mostrare il processo corretto.
  • Accesso web: la pagina HTTPS su 8834 deve rispondere senza timeout.
  • Log puliti: in /opt/nessus/var/nessus/logs/nessusd.messages non devono comparire errori ripetuti di startup.
  • Spazio disco: df -h non deve essere vicino al 100%, soprattutto su / e sul filesystem che ospita /opt/nessus.

Una verifica utile è anche controllare la versione installata dal binario, così sai esattamente cosa stai gestendo:

sudo /opt/nessus/sbin/nessuscli version

Questo ti serve quando apri ticket, confronti build o devi capire se un comportamento anomalo coincide con un aggiornamento recente.

Problemi tipici e lettura rapida dei sintomi

Se la console non si apre, non partire subito da reinstallazioni. In ordine di probabilità, controlla prima il layer di rete, poi il servizio, poi il bootstrap applicativo.

  • Timeout sul browser: porta bloccata, routing errato o servizio non in ascolto.
  • Errore TLS/certificato: normale in fase iniziale se usi il self-signed; anomalo se il certificato è scaduto o sostituito male.
  • Servizio in crash: log di sistema e nessusd.messages mostrano il motivo reale.
  • Scanner lento: spesso è I/O disco, CPU satura o aggiornamento plugin incompleto.

Un esempio pratico: se systemctl status è verde ma la UI non risponde, esegui subito ss -ltnp | grep 8834. Se la porta non c’è, il problema è interno al demone; se la porta c’è ma il client esterno non raggiunge il servizio, il problema è quasi sempre firewall o policy di rete. Questa distinzione fa risparmiare tempo più di qualunque reinstallazione impulsiva.

Aggiornamento o reinstallazione senza perdere il controllo

Se devi aggiornare Nessus, tratta l’operazione come un change controllato. Prima annota versione corrente, stato del servizio e presenza di scansioni in corso. Se possibile, pianifica la finestra e verifica che i report importanti siano esportati o sincronizzati prima di toccare il pacchetto.

sudo /opt/nessus/sbin/nessuscli version
sudo systemctl status nessusd --no-pager

Se un upgrade fallisce, il rollback più semplice è reinstallare il pacchetto precedente che hai conservato localmente, sempre che sia compatibile con i dati presenti nel datastore. Questo è il motivo per cui conviene archiviare i pacchetti usati in un repository interno o in una cartella di change management: non devi cercarli quando hai già un problema operativo.

Buone pratiche operative dopo il primo avvio

Una volta che Nessus è online, il lavoro serio è tenere ordine. Limita gli account amministrativi, salva i report in uno spazio con backup, monitora lo stato del servizio e non lasciare la console esposta oltre il necessario. Se la macchina è critica, aggiungi anche un controllo esterno che verifichi la risposta HTTPS sulla porta 8834 e la presenza del processo nessusd.

Dal punto di vista della sicurezza, le cose che contano davvero sono poche: aggiornamenti, accesso ristretto, password robuste, certificati gestiti bene e log consultabili. Tutto il resto è contorno. Nessus è uno strumento utile proprio perché concentra molte informazioni sensibili; per questo non va trattato come un servizio “qualsiasi”.

Se vuoi automatizzare il provisioning, tieni separati i dati sensibili dai playbook. Non inserire token, password o chiavi in chiaro negli script: usa variabili protette, vault o secret manager. È una misura banale, ma evita errori che in ambienti multiutente diventano rapidamente incidenti di sicurezza.

Sequenza consigliata in sintesi

  1. Verifica Debian, architettura e spazio disco.
  2. Scarica il pacchetto ufficiale per Debian dal portale Tenable.
  3. Controlla che il file sia davvero un pacchetto Debian.
  4. Installa con apt install ./file.deb o dpkg -i più apt -f install.
  5. Avvia e abilita nessusd con systemd.
  6. Controlla log e ascolto sulla porta 8834.
  7. Completa il wizard web e limita l’accesso alla console.
  8. Verifica aggiornamenti plugin, rete in uscita e stato finale del servizio.

Se segui questa sequenza, l’installazione resta prevedibile e il troubleshooting diventa molto più rapido. Il vero errore, in questi casi, è saltare la fase di verifica e scoprire i problemi solo quando qualcuno prova ad avviare la prima scansione. Meglio spendere cinque minuti in più all’inizio che mezz’ora dopo a inseguire sintomi confusi.