Parfois, on a pas le choix, et on doit utiliser des logiciels qu'on déteste, comme Skype.
Et on aimerait bien pouvoir se protéger de ce binaire complètement fermé, mais comment ? Ma solution consiste à créer un second utilisateur sur le système (un compte séparé de notre compte principal) qui permettra de restreindre les accès des logiciels dont on a pas confiance.
Une fois ceci réalisé, rien de plus simple pour exécuter skype me direz-vous :
sudo -u sandbox ./skype
avec sandbox le fameux compte séparé. Mais ça ne marche pas toujours. Dernièrement, en passant à Fedora 14, ça ne marchait plus. Le message d'erreur: No protocol specified
En allant sur Internet, j'ai trouvé quelqu'un qui avait le même problème. C'est Xorg qui refuse l'accès au serveur par skype.
La solution la plus sauvage (donne l'accès sans restriction, même par le réseau) :
mildred@meryl:~$ xhost +
Mais une solution un peu plus fine permettra de rester mieux sécurisé :
mildred@meryl:~$ xhost +SI:localuser:sandbox
mildred@meryl:~$ xhost
access control enabled, only authorized clients can connect
SI:localuser:sandbox
SI:localuser:mildred sandbox ./skype
mildred@meryl:~$ sudo -u sandbox ~/skype-2.1.0.81/skype
Voilà qui est mieux.
Attention: Il est tout à fait possible pour une application vraiment méchante de faire des choses pas correctes du tout grâce à l'accès qu'elle à au serveur X. Si vous voulez vraiment vous protéger complètement, mieux vaut utiliser d'autres mécanismes comme SELinux et sandbox -X. Mais là, l'application n'aura pas accès à PulseAudio et pourra mal marcher :/
# Sécurité vis à vis du réseau, et tout particulièrement de localhost
Posté par Olivier (site web personnel) . Évalué à 7.
En effet, skype ainsi lancé à accès à tout le réseau de la machine, dont notamment :
- les connexions à Internet, où il peut envoyer ce qu'il veut. Bon, ca c'est connu depuis longtemps
- les connexions aux réseau local : 192.168.x.x, 10.x.x.x : Donc, attention si il y a un partage de fichiers NFS, SMB, FTP, ou autre qui n'a pas de mot de passe
- les connexions réseaux localhost (127.0.0.1). Là, c'est encore plus délicat, car cette interface est généralement moins sécurisé (c'est assez rare que l'on se pirate soit-même). Donc, si il y a du portmap, SMTP, SMB, ou autre en localhost, Skype peut aussi y acceder
=> Pour réduire les risques, on peut mettre en place un filtrage netfilter / iptables, qui restreint les accès à un certain utilisateur (ici "sandbox"). Voir , rechercher http://linux.die.net/man/8/iptables --uid-owner ou --gid-owner
Enfin, c'est évident mais il faut le souligner, skype a aussi accès au / : Donc:
- attentions aux périphériques externes montées dans le /media/
- attention aux montages réseaux (SMB, NFS, ...) montés généralement dans le /mnt/
- attention bien sur au /home, dont il faut proteger les accès
- /tmp est aussi assez critique, car généralement autorisé en écriture pour tout le monde...
- enfin, d'autres répertoires (/root, /etc avec son passwd notamment), sont aussi sensibles.
=> Pour tout ces répertoires, un bon usages des droits d'accès UNIX aux fichiers (chown, chmod, ...) permet de limiter les problèmes.
A la rigueur, il serait préférable de faire tourner Skype dans un environnement virtualisé, comme VirtualBox. Mais cela ne résout pas tout les problèmes.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.