# Nessus

Nell'ambito della computer security Nessus è un software proprietario di tipo client-server di scansione di tutti i tipi di vulnerabilità. Costituito da nessusd, il demone, che effettua la scansione, e da nessus, il client, il quale fornisce all'utente i risultati della scansione, tramite lo scan e l'abilitazione di plugin appositamente configurabili a seconda della tipologia di host e vulnerabilità che si andrà ad analizzare, rileva le vulnerabilità presenti suggerendo le possibili soluzioni attraverso report di facile analisi in vari formati (Html, pdf, ecc. etc).
Tuttora Nessus con le sue tante opzioni per la scansione, la possibilità di scrivere plugin e per il tipo di reportistica prodotta rimane uno dei migliori strumenti per vulnerability assessment. È lo scanner di vulnerabilità più diffuso al mondo, utilizzato, secondo le stime, da oltre 75.000 organizzazioni in tutto il mondo, classificatosi al primo posto nel 2000, 2003 e nel 2006 a seguito di un esame dei tool di sicurezza effettuato da SecTools.Org.

## Storia

Il Progetto "Nessus" venne avviato da Renaud Deraison nel 1998 per fornire alla comunità Internet uno scanner remoto di sicurezza libero, potente, aggiornato e semplice da usare. Nessus è attualmente considerato dall'industria della sicurezza come uno dei prodotti migliori nel suo genere, e viene utilizzato da organizzazioni professionali di sicurezza informatica come il SANS Institute.
Il 5 ottobre 2005, Tenable Security, la compagnia co-fondata da Renaud Deraison, ha cambiato la licenza di Nessus 3 in proprietaria (sorgente chiuso). Il motore di Nessus 3 è ancora gratuito, sebbene Tenable faccia pagare gli ultimi plugin. Il motore di Nessus 2 e una piccola quantità di plugin sono ancora GPL. Di conseguenza, alcuni sviluppatori hanno creato dei progetti open source indipendenti basati su Nessus. Esempi sono OpenVAS e Porz-Wahn

## Funzionamento

Tipicamente, Nessus inizialmente effettua una port scan con il suo portscanner interno (oppure talvolta utilizza Nmap) per determinare quali porte sono aperte sull'obiettivo e poi tenta diversi exploit sulle porte aperte. I test di vulnerabilità, disponibili sotto forma di corposi plugin, sono scritti in NASL (Nessus Attack Scripting Language), un linguaggio di programmazione ottimizzato per l'interazione tra reti differenti.
In più, i risultati della scansione possono essere forniti in diversi formati, quali plain text, XML, HTML e L$^A$T$_E$X. I risultati possono anche essere salvati in un database di riferimento per future scansioni di vulnerabilità. La scansione può essere effettuata automaticamente mediante un client a riga di comando.
Se l'utente lo decide, disabilitando l'opzione safe checks alcuni dei test di vulnerabilità di Nessus cercano di attivare dei servizi vulnerabili, oppure di mandare in crash il sistema operativo. Ciò consente ad un utente di verificare la resistenza di un dispositivo prima di metterlo in produzione.
Nessus fornisce ulteriori funzionalità, oltre a quella di testare delle vulnerabilità di rete ben note. Per esempio, può utilizzare le credenziali di Windows per esaminare i patch level sui computer che seguono il sistema operativo Windows, e può effettuare l'auditing delle password utilizzando attacchi a dizionario e metodi di brute force.