|
|
Cet article est disponible en: English Castellano Deutsch Francais Portugues Russian Turkce |
par Georges Tarbouriech <georges.t(at)linuxfocus.org> L´auteur: Georges est un vieil utilisateur d'Unix. Il pense que la sécurité informatique est l'un des grands défis de ce siècle. Traduit en Français par: Georges Tarbouriech <georges.t(at)linuxfocus.org> Sommaire: |
Résumé:
Nessus est un scanner de sécurité libre, disponible depuis http://www.nessus.org. Renaud Deraison est le créateur et le mainteneur du projet. Au moment de cet article, la version stable est la 1.09 et la version expérimentale la 1.14. Le logiciel est publié sous GPL et de nombreuses personnes contribuent au projet, particulièrement pour ce qui concerne les plugins... pendant que d'autres profitent du travail de nessus sans même en mentionner le nom (plus d'information sur ce sujet à la fin de l'article). Nessus fonctionne sous de nombreuses saveurs d'Unix en tant que client et serveur et sous Win32 en tant que client. Regardons de plus près ce fabuleux outil.
En allant sur http://www.nessus.org, vous pouvez télécharger ce superbe logiciel. Un client nessus étant disponible pour Win32, précisons que nous parlerons ici de la version Posix, bien évidemment.
Pour utiliser nessus, il vous faut nmap et Gtk (le Gimp Toolkit). Le site de nessus propose des liens vers ces derniers. Cela dit, vous pouvez utiliser nessus à partir de la ligne de commande, par conséquent Gtk n'est pas obligatoire.
Vous pouvez récupérer nessus de trois manières différentes : la bonne, la mauvaise et la pire.
La bonne, c'est le standard. En clair, vous téléchargez les archives à partir du site ftp le plus proche de chez vous. Vous disposez de quatre archives : les bibliothèques nessus, les bibliothèques nasl, le programme nessus proprement dit et les plugins. Une fois décompactées, vous les compilez et les installez comme d'habitude : ./configure, make, make install, dans l'ordre des archives citées au-dessus. Si une précédente version de nessus est installée sur votre machine, vous devez la supprimer. Nessus vous propose un script de désinstallation devant être lancé après le premier "./configure", soit celui des bibliothèques nessus. Exécutez ce script avant de taper "make". Faites la même chose pour chaque paquetage (sauf exécuter le script de désinstallation, bien sûr) et c'est fini.
La mauvaise méthode consiste à exécuter un script téléchargeable nommé nessus-installer.sh. Taper "sh nessus-installer.sh" installera automatiquement le paquetage. Les quatre paquetages sont devenus un seul.
La pire : si lynx est installé sur votre machine et si vous êtes connecté à Internet, tapez simplement "lynx -source http://install.nessus.org | sh" et c'est tout. Vous ne devez PAS être root pour ce faire.
De toute évidence, la méthode recommandée est la "bonne"... Enfin, puisque vous téléchargez nessus, nous supposons que vous vous sentez concernés par la sécurité ! Et puisque nous parlons de sécurité, n'oubliez pas de télécharger le checksum MD5.
Nessus fournit différents utilitaires (nasl, un langage de script, nessus-adduser, nessus-build...). Chaque utilitaire possède sa page de manuel, de même pour les programmes client et serveur. De la documentation supplémentaire est disponible dans la distribution (README, INSTALL...) et sur le site de nessus.
Pour rendre les choses plus faciles à comprendre, nous nous servirons d'exemples de la version X11 de nessus, autrement dit, celle utilisant Gtk.
Le serveur nessusdPour démarrer nessus, vous devez, bien évidemment, lancer le démon serveur, soit nessusd. Lorsque vous l'exécutez pour la première fois, vous devez déclarer un nom d'utilisateur et un mot de passe en utilisant la commande nessus-adduser. Si le paquetage des bibliothèques nessus a été compilé avec l'option "--enable-cipher" (recommandé, pour ne pas dire obligatoire !), une clé privée est générée. Cette clé peut être protégée par une passphrase. De nombreuses options existent pour lancer le serveur et vous trouverez tout dans la page de manuel de nessusd.
De là, vous créez la base de données des utilisateurs et les règles correspondantes. Autrement dit, qui est autorisé à exécuter le démon serveur, qui a le droit de scanner (une machine, un réseau...). Les règles sont de la forme "accept" ou "deny" suivi de l'adresse IP du réseau et de son netmask.
Par exemple : accept 192.168.1.0/24, permet à l'utilisateur de scanner l'ensemble du réseau 192.168.1.
Il est aussi possible de définir un seul utilisateur sans règles du tout. Si vous souhaitez autoriser plusieurs utilisateurs à lancer nessusd, soyez très prudents sur ce que vous leur permettez de faire. Vous ne pouvez pas autoriser n'importe quoi à n'importe qui sur votre réseau, n'est-il pas ?
Enfin, nessusd dépend d'un fichier de configuration situé (normalement) dans /usr/local/etc/nessus/nessusd.conf. Vous pouvez le modifier manuellement si vous savez ce que vous faites.
Vous pouvez maintenant démarrer le client nessus pour vous connecter sur le serveur nessusd. Pour lancer le client, il suffit de taper "nessus &" dans un shell. Ceci ouvre la fenêtre de configuration de nessus après vous avoir demandé la passphrase mentionnée plus haut. Cette fenêtre propose sept onglets.
Le premier onglet se nomme "nessusd host". Depuis ce panneau, vous pouvez vous connecter sur l'hôte nessusd en cliquant sur le bouton "Log in". Bien sûr, cela suppose que vous êtes autorisé à vous connecter sous ce nom d'utilisateur, en d'autres termes, que votre nom d'utilisateur est bien déclaré dans la base de données.
Lorsque vous démarrez le scan, nessus ouvre une fenêtre affichant le status dudit scan. Imaginons par exemple, que vous testiez le réseau 192.168.1.0/24 dans son intégralité. Huit machines (hôtes) seront affichées en même temps, et vous pourrez voir chaque plugin utilisé pour chaque machine ainsi qu'une jauge de progression. Voici à quoi ça ressemble :
Les plugins sont le "coeur" de nessus. Ce sont des tests de sécurité, autrement dit, un moyen de découvrir une vulnérabilité donnée. NASL (Nessus Attack Scripting Language) est le langage recommandé pour écrire des tests de sécurité. Vous trouverez tout sur NASL en visitant l'URL : NASL.
En conséquence, si vous souhaitez contribuer au projet nessus en écrivant des plugins, c'est là que vous trouverez l'information ad hoc (comme... non, je ne la ferai pas, j'aurais honte... quoique !). Au moment de cet article, il y a 756 plugins dans la base de données !
Il y a presque 20 familles de plugins : les backdoors, les dénis de service, les accès root distants... Comme déjà précisé, chaque plugin fournit des informations. Il vous dit ce qui ne va pas et propose des solutions pour corriger le(s) problème.
Nous ne pouvons pas parler des plugins sans mentionner CVE (Common Vulnerabilities and Exposures). C'est une énorme base de données disponible à http://cve.mitre.org. Vous y trouverez tout sur les risques de sécurité connus. Un autre lieu incontournable pour le partage des connaissances. Un tel site est la référence absolue à visiter.
Bien sûr, il y aurait des tas de choses à dire sur les plugins mais un livre n'y suffirait pas. Un bon moyen de comprendre leur fonctionnement, comment ils sont écrits, consiste à les lire dans le répertoire /usr/local/lib/nessus/plugins. Encore une fois, merci à Renaud Deraison et aux contributeurs pour ce superbe travail.
Même si ce titre évoque Monty Python, il n'y a malheureusement aucun humour là-dedans. Les trois ou quatre personnes qui lisent mes articles connaissent mes phrases hors-sujet : cette fois-ci, c'est un paragraphe entier ! Est-ce vraiment hors-sujet, c'est une autre histoire. Allons-y.
Comme je m'intéresse à la sécurité informatique, je visite souvent les sites dédiés. Ce peut être pour découvrir de nouvelles vulnérabilités ou pour découvrir de nouveaux outils de sécurité. Par hasard, j'ai découvert quelques produits basés sur des sevices de scan en ligne. En fait, ils se nomment eux-mêmes (au moins pour l'instant) ASP (Application Service Provider). Si vous allez un peu plus loin, vous découvrez rapidement que le moteur derrière le service n'est autre que nessus. Jusque là, ça va. Par contre, si vous essayez de trouver une information explicite, vous ne trouverez même pas le mot "nessus". C'est là que je ne marche plus et que j'ai vraiment envie de me fâcher !
La plupart des gens travaillant pour la communauté du logiciel libre font ça gratuitement et non pour vivre. Le seul salaire qu'ils perçoivent se nomme : crédit (pas au sens bancaire !). Nessus est distribué sous GPL. En clair, tout le monde peut utiliser le produit, le modifier, l'adapter... tant que l'auteur(s) original est cité. Bien sûr, cette licence en dit beaucoup plus. Si vous ne la connaissez pas, jetez un oeil là.
Pour moi, cela ressemble à du vol. Je n'ai même pas besoin d'une licence pour créditer le travail d'autres personnes. J'ai beaucoup de respect pour ces gens qui travaillent gratuitement (presque toujours) et qui partagent avec une communauté (sans doute mon côté soixante-huitard attardé). Ils méritent réellement la reconnaissance de cette communauté. C'est encore plus vrai, lorsque certains essaient de gagner de l'argent à partir du travail de quelqu'un d'autre. Appelez ça respect, reconnaissance, ça n'a aucune importance. Le fait est que ces mots semblent avoir perdu leur signification. Bien sûr, nous pourrions accuser la GPL d'être responsable de ce comportement. Mais, avec l'ASP, vous n'êtes pas considérés comme vendant le logiciel. De plus, selon le pays concerné, la GPL peut n'avoir aucune valeur légale.
Un début de solution au problème serait que les utilisateurs de tels ASP demandent le nom du moteur de scan effectuant réellement le travail. La réponse permettrait au moins de savoir si les gens proposant le service sont "honnêtes". S'ils ne répondent pas ou s'ils vous disent qu'ils ont "inventé" le moteur (dans lequel vous avez reconnu nessus), n'utilisez pas le service ! Installez plutôt nessus (le vrai), de toute manière ce sera plus sûr.
Encore une fois, avons-nous besoin d'une licence pour dire "merci" à des gens ayant accompli un travail formidable et souvent énorme ? Au fait, Renaud Deraison ne veut pas changer de licence : nessus restera GPL.
Pardon pour cette longue digression, mais je crois que ce devait être dit.
Malgré ce dernier paragraphe, ce qui est à retenir de cet article c'est le degré de qualité de nessus. C'est un logiciel vraiment impressionant. Utilisé avec nmap, il devient incontournable lorsque la sécurité est une priorité. C'est un outil très fiable qui évolue en permanence. Merci à Renaud et à ses pairs pour leur mise à jour constante des plugins.
Aujourd'hui, un administrateur peut difficilement travailler sans nessus et nmap. Ces outils sont capables de découvrir des vulnérabilités dont vous pensiez vous être débarrassés. Ca se vérifie pour la plupart des OS présents dans votre réseau. Et lorsque vous savez que certains OS sont des passoires, nessus vous permet de respirer un peu.
Encore mieux, nessus peut vous aider à comprendre la manière dont un réseau (ou un machine) peut être compromis.
Si vous lisez attentivement les rapports produits, les prenez en compte et apportez les corrections adaptées, vous améliorerez considérablement la sécurité de votre réseau (ou machine). J'ai bien dit "améliorerez" : votre réseau ne sera pas sécurisé à 100% simplement parce que vous utilisez nessus. La route vers la sécurité est très longue et nous sommes loin d'en voir le bout.
Encore une fois, merci à la communauté du logiciel libre pour son énorme travail sur la sécurité.
Concernant les charmantes personnes qui essaient de faire de l'argent à partir du travail des membres de la communauté du logiciel libre, je souhaiterais ajouter quelque chose. Dire "merci" n'a rien de honteux. Est-ce si épouvantable d'être honnête ? Si ce type de comportement se répand, le risque est soit la fin de la dite communauté soit un gros changement dans les licences (et probablement, de plus en plus de brevets !). Dans les deux cas, vous vous débrouillerez seuls et les choses deviendront beaucoup plus compliquées pour vous. Et malheureusement, nous n'aurons plus la possibilité d'utiliser du logiciel libre. Cela ne signifie en rien que vous aurez l'opportunité de vendre votre produit. Pensez-y !
Quand je vous dis que nous vivons une époque formidable !
|
Site Web maintenu par l´équipe d´édition LinuxFocus © Georges Tarbouriech, FDL LinuxFocus.org Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus |
Translation information:
|
2001-10-26, generated by lfparser version 2.18