Next: Détections des intrusions.
Up: Contre-mesures.
Previous: Rendre la vie difficile
Table des matières
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: Détections des intrusions.
Up: Contre-mesures.
Previous: Rendre la vie difficile
Table des matières
1-01-2006