Nessus (logiciel)
Développé par | Tenable Network Security |
---|---|
Dernière version | 10.1.2 ()[1] |
Système d'exploitation | Type Unix et Microsoft Windows |
Type | Scanneur de vulnérabilité |
Licence | Licence publique générale GNU et licence propriétaire |
Site web | www.tenable.com |
Nessus est un outil de sécurité informatique. Il signale les faiblesses potentielles ou avérées sur les machines testées. Ceci inclut, entre autres :
- les services vulnérables à des attaques permettant la prise de contrôle de la machine, l'accès à des informations sensibles (lecture de fichiers confidentiels par exemple), des dénis de service...
- les fautes de configuration (relais de messagerie ouvert par exemple)
- les patchs de sécurité non appliqués, que les failles corrigées soient exploitables ou non dans la configuration testée
- les mots de passe par défaut, quelques mots de passe communs, et l'absence de mots de passe sur certains comptes systèmes. Nessus peut aussi appeler le programme externe Hydra (de) pour attaquer les mots de passe à l'aide d'un dictionnaire.
- les services jugés faibles (on suggère par exemple de remplacer Telnet par SSH)
- les dénis de service contre la pile TCP/IP
Architecture et fonctionnement
[modifier | modifier le code]Nessus détecte les machines vivantes sur un réseau, balaie les ports ouverts, identifie les services actifs, leur version, puis tente diverses attaques.
Nessus se divise en deux parties : nessusd qui est un daemon (service) exécutant les requêtes ainsi que la communication avec la cible, et nessus, une application cliente qui récupère les données et affiche le résultat.
Ce découpage est classique, le daemon tournant avec des privilèges élevés (root) alors que l'interface graphique, plus complexe et donc vulnérable, tourne sous l'identité d'un utilisateur non privilégié. Les tests sont joués par des plugins ; quelques-uns sont en C compilé, mais la majorité sont écrits dans le langage de script NASL (Nessus Attack Scripting Language).
La séquence des opérations est la suivante :
- détection des machines vivantes sur le réseau par ping_host.nasl
- « scan » des ports avec un des quatre analyseurs de ports internes, ou un scanner externe amap ou nmap, ce qui est déconseillé pour des raisons de performance.
- récupération d'informations
- type et version des divers services
- Connexion (SSH, Telnet ou rsh) pour récupérer la liste des packages installés
- attaques simples, peu agressives. Par exemple, directory traversal, test de relais de messagerie ouverts, etc.
- attaques susceptibles d'être destructrices
- dénis de service (contre les logiciels visés)
- dénis de service contre la machine ou les équipements réseaux intermédiaires.
Les dernières catégories de tests, plus agressives, peuvent avoir des conséquences désastreuses sur la disponibilité du système (crash de la machine visée, voire des équipements réseaux) et peuvent être désactivées dans le mode safe checks.
Le logiciel client standard peut exporter les données sous divers formats (XML, HTML, LaTeX). Outre les failles, Nessus présente également diverses informations utiles à un auditeur comme la version des services ou du système d'exploitation.
Types de tests
[modifier | modifier le code]Nessus étant un scanner de sécurité réseau (par opposition aux outils locaux comme le grand ancêtre COPS), la présentation des failles a été longtemps biaisée en faveur des failles exploitables à distance. Toutefois, Nessus sait détecter les failles exploitables localement :
- soit en identifiant un numéro de version dans une bannière, mais ce procédé est limité à une classe de failles particulière : les failles de services réseau exploitables seulement localement[2].
- soit en récupérant la liste des logiciels ou paquets installés sur la machine testée et en la comparant aux patchs publiés par les éditeurs. Ces tests locaux ont été introduits à partir de Nessus 2.2 [3].
Licence
[modifier | modifier le code]Nessus est disponible sous licence GPL jusqu'à la version 2. Depuis la version 3, il est distribué sous licence propriétaire, mais toujours gratuit pour utilisation personnelle (Home Feed). La version 2 est maintenue. Il existe aussi un fork de Nessus 2 toujours sous licence GPL qui s'appelle OpenVAS.
Notes et références
[modifier | modifier le code]- « Nessus 10.1.2 Release Notes », (consulté le )
- Voir par exemple CVE-2003-0308
- (en) « Documentation - Tenable™ », sur nessus.org (consulté le ).
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- (en) Site officiel
- (en) Nessus local security checks
- (en) The NASL2 reference manual