Para ejecutar ciertos programas de Windows en WINE, necesita esta solución:
echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope
Según los sitios web de soporte, esto se debe a un error en el kernel de Ubuntu que impide que ptrace y WINE se reproduzcan bien juntos.
Usando el comando anterior, establece el ptrace en 0 que, según la investigación que he realizado (no me pregunte qué sitios web, me parecen muchos), ptrace tiene que ver con las interacciones entre los programas. El ajuste 0 es más permisivo que el 1.
Tengo que suponer que había una buena razón por la que Ubuntu quería el ptrace = 1, por lo que esto me lleva de vuelta a la forma breve de la pregunta.
¿Existe algún riesgo al establecer ptrace = 0? Baja seguridad? problemas de depuración? ¿Alguna otra en la que no haya pensado?
PD: para cualquiera que lea esto y se pregunte qué causa el error, los programas de Windows no se abrirán en absoluto, en el Monitor del sistema verá muchas instancias del programa que intenta abrirse y luego todos se cerrarán y si ejecuta el programa para el terminal, recibirá un error que le indica que se ha alcanzado el número máximo de instancias de programa.
Respuestas:
Respuesta corta: no hay peligro práctico todavía, pero sigue leyendo para una mejor manera ...
¿Qué es esta cosa de Ptrace de todos modos?
No, la protección de ptrace es una medida deliberada de seguridad del núcleo que se introdujo por primera vez alrededor de Ubuntu 10.10. No es un error , por lo que no se va a "arreglar".
En términos simples, el
ptrace_scope
valor predeterminado de1
bloquea un proceso para que no examine y modifique otro proceso a menos que el segundo proceso (secundario) haya sido iniciado por el primer proceso (primario).Esto puede causar problemas con algunos programas en Wine debido a la forma en que
wineserver
proporciona "Servicios de Windows" a estos programas.¿Cuáles son los riesgos de plantear
ptrace_scope
a0
?Esto restaura el comportamiento anterior en el que un proceso puede "rastrear" otro proceso, incluso si no hay una relación padre-hijo.
En teoría, una pieza de malware puede usar esto para dañarlo a usted / su computadora; por ejemplo, se puede conectar a Firefox y registrar todas sus URL / contraseñas, etc. En la práctica, esto es extremadamente improbable a menos que instale ciegamente debs binarios desde sitios aleatorios, etc.
En lo que respecta a la depuración, la
0
configuración es, de hecho, necesaria paragdb
,strace
etc., adjuntar a personas que no son niños a menos que las ejecute con privilegios elevados (sudo).¿Cuáles son los problemas con la solución?
ptrace_scope
es un valor global y, aunque está configurado como0
, todos los procesos en su sistema están exentos de la restricción no secundaria.ptrace_scope
que se pueda escribir en el mundo (666) como recomienda la publicación del foro, ¡eso es un gran riesgo de seguridad porque ahora cualquier proceso puede cambiarlo a voluntad!¿Hay una mejor solución?
Una mejor solución que es más segura y no requiere la modificación repetitiva de ptrace_scope es otorgar capacidades de WtraServer ptrace .
En una terminal:
Exime al wineserver y vino preloader binarios de la restricción ptrace no infantil, y les permite PTRACE cualquier proceso.
Si estás usando Crossover
Instala libcap2:
Luego, agregue una excepción para Crossover:
Finalmente, agregue sus bibliotecas a ld.so.conf (o obtendrá "error al cargar las bibliotecas compartidas: libwine.so.1: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio"):
fuente
En ubuntuforums.org obtuve una respuesta con el siguiente enlace
https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection
Aquí está la pasta del enlace (con mi énfasis agregado)
Entonces, supongo que la respuesta corta sería que es menos seguro, pero la capucha de una computadora personal que se enfrenta a este tipo de ataques sería bastante delgada.
fuente
ACTUALIZAR Las instrucciones anteriores:
no funciona a partir del 15/09/2018 en Ubuntu 18.04.1 y PlayOnLinux v.4.2.12 usando la última versión estable Wine que es v.3.0.1 libcap2 ya estaba instalada.
El mensaje de error en Gnome Terminal es el siguiente:
No estoy seguro de lo que eso significa ... pero pensé en ponerlo a disposición de cualquiera para que lo interprete y tal vez tenga una solución nueva y viable.
Gracias.
fuente