Work on TP3
This commit is contained in:
parent
d3abdfa1d1
commit
1aa9530f3a
8 changed files with 130 additions and 103 deletions
|
|
@ -5,7 +5,7 @@ Les capabilities
|
|||
|
||||
## Présentation
|
||||
|
||||
Historiquement, dans la tradition UNIX, on distingue deux catégories de
|
||||
Historiquement, dans la tradition UNIX, on distingait deux catégories de
|
||||
processus :
|
||||
|
||||
* les processus *privilégiés* : dont l'identifiant de son utilisateur est 0 ;
|
||||
|
|
@ -40,16 +40,16 @@ faire, il est nécessaire de pouvoir écrire directement sur l'interface ; ça,
|
|||
seul le super-utilisateur peut le faire.
|
||||
|
||||
Pour permettre à tous les utilisateurs de pouvoir envoyer des ping, le
|
||||
programme est donc généralement Setuid root. Cela permet à n'importe quel
|
||||
programme est donc généralement *Setuid root*. Cela permet à n'importe quel
|
||||
utilisateur de prendre les droits du super-utilisateur, le temps de l'exécution
|
||||
du programme.
|
||||
|
||||
Les problèmes surviennent lorsque l'on découvre des vulnérabilités dans les
|
||||
programmes Setuid root. En effet, s'il devient possible pour un utilisateur
|
||||
programmes *Setuid root*. En effet, s'il devient possible pour un utilisateur
|
||||
d'exécuter du code arbitraire, ce code sera exécuté avec les privilèges de
|
||||
l'utilisateur root ! Dans le cas de ping, on se retrouverait alors à pouvoir
|
||||
lire l'intégralité de la mémoire, alors que l'on avait juste besoin d'écrire
|
||||
sur une interface réseau.
|
||||
l'utilisateur *root* ! Dans le cas de `ping`, on se retrouverait alors à
|
||||
pouvoir lire l'intégralité de la mémoire, alors que l'on avait juste besoin
|
||||
d'écrire sur une interface réseau.
|
||||
|
||||
C'est donc à ce moment que les *capabilities* entrent en jeu : un processus (ou
|
||||
même un thread) privilégié peut décider, généralement à son lancement, de
|
||||
|
|
@ -197,4 +197,4 @@ Et de ces quelques articles :
|
|||
|
||||
Pour revenir à Docker, par défaut, un certain nombre de *capabilities* sont
|
||||
désactivées par défaut ; vous pouvez en ajouter et en retirer via les arguments
|
||||
`--cap-add` et `--cap-drop` du `docker run`.
|
||||
`--cap-add` et `--cap-drop` du `docker container run`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue