Pour exécuter certains programmes Windows dans WINE, vous avez besoin de cette solution de contournement:
echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope
Selon les sites Web d'assistance, cela est dû à un bogue dans le noyau Ubuntu empêchant ptrace et WINE de bien jouer ensemble.
En utilisant la commande ci-dessus, vous réglez ptrace sur 0. D'après les recherches que j'ai effectuées (ne me demandez pas quels sites Web, j'en ai l'air nombreux), ptrace concerne les interactions entre les programmes. Le réglage 0 est plus permissif que le 1.
Je dois supposer qu'il y avait une bonne raison pour qu'Ubuntu veuille le ptrace = 1, donc cela me ramène à la forme abrégée de la question.
Existe-t-il des risques lors de la définition de ptrace = 0? Sécurité moindre? problèmes de débogage? d'autres que je n'ai pas pensé ???
PS pour quiconque lit ceci qui se demande ce que le bogue cause, les programmes Windows ne pourront pas s'ouvrir du tout, dans le Moniteur système, vous verrez de nombreuses instances du programme essayant de s'ouvrir, puis ils finiront tous par quitter et si vous exécutez le programme pour le terminal, vous obtiendrez une erreur vous indiquant que le nombre maximal d'instances de programme a été atteint.
Réponses:
Réponse courte: pas encore de danger pratique, mais poursuivez votre lecture pour une meilleure solution ...
C'est quoi ce truc ptrace quand même?
Non, la protection ptrace est une mesure de sécurité délibérée du noyau introduite pour la première fois autour d'Ubuntu 10.10. Ce n'est pas un bug et ne va donc pas être "corrigé".
En termes simples, la
ptrace_scope
valeur par défaut1
empêchant un processus d’examiner et de modifier un autre processus à moins que le second processus (enfant) ne soit démarré par le premier processus (parent).Cela peut causer des problèmes avec certains programmes sous Wine en raison de la façon dont ils
wineserver
fournissent les "Services Windows" à ces programmes.Quels sont les risques dans la mise
ptrace_scope
à0
?Cela restaure l'ancien comportement dans lequel un processus peut "suivre" un autre processus, même en l'absence de relation parent-enfant.
En théorie, un programme malveillant peut l'utiliser pour vous / votre ordinateur; Par exemple, il peut se connecter à Firefox et enregistrer toutes vos URL / mots de passe, etc. Dans la pratique, cela est extrêmement improbable si vous n'installez pas aveuglément des debs binaires à partir de sites aléatoires, etc.
En ce qui concerne le débogage va, les
0
paramètres sont en effet requis pourgdb
,strace
etc. pour attacher aux non-enfants , à moins de les exécuter avec des privilèges élevés (sudo).Quels sont les problèmes avec la solution de contournement?
ptrace_scope
s'agit d'une valeur globale et, bien qu'elle soit définie sur0
, tous les processus de votre système sont exemptés de la restriction non-enfant.ptrace_scope
monde d'écrire (666) comme le recommande le post du forum - cela représente un risque énorme pour la sécurité car maintenant, tout processus peut le changer à volonté!Y a-t-il une meilleure solution?
Une meilleure solution, plus sécurisée et ne nécessitant pas de modifications répétitives ptrace_scope, consiste à accorder des fonctionnalités ptrace à Wineserver .
Dans un terminal:
Exonère les WINESERVER et vin Preloader binaires de la restriction ptrace non-enfant, et leur permet de ptrace tout processus.
Si vous utilisez Crossover
Installez libcap2:
Ensuite, ajoutez une exception pour Crossover:
Enfin, ajoutez ses bibliothèques à ld.so.conf (ou vous obtiendrez une "erreur lors du chargement de bibliothèques partagées: libwine.so.1: impossible d’ouvrir un fichier objet partagé: aucun fichier ou répertoire de ce type"):
la source
Dans le ubuntuforums.org j'ai eu une réponse avec le lien suivant
https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection
voici la pâte du lien (avec mon emphase ajoutée)
Donc, je suppose que la réponse courte serait qu’il est moins sécurisé, mais le capot d’un ordinateur soumis à ce type d’attaques serait plutôt mince.
la source
MISE À JOUR Les instructions ci-dessus:
ne fonctionne pas à partir du 15/09/2018 sur Ubuntu 18.04.1 et PlayOnLinux v.4.2.12 avec la dernière version stable Wine, v.3.0.1, libcap2 était déjà installée.
Le message d'erreur dans Gnome Terminal est le suivant:
Je ne sais pas ce que cela signifie… mais je pensais que tout le monde pourrait l'interpréter et peut-être trouver une nouvelle solution viable.
Merci.
la source