¿Cómo puedo hacer sandbox en una aplicación Wine en Linux?

1

Me gustaría ejecutar programas de Microsoft Office como Word pero no confío en ellos, ni nadie debería. Sin ejecutar una máquina virtual, ¿existe una buena manera de utilizar una aplicación de Windows para ejecutar sandbox en Linux? He intentado usar firejail (bloquear todo el acceso a la red y el sistema de archivos falso temporal) con Wine pero no pude hacer funcionar Excel o Word.

    
pregunta Joe 19.08.2018 - 16:54
fuente

2 respuestas

1

Personalmente, implementaría el perfil de seguridad con algunos MAC para eso. Si ejecuta Ubuntu, entonces, de fábrica, tiene AppArmor. Tiene un nivel de entrada más bajo en comparación con SELinux, por lo que tiene menos posibilidades de configuración incorrecta. Puede restringir el acceso a la red y el acceso al sistema de archivos, de modo que Word solo podrá acceder a los documentos en una carpeta dedicada.

Por cierto: desde la perspectiva de la seguridad, tener Wine en tu entorno Linux es una mala idea, ya que te hace vulnerable a cierta variedad de malware de Windows.

    
respondido por el tegoo 19.08.2018 - 17:10
fuente
1

Puede ejecutar wine dentro de los contenedores docker para aislarlo de su sistema host. La ventana acoplable no admite aplicaciones GUI por sí sola, pero es posible.

Eche un vistazo a x11docker para ejecutar aplicaciones GUI en la ventana acoplable . También hay una descripción de configuraciones cortas sin x11docker .

También hay una imagen de vino lista para usar en el centro de la ventana acoplable: x11docker / lxde-wine

Ejemplo: vino en el escritorio LXDE acoplado (necesita un servidor X anidado como, por ejemplo, Xephyr ):

x11docker --desktop --home x11docker/lxde-wine

La imagen también contiene PlayOnLinux. Ejecuta Playonlinux con:

x11docker --home x11docker/lxde-wine playonlinux

(La opción --home crea una carpeta de inicio persistente para el contenedor de vino para preservar las instalaciones de vino instaladas.)

Descargo de responsabilidad: soy el autor de x11docker, perdón por la publicidad

Configuración sin x11docker para proporcionar una respuesta independiente. Carece de algunas características de seguridad x11docker, pero básicamente funciona y es mucho mejor que instalar wine en host:

Dockerfile para construir una imagen de Wine + PlayOnLinux:

FROM debian:stretch
ENV DEBIAN_FRONTEND noninteractive

# contrib for winetricks, stretch-backports for latest wine
RUN echo "deb http://deb.debian.org/debian stretch contrib" >> /etc/apt/sources.list && \
    echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list

# Multiarch for wine32, wine, some often needed dependencies:
RUN dpkg --add-architecture i386 && apt-get update && \
    apt-get -t stretch-backports install -y wine

# helpful additions
RUN apt-get install -y fonts-wine winetricks ttf-mscorefonts-installer winbind

# wine gecko and mono
RUN mkdir -p /usr/share/wine/gecko && \
    cd /usr/share/wine/gecko && wget https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi && \
    wget https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi && \
    mkdir -p /usr/share/wine/mono && \
    cd /usr/share/wine/mono  && wget https://dl.winehq.org/wine/wine-mono/4.7.1/wine-mono-4.7.1.msi

# PlayOnLinux
RUN apt-get install -y playonlinux xterm gettext

CMD playonlinux

Comando para ejecutar la imagen de PlayOnLinux:

# folder on host to store settings and installations
mkdir -p ~/winehome
# allow X access for user in container
xhost +SI:localuser:$(id -un)  
docker run --rm \
    --env DISPLAY=$DISPLAY \
    --user=$(id -u):$(id -g) \
    --env USER=$(id -un) \
    --volume /tmp/.X11-unix:/tmp/.X11-unix \
    --volume ~/winehome:/home/$(id -un) \
    --env HOME=/home/$(id -un) \
    --ipc=host \
    playonlinuximage
    
respondido por el mviereck 19.08.2018 - 20:09
fuente

Lea otras preguntas en las etiquetas