ワインアプリケーションのインターネットアクセスをブロックする方法は?


39

特定のワインアプリケーションまたはインターネットアプリケーションがインターネットにアクセスするのをどのように防ぐことができますか?

Windowsで特定のアプリケーションを使用する場合、明確な理由なしに時々インターネットにアクセスしようとしていました。私は当時、パーソナルファイアウォールでその動作を防ぐことができました。残念ながら、今までUbuntuにはアプリケーションレベルのファイアウォールが見つかりませんでした。これは、3Gモデムでデータローミングを使用して海外にいるときに特に面倒です。


私のnoinetプリロードを試すことができます。 askubuntu.com/questions/249826/...
ESCOR

できます 回答を拡張する/ nftablesで機能する追加の回答を提供しますか?
dirdi

回答:


29

Ubuntuフォーラムには、特定のプログラムがインターネットにアクセスするのをブロックするための素晴らしいチュートリアルがあります

手順

sudo addgroup no-internet  # Create group "no-internet"
sudo adduser $USER no-internet  # Add current user to no-internet

そのグループがネットワークにアクセスするのを防ぐiptablesルール

sudo iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
sudo ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP # To also block IPv6 traffic

sg またはsudo -g(別のグループIDとしてコマンドを実行)を使用してインターネットにアクセスしたくないプロセス:

sg no-internet -c "processFullPath args"

基本的には、新しいグループを作成し、インターネットアクセスを拒否してから、そのグループIDとして制限するプログラムを実行します。したがって、あなたの場合、チュートリアルで説明されている方法を使用して常にwineを実行するだけです。


2
ありがとう、それだけです!しかし、なぜ誰かがあなたに投票を拒否したのかはわかりません。あなたの答えはまさに私が望んでいたことです。
YSN

リンクをたどるのはすばらしい答えですが、DVは主にリンクの回答であるためだと思います。方法が必要な場合は、フォーラムにアクセスする必要があります。とは言うものの、それは私から賛成を得た。
RobotHumans

1
詳述するには:新しいグループでコマンドを実行するには:を使用しますsg no-internet -c "command args"。また、このiptableルールはpingをドロップしないようです。したがって、動作しているかどうかをテストする場合は、代わりにnetcatを使用してください。編集:私はまた注意した:それはIPv6接続をドロップしないので、IPv4のUDPとTCPのみをブロックしました。
ハイエンジェル

1
@ Hi-Angelは、おそらく同じ引数である必要がありip6tablesます。
パブロA

16

グループを作り、そのメンバーになる

addgroup wino

adduser $USER wino

次に、iptablesそのグループがインターネットを使用するのをブロックするルールを入力します。ターミナルでこれを入力し、Enterキーを押します。

iptables -A OUTPUT -m owner --gid-owner wino -j REJECT

systemdを使用iptables-persistent saveして各リブート後にこのルールを実行するには、iptables-persistentパッケージから使用します。

rc-localを使用する場合:ルールをに入れることができ/etc/rc.localます。そのテキストファイルの最後の行がであることを確認してくださいexit 0

使用例:

sg wino "wine executablename.exe"

" "また、プログラム名の前にwineを入力する必要があります。


2
usermod追加するコマンドを編集しました-a。なければ-a、あなたは他のすべての補助グループ(などからユーザーを削除することになりますadmincdromなど)!addgroup/ を使用する方が便利adduserです。
gertvdijk

-a自分を修正しようとしていました。はい、rootとしてwineを起動しないでください!iptablesルールを作成するにはrootのみが必要です。使用例は、これらの手順を実行した後の一般ユーザー向けです。
マーク

ああ、ごめんなさい、私の間違い。コメントを削除しました。
gertvdijk

@gertvdijkコマンドをもう一度編集したのadduser <username> <groupname>は、ここで賢明なことです。
ガントバート

1
インターネットがそのプログラムに対してブロックされていることをデフォルトにする可能性はありますか(つまり、プログラムをingすることsgによって呼び出しを廃止しchownます)?
ボナンザ

8
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp.1.1"=dword:00000000
"ProxyOverride"="<local>"
"ProxyServer"="http://NonExistantProxyAddress:80"
"User Agent"="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"

wine(またはplayonlinux仮想ドライブ)レジストリに追加するには:

グループを使用するよりもはるかに簡単なソリューション

http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/へのクレジット

編集:コメントのオタクがレジストリ設定を追加してTCPをブロックするのを待っている間、http//support.microsoft.com/en-us/kb/154596(ポートをゼロに設定したり、設定を作成したような音)エラーは確かにtcp / udp接続をブロックします;しかし、私はまだその問題にまだ直面していないので、回避策の必要はありません)


3
これは、プロキシ設定を優先するソフトウェアへのアクセスをブロックするだけです。ほとんどの場合、これは有効ではありません。したがって、これは有効なソリューションではありません。
K1773R

1
どっちが好き?(polで使用していたすべてのソフトウェアが実際にブロックされました)。したがって、私はあなたの声明に納得していません:それは多くの場合有効であり、一部ではないかもしれませんが、どれですか?
ミカクン

2
いいえ、ちがいます。例えば; TCPを介してhost:portに接続するだけのソフトウェアは引き続き機能します。HTTPプロキシ設定は、プログラムが認識し、尊重しなければならないものです。あなたが私を信じていないなら、TCPを介して別のホストに接続するソフトウェアを取得/コンパイルして、自分で確認してください。
K1773R
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.