9. Journalisation, audit, et surveillance

a. Syslog

Syslog est un logiciel de base des systèmes Gnu/Linux, c'est un système de journalisation des messages produits par le système et les logiciels. Il offre la possibilité de les archiver localement, dans des fichiers, ou bien de les envoyer vers une machine du réseau, qui sera par exemple destinée à recevoir tous les logs des autres machines du réseau. Quasiment tous les problèmes peuvent donc être détectés grâce à une analyse de ces fichiers journaux.


Dans le cas d'un parc, une centralisation des journaux sur une machine dédiée à leur analyse présente beaucoup d'avantages. Il faut dans ce cas là lancer le démon de log sur la machine qui servira à les recevoir avec l'option « -r » pour accepter les logs venant depuis le réseau, et configurer l'envoi sur les machines clientes dans le fichier de configuration de syslog (par exemple, pour envoyer tos les messages de niveau info ou supérieur sur la machine d'IP 10.0.69.2 :

*.info; @10.0.69.2


On pourra par la suite mettre en place des outils d'analyse de journaux et de remontée d'évènements. On peut en citer quelques uns :

_ Swatch, outil d'analyse des logs en Perl

_ LogCheck, outil d'analyse basé sur le système Cron

_ LogWatch


La plupart des éléments mis en oeuvre dans les communications réseaux permettent de conserver des traces dans les journaux. Une bonne procédure d'analyse des journaux serait donc de centraliser les logs sur une machine, de procéder à une analyse quotidienne de ces logs par un des mécanismes ci dessus, avec envoi de rapport à l'administrateur système des anomalies, en mettant en relation les événements semblables se produisant sur des machines différentes.


b. Prise d'empreinte

Des outils permettent la prise d'empreinte des fichiers binaires du système, juste après l'installation par exemple, quand le système est sain, puis le plus souvent possible de manière à identifier toute modification des fichiers critiques.


On pourra citer TripWire, qui crée ainsi une base de données du système lors d'une phase d'initialisation, qui contient une signature de tous les fichiers à surveiller (avec entre autres un hash MD5 du fichier, date de création et de modification, propriétaire, taille, numéro d'inode,...). Une vérification de modification d'empreintre est réalisé régulièrement, et l'administrateur est avisé de toute modification de l'intégrité d'un fichier. La base de données peut être chiffrée à fin d'éviter toute modification malveillante de celle ci.


c. RootKits

ChkRootKit est un logiciel qui permet de rechercher si un rootkit est installé sur sa machine. Un RootKit est un ensemble de programmes permettant d'infecter une machine tout en cachant ces traces. Typiquement, il remplace un certain nombre d'outils système ( ls, ps, netstat ...) pour que les utilisateurs de la machine ne puissent pas voir ces traces, des personnes malveillantes arrivent à l'installer suite à l'exploitation d'une faille dans un système. Le but principal des RootKit est d'obtenir un accès privilégié (accès avec droits du super-utilisateur par exemple), à fin de pouvoir effectuer n'importe quelle action sur la machine. Un passage de ce logiciel chaque nuit, avec un envoi des résultat et une analyse de ceux ci chaque jour est un bon moyen de détecter au plus vite la compromission d'une machine. L'exécution de ce logiciel devrait faire partie de tout audit sécuritaire d'une machine Gnu/Linux.


On peut le trouver à cette adresse : http://www.chkrootkit.org/


d. Audit réseau

Les audit réseaux sont primordiaux, car ils permettent de détecter d'éventuelles failles réseaux. On pourra distinguer deux types d'outils parmi d'autres, on verra un scanner, et un logiciel de vérification de failles.


Un scanner extrêmement connu est Nmap, ce type de logiciel tente d'établir des connexions sur des ports d'une machine, permettant de vérifier quels ports sont en écoute sur cette machine. On peut aussi analyser toute une étendue de machines. Il convient de surveiller si tous les services en écoute le sont bien de par la volonté du mainteneur de la machine. On verra avec Nessus si ces processus peuvent présenter à priori une faille dans le système d'information.


On trouve Nmap à cette adresse : http://www.insecure.org/nmap


Nessus est un logiciel d'audit système et réseau. Il dispose d'une base de connaissances recensant un grand nombre de vulnérabilités systèmes connues, et il est basé sur Nmap, dont il intègre les principales fonctionnalités. La base de connaissance est basée sur un système de plugins, et évolue donc régulièrement.

Nessus peut détecter la version d'un logiciel en écoute sur le réseau non pas en fonction de la bannière de celui ci, mais en fonction de son comportement. Il est capable de reproduire différentes attaques spécifiques à la version précise d'un logiciel, ou bien plus génériques.


Nessus produit ensuite un rapport d'audit expliquant quels services peuvent poser un problème de sécurité. Ce type d'audit est à reproduire régulièrement, avec une mise à jour de la base de connaissance.


On peut le trouver ici : http://www.nessus.org


e. Snort

Snort est un système de détection d'intrusion (communément appelé NIDS). Ce type de système permet de détecter toute attaque du réseau, par l'empreinte de celle-ci reconnue par un système de surveillance en écoute sur le réseau. Ce type de système pourra par exemple détecter toute tentative de scan depuis l'extérieur, ce qui pourra déclencher différentes actions, telles qu'un simple avertissement à l'administrateur, jusqu'au vérouillage du réseau. Une sonde SNORT sera placée par exemple dans une DMZ, et les rapport de SNORT seront analysés parallèlement aux journaux systèmes pour évaluer la force de l'attaque.


On trouvera SNORT sur ce site : http://www.snort.org



8. Sauvegardes
Sommaire
10. Attaques DOS