|
|
Ce document 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 nessusd
Pour 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