sécuriser skype

Bonjour,

Comme beaucoup le savent, le fonctionnement de Skype reste très flou concernant la sécurité et de surcroît le chiffrement empêchant de contrôler ce qu’ il fait exactement. On sait qu’ il est capable de pomper des infos sur le compte utilisateur (fichiers bittorrent téléchargés entre autre…)

bugbrother.blog.lemonde.fr/2011/ … a-lhadopi/
zdnet.fr/actualites/inria-de … 765208.htm

Mais pour ceux qui sont obligés d’ utiliser ce logiciel propriétaire (professionnels, amis, famille.) ?

Skype affirme avoir corrigé ces failles, mais rien ne le prouve, voici une astuce concrète pour l’ empêcher de collecter des infos sur le compte utilisateur

#adduser skype #adduser skype audio #adduser skype video
interdire le compte utilisateur en lecture écriture pour les autres:

interdire au user du compte/session d’ utiliser Skype

#chown root:skype /usr/bin/skype #chmod 750 /usr/bin/skype

éditer un fichier qui s’ appellera skype.sh dans /usr/local/bin

#!/bin/sh xhost +local: && sudo -H -u skype skype

le rendre exécutable avec les droits :

modifier le fichier /etc/sudoers en ajoutant cette ligne :

explications :
xhost +local : l’ utilisateur skype doit pouvoir se servir de l ’ environnement graphique (serveur d’ affichage)
sudo -H -u skype skype : root se logue en simple utilisateur skype (donc il n’ est plus root) au droits restreints sinon que de se servir du logiciel

ne reste plus qu ’ à créer un lanceur sur le tableau de bord:
Code:

ou
editer /usr/share/applications/skype.desktop et remplacer par cette ligne:

changer le umask par défaut pour éviter de refaire un chmod à chaque création d’ un nouveau dossier:
Editez le fichier /etc/login.defs , remplacez la ligne

UMASK 022

par

UMASK 027

Editez le fichier /etc/pam.d/login et ajoutez la ligne suivante :

bonjour,
j’ai eu beaucoup de mal à installer Skype sur une wheezy amélioré,
il tourne, dernier package skype!

donc:

sudo /usr/local/bin/skype.sh
c’est normal qu’il soit exécuté sous root?
A+
JB1
8)

salut,
En fait root ne fait que lancer la commande mais c’ est le user skype qu’ on a crée qui lance le logiciel skype, (tu peux vérifier avec un netstat -taupe une fois lancé, il te donne l’utilisateur et le pid du process donc tu peut être rassuré, root n’intervient plus)

sinon tu peux aussi faire en 2 temps dans le terminal sans passer par root:
su skype
skype

mais impossible de mettre ça dans un script pour automatiser car il demande mot de passe et ensuite il faut ressaisir skype car le script s’ est arrêté du fait du changement de login.

c’ est vrai que sur un système 64 bits, il n’ est pas simple à installer:
j’ ai procédé ainsi:

[code]# wget -O skype-install.deb http://www.skype.com/go/getskype-linux-deb-64

dpkg -i skype-install.deb

installation incomplète donc ensuite:

apt-get -f install[/code]

[quote=“nykoos”]sinon tu peux aussi faire en 2 temps dans le terminal sans passer par root:
su skype
skype

mais impossible de mettre ça dans un script pour automatiser car il demande mot de passe et ensuite il faut ressaisir skype car le script s’ est arrêté du fait du changement de login.[/quote]
su -c ‘skype’ skype ? :wink:

Attention, faire un xhost comme ça entraîne d’autres problèmes de sécurité : tous les utilisateurs de ta machine ont maintenant le droit d’accéder à ton serveur X.
Perso je me dirigerais plutôt vers sux qui transfère les cookies d’authentification X proprement et uniquement à l’utilisateur concerné (skype).

Sinon le principe est pas bête. Je pousserais même la chose un peu plus loin en m’assurant d’un umask 0?7 sur tous les comptes (et des droits correspondants chmod -R o-rwxs /home/*) histoire que Skype aille pas fouiller sur les autres comptes. :mrgreen:

Si je ne me plante pas, un ‘sudo skype skype.sh’ a l’avantage de pouvoir être lancé sans mot de passe (via la modification déjà proposée de sudoers).

@ nykoos : On l’oublie souvent (trop facilement), mais la syntaxe complète pour une commande sudo est ‘sudo [utilisateur] commande’.
Il n’y a que si la variable ‘utilisateur’ n’est pas renseignée que root est choisi par défaut.

Si je ne me plante pas, un ‘sudo skype skype.sh’ a l’avantage de pouvoir être lancé sans mot de passe (via la modification déjà proposée de sudoers).[/quote]
Exact.
Du coup on se retrouve avec n’importe quel utilisateur pouvant accéder à ton profil Skype. Selon l’utilisation qui est faite de la machine (mono ou multi utilisateurs) ça peut être plus ou moins gênant, mais je crois que sudo peut restreindre aussi les utilisateurs ayant le droit d’exécuter une commande donnée.

Exactement ! :023
C’est le cas de la ligne proposée par nykoos dans son premier message.

xhost me va très bien mais paufiner avec une authentification pour le xserver pourquoi pas, mais bon avec un chmod -o rwx sur tout le répertoire, les autres utilisateurs ne feront pas grand chose non plus. Oui c’ est une bonne idée avec un umask qui évitera de refaire le chmod à chaque création d’ un nouveau dossier

je laisse la commande tel que: xhost +local: && sudo -H -u skype skype parcequ’il il faut de toute façon modifier le sudoers.

Question newbie :
en modifiant le lanceur /usr/share/applications/skype.desktop, je change Exec=skype %U en Exec=/usr/local/bin/skype.sh %UJe laisse le %U pour charger l’utilisateur par défaut, c’est bien ça ?

[quote=“jarlax”]Question newbie :
en modifiant le lanceur /usr/share/applications/skype.desktop, je change Exec=skype %U en Exec=/usr/local/bin/skype.sh %UJe laisse le %U pour charger l’utilisateur par défaut, c’est bien ça ?[/quote]

oui c’ est bien cela, sauf qu’il faut mettre le sudo puisque la commande est dans le sudoers

[quote]oui c’ est bien cela, sauf qu’il faut mettre le sudo puisque la commande est dans le sudoers

Effectivement : il m’a râlé dessus sur ce point au lancement, j’ai eu à corriger, ça marche.

[quote=“jarlax”][quote]oui c’ est bien cela, sauf qu’il faut mettre le sudo puisque la commande est dans le sudoers

Effectivement : il m’a râlé dessus sur ce point au lancement, j’ai eu à corriger, ça marche.[/quote]

certains programmes ne prennent pas en compte l’ umask par défaut, j’ai donc rajouté cette ligne dans cron:

#crontab -e

[quote]certains programmes ne prennent pas en compte l’ umask par défaut, j’ai donc rajouté cette ligne dans cron:

[code]#crontab -e

*/30 * * * * /bin/chmod -R o-rwx /home/utilisateur[/code][/quote]Ne maîtrisant pas les cron et crontab, je vais garder ce réglage sous le coude avant de l’appliquer… Néanmoins, après test, skype se log sans problème.

J’ai appliqué cette méthode sur une autre machine (même pc, même configuration que la mienne), ça marchait très bien, mais depuis un moment, pour une raison inconnue, le lanceur ne lance plus skype. Je ne peux le lancer que si je fais un /usr/local/bin/skype.sh explicite sur un terminal.

Le lanceur lance (les deux sont sous lxde) :sudo /usr/local/bin/skype.sh %U
Le /usr/share/applications/skype.desktop :[code]Exec=sudo /usr/local/bin/skype.sh %U

#que j’ai modifié en
Exec=skype %U
#ou en
Exec=skype.sh %U
#avec ou sans sudo[/code]
Un ls -l /usr/local/bin/skype.sh me donne un owner différent que sur ma machine :[code]ls -l /usr/local/bin/skype.sh
#machine concernée
652638 -rwxr-x-r-x 1 root root 51 févr. 24 14:18 /usr/local/bin/skype.sh*

#ma machine (qui marche)
-rwxr-xr-x 1 root staff 50 Nov 25 11:12 /usr/local/bin/skype.sh*[/code]Mais, toutes mes applications dans ce repertoire sont en root staff là où toutes celles de la machine concernée sont en root root.

Bref, je ne vois pas où ça coince…

slt

dans le lanceur de mon tableau de bord, la commande se résume à

je n’ ai pas essayé avec /usr/share/applications/skype.desktop

Retour d’expérience après quelques mois d’utilisation de ce mode.

J’ai utilisé ce tuto sur deux machines différentes, mêmes modèle, même système, même configuration, dans un cas avec succès, dans l’autre non.

Sur le mien, tout fonctionne à un point près : si je souhaite contacter un correspondant, seul celui-ci peut initier une conversation, sans quoi mes messages restent non-lus.

Sur le second système, la connexion au réseau est difficile : je dois relancer le programme 4 ou 5 fois avant qu’il arrive à se connecter.
Le problème cité plus haut se présente aussi.
Le bouton ne fonctionnant pas malgré un réglage “copie conforme” des fichiers de conf de ma machine sur la seconde, je ne pouvais lancer le programme que via un terminal (même si les fichiers icônes et autres pointaient vers /usr/local/bin/skype.sh).
Au final, j’ai dû réinstaller un skype sans tous ses réglages.

Étant en train de regarder les chroot, serait-ce un outil à considérer pour la sécurité de Skype ?

bonjour
Je relance ce sujet car je constate souvent que skype est un peu trop gourmand en ressources systèmes, j’ai donc fait une analyse plus approfondie pour savoir ce qu’il fait exactement, le constat est sans appel: skype va bien fouiner dans les dossiers qui ne le concerne pas et je le soupçonne même fortement de se servir de librairies de wireshark et tcpdump mais là je ne peux pas le prouver avec certitude, il se sert en effet de Backbone qui fait peut être office de backdoor, (dans les recherches google, Backbone est cité dans l’espionnage réseau exemple cables sous marins etc, si vous avez une idée de son utilité ? on va revoir cela un peu plus loin, déjà je reviens sur les manips que j’ai effectué:

1-analyse de ce que fait skype et preuve qu’il est impératif de le lancer sous un autre user aux droits limités de lecture mais cependant insuffisant car n’oublions pas que skype a été installé par root et il est fort possible qu’il puisse s’octroyer via /etc/group les droits de lecture comme bon lui semble.
2-création d’un profil apparmor qui démontre ce qui est dit précédement.

1-analyse
installer strace
lancer skype
ps -aux | grep skype
noter le numéro pid du process. exemple skype 24160 2.1 2.1 311436 86328 ? Rl 10:12 0:54 skype

# strace -f -p24160 &>skype.log &
dans les fichier skype.log c’est du lourd, appelez votre pote sur skype ou faite une visio conférence.
maintenant accrochez vous exemple pour mozilla:
grep mozilla skype.log
j’ai des dizaines de lignes comme

[pid 24398] stat64("/home/skype/.mozilla/firefox/sgptvrcr.default/safebrowsing/test-phish-simple.cache", {st_mode=S_IFREG|0770, st_size=44, ...}) = 0 ou [pid 24398] stat64("/home/skype/.mozilla/seamonkey/kkuv0w6p.default/localstore.rdf", {st_mode=S_IFREG|0770, st_size=5166, ...}) = 0

laisser le tourner une heure
taper par exemple torrent ou ce que vous voulez, preuve /9 que skype va dans les dossiers qui ne le concerne pas.
ici le user est skype, il ferait la même chose s’il était lancé depuis votre propre user.

2- il faut lui créer un profil apparmor pour le calmer
installez apparmor
pour activer apparmor au démarrage il faut l’activer dans /etc/default/grub la ligne :
GRUB_CMDLINE_LINUX_DEFAULT="security=apparmor quiet"
update-grub
rebooter la machine

il faut lui crée un profil skype dans un fichier usr.bin.skype se trouvant dans /etc/apparmor.d
dans ce fichier:

[code]#include <tunables/global>

/usr/bin/skype flags=(complain) {

#include <abstractions/base>
#include <abstractions/user-tmp>
#include <abstractions/audio>
#include <abstractions/nameservice>
#include <abstractions/ssl_certs>
#include <abstractions/fonts>
#include <abstractions/X>
#include <abstractions/freedesktop.org>
#include <abstractions/kde>

/usr/bin/skype mr,
/opt/skype/skype pix,
/opt/skype/** kmr,
/usr/share/fonts/X11/** m,

@{PROC}/*/net/arp r,
@{PROC}/sys/kernel/ostype r,
@{PROC}/sys/kernel/osrelease r,

/dev/ r,
/dev/tty rw,
/dev/snd/* mrw,
/dev/shm/ r,
/dev/shm/pulse-shm-* mrw,
/etc/pulse/client.conf r,
/dev/pts/* rw,
/dev/video* mrw,

@{HOME}/.Skype/ rw,
@{HOME}/.Skype/** krw,
/usr/share/skype/** kmr,
/usr/share/skype/sounds/*.wav kr,

deny @{HOME}/.mozilla/ r,
deny @{PROC}/[0-9]/fd/ r,
deny @{PROC}/[0-9]
/task/ r,
deny @{PROC}/[0-9]*/task/** r,

}[/code]

aa-enforce skype
invoke-rc.d apparmor reload

les profils dont skype sont maintenant en mode enforce et non complain
vérification
apparmor_status

lancer skype
maintenant allons voir les logs apparmor dans /var/log/messages

tiens tiens !

que voulait faire dans /etc/group avec Backbone qui possède uid 0 de root !?
qui est ce fameux Backbone dont se sert skype ? en tout cas apparmor l’a bien empêché d’allé fouiné dans /etc/group

faisons une petite recherche depuis la racine:
grep -rn “Backbone” /

Fichier binaire /usr/sbin/tcpdump concordant Fichier binaire /usr/lib/libwireshark.so.2.0.2 concordant

question: mais que veut faire skype avec tcpdump libwireshark ??
faites donc un grep Backbone skype.log , c’est du lourd… skype se servirait il de wireshark,tcpdump ? je ne sais pas encore mais cela expliquerait les montées de ressources CPU quand skype est lancé et que l’on l’utilise.

conclusion: virer skype de votre machine ou installer le dans une virtualbox sans aucun programme à sa disposition, l'activation de apparmor est de toute façon impérative..

C’est flippant. Enfin moi je l’utilise pas, mais quand même…

Belle démonstration en tous cas.

Ah quand même !!!

Voilà pourquoi il ne faut pas utiliser de logiciels dont le code source n’est pas au moins ouvert (si ce n’est libre)…

Ca vaudrait le coup de creuser le sujet à fond car ça a vraiment l’air d’être une belle saloperie.

En tout cas plus jamais je n’installe cette merde sur n’importe laquelle de mes machines ! Si c’est déjà ce dont le logiciel est capable, imaginez ce que Microsoft fait des données qui transitent sur son réseau… Vous avez dit NSA ? Même plus besoin, Microsoft s’en charge !

Dans le même ordre d’idée, pour info pour ceux qui ne sauraient pas : numerama.com/magazine/27476- … e-maj.html

Microsoft, cette belle entreprise…

j’ai prévenu mes contacts que je virais skype de mon ordi en faisant référence à ce topic, même pas envie de l’utiliser avec vitual-box, maintenant uniquement SIP ou JABBER. je modifie le titre sécuriser skype en virer skype.