web-dev-qa-db-ja.com

サンドボックスでプログラムを実行する方法は?

LinuxでWindowsプログラムを実行するためにPlayOnLinuxを使用しています。 PlayOnLinuxは、インストールされているプログラムごとに仮想ドライブを作成し、すべてのVDは異なるWindowsを表しますXPコンピューター。

プログラムによって行われた変更は、独自のVD内にのみとどまります。したがって、ウイルスを使用してプログラムを実行した場合、プログラムのVDを削除するだけで問題はありません。

Linuxプログラムを仮想ドライブで実行できるようにする同様のプログラムはありますか?つまり、PlayOnLinux/WineからWindowsエミュレーションを差し引いたものが必要です。

7
Kshitiz Sharma

Firejail、Linux用のSandboxieのようなソフトウェア、GUIを共有したいと思います。

ここを見てください: https://firejail.wordpress.com/ そして https://sourceforge.net/projects/firejail/ または https ://pkgs.org/debian-sid/debian-main-AMD64/firejail_0.9.38-1_AMD64.deb.html (システムに変更)

使いやすい;コマンド/ソフトウェアの上でfirejailを実行するだけです。その場合はfirejail wine program.exe

これらのプログラムを実行する前に検査したい場合は、firejail wine winedbg --gdb program.exeを使用してそれらをすべてチェーンし、ワインデバッガーをjailedで実行できます。

多分あなたはそれがどれだけ良いことができるかについて考えています。複雑なサンドボックス化の例として、firejailed wordpressインストールを完全に実行する方法をご覧ください。 https://www.digitalocean.com/community/tutorials/how-to -use-firejail-to-set-up-a-wordpress-installation-in-a-jailed-environment

バイナリブロブ(exe)の一部を絶対に信頼しないでください。

2
m3nda

Linux-vserverカーネルパッチと関連するユーザースペース( http://linux-vserver.org/ を参照)を使用すると、ゲストOSの完全な仮想化を必要とせずに、独自の隔離されたコンテナーでプログラムを実行できます。

linux-vserverコンテナーには、独自のマウント名前空間、独自のネットワーク名前空間、独自のセキュリティコンテキストなどがあります。

ただし、linux-vserverは主にサーバーを実行するように設計されていることに注意してください。デスクトップアプリケーションはlinux-vserverコンテナで実行できますが、何をしているのかを知る必要があります。

もう1つのアプローチは、AppArmorを使用して、プログラムが実行できることを制限することです。

1
András Korn

わからないので完全な答えを出すことはできませんが、私が知っているのは、コマンド chroot は、まったく同じ目的ではないにしても、同様の目的で設計されているということです。

1
Karthik T