next up previous contents Next:  Détections des intrusions. Up: Contre-mesures. Previous:  Rendre la vie difficile   Table des matières  

47.3.9  Modèles de sécurité usuels.

Les pirates ont des ressources limitées. L'investissement que requiert un piratage doit être comparé aux chances de succès de celui-ci. On pourrait représenter cela par un rapport ``investissement du pirate / chance de succès''. Si vous sentez que ce rapport est bas pour la machine que vous administrez, vous devrez vous investir davantage et envisager des méthodes comme celles décrites ci-dessous. En poussant à l'extrême, il est possible de si bien sécuriser un système LINUX que le budget de la Défense d'un gouvernement ne suffirait pas à le craquer.

Privilèges (capabilities):
il s'agit d'une approche sécuritaire qui donne un accès superutilisateur limité aux programmes qui, normallement, doivent agir comme véritables exécutables à setuid root. En effet, en majorité, les processus exécutés avec les privilèges de root (setuid) fonctionnent précisément avec ces privilèges parce qu'ils doivent accèder à une seule fonction privilégiée. Par exemple, le programme ping nécessite les droits de superutilisateur (lancez ls -l /bin/ping et vous constaterez la présence d'un bit setuid). Les ``capabilities'' constituent un jeu de privilèges réglables finement qui indiquent à un processus qu'il peut agir là où un utilisateur normal ne pourrait le faire, sans avoir un plein accès root. Dans le cas de la commande ping, le privilège serait un type d'accès au réseau que seul root est normalement en droit de pratiquer.

Listes de contrôle d'accès:
ces listes étendent les droits simples ``utilisateur/groupe/autres'' des fichiers UNIX de manière à permettre à certains groupes d'utilisateurs d'accéder à certains fichiers. Ces listes n'agissent pas sur la sécurité du réseau mais elles sont utiles lorsqu'il y a de nombreux utilisateurs sur votre système et que vous voulez limiter leurs actions. Une ACL [NdT: ACL est l'acronyme d'Access Control List. Il s'agit d'une liste des personnes ayant le droit d'accéder à une ressource (un fichier, un réseau ...)] n'a pas vraiment sa place dans les listes dont nous venons de discuter).

DTE:
Il s'agit de l'acronyme pour Domain and Type Enforcement. Quel en est le fonctionnement: quand un programme est exécuté, il entre dans une catégorie et il n'est autorisé à réaliser que certaines opérations, même lorsqu'il est exécuté au nom de root. Ces restrictions de comportement sont étendues aux processus-fils que ce programme peut engendrer. Il s'agit d'une méthode de sécurité réelle et il existe des correctifs du noyau pour accomplir ces restrictions de comportement. La NSA (National Security Agency aux Etats-Unis) utilise une distribution LINUX construite avec le DTE.

meduse:
il s'agit d'un système de sécurité qui amène le noyau à interroger un démon utilisateur avant qu'un processus quelconque n'entreprenne une action. Il est omniprésent car il est entièrement configurable au point que les restrictions peuvent porter sur tout ce que vous souhaitez.

VXE:
Il s'agit de l'acronyme pour Virtual eXecuting Environment. Cet environnement impose à un programme d'être exécuté dans son propre espace (protégé) pendant que VXE exécute un programme Lisp pour vérifier qu'un appel système est autorisé. VXE est très semblable à medusa.

MAC:
Mandatory Access Controls. Ce système de sécurité traite aussi de l'environnement virtuel des processus. MAC est une norme POSIX.

RSBAC et RBAC:
Rule-Set-Based Access Controls et Role-Based Access Controls. Il s'agit principalement d'une combinaison des systèmes présentés ci-dessus.

LIDS:
Linux Intrusion Detection System prend de simples mesures préventives pour empêcher le chargement de modules, les modifications de fichiers et l'affichage d'informations relatives aux processus.
Des correctifs existent aussi pour le noyau afin de mettre en oeuvre les procédures qui précèdent. La plupart de ces projets sont matûres désormais mais, pour autant, ils ne sont pas systématiquement retenus dans les noyaux, probablement parce que les développeurs ne sont pas certains de ce qui doit être l'approche idéale en termes de sécurité UNIX. Tous les projets ont un point commun: la double vérification des processus privilégiés, ce qui -en soi- est une très bonne chose.


next up previous contents Next:  Détections des intrusions. Up: Contre-mesures. Previous:  Rendre la vie difficile   Table des matières  
1-01-2006