Come posso sandbox un'applicazione Wine su Linux?

1

Vorrei eseguire programmi di Microsoft Office come Word ma non mi fido di loro, né chiunque altro. Senza eseguire una macchina virtuale, c'è un buon modo per sandbox un'applicazione Windows per l'esecuzione su Linux. Ho provato a usare firejail (blocco di tutti gli accessi di rete e filesystem temporanei finti) con Wine ma non riesco a far funzionare Excel o Word.

    
posta Joe 19.08.2018 - 16:54
fonte

2 risposte

1

Personalmente, implementerei il profilo di sicurezza con un MAC per questo. Se usi Ubuntu, allora hai AppArmor. Ha un entry level inferiore rispetto a SELinux, quindi hai meno possibilità di missconfiguration. Puoi limitare l'accesso alla rete e l'accesso al filesystem, in modo che Word possa accedere solo ai documenti nella cartella dedicata.

BTW: dal punto di vista della sicurezza avere Wine nel tuo ambiente Linux è una cattiva idea in quanto ti rende vulnerabile ad alcuni tipi di malware di Windows.

    
risposta data 19.08.2018 - 17:10
fonte
1

Puoi eseguire wine all'interno dei finestra mobile per isolarlo dal tuo sistema host. la finestra mobile non supporta le applicazioni GUI da solo, ma è possibile.

Dai un'occhiata a x11docker per eseguire applicazioni GUI nella finestra mobile . C'è anche una descrizione della configurazioni brevi senza x11docker .

C'è anche un'immagine pronta per l'uso vino al mozzo finestra mobile: x11docker / LXDE-vino

Esempio: wine su desktop LXDE ancorato (richiede un server X nidificato come ad esempio Xephyr ):

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

L'immagine contiene anche PlayOnLinux. Esegui Playonlinux con:

x11docker --home x11docker/lxde-wine playonlinux

(Opzione --home crea una cartella home persistente per il contenitore del vino per conservare le installazioni di vino installate.)

Disclaimer: io sono l'autore di x11docker, mi dispiace per la pubblicità

Impostazione senza x11docker per fornire una risposta indipendente. Manca alcune funzionalità di sicurezza x11docker, ma in pratica funziona ed è molto meglio che installare wine su host:

Dockerfile per costruire un vino + immagine 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 per eseguire l'immagine di 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
    
risposta data 19.08.2018 - 20:09
fonte

Leggi altre domande sui tag