GNU/Linux >> Linux の 問題 >  >> Linux

Linux で特定のプログラムへのインターネット アクセスをブロックする方法

解決策 1:

私にとっての解決策はたまたま簡単でした.

<オール>
  • 新しいグループの作成、検証;必要なユーザーをこのグループに追加します:
    • 作成:groupadd no-internet
    • 検証:grep no-internet /etc/group
    • ユーザーを追加:useradd -g no-internet username

      注:既存のユーザーを変更する場合は、usermod -a -G no-internet userName を実行する必要があります。 で確認してください:sudo groups userName

  • スクリプトを作成する あなたのパスに入れ、それを実行可能にします:
    • 作成:nano /home/username/.local/bin/no-internet
    • 実行可能ファイル:chmod 755 /home/username/.local/bin/no-internet
    • コンテンツ:#!/bin/bash
      sg no-internet "[email protected]"

  • iptables ルールを追加 グループ no-internet のネットワーク アクティビティをドロップするため :
    • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

      注:再起動後に自動的に適用されるように、変更を永続的にすることを忘れないでください。それを行うかどうかは、Linux ディストリビューションによって異なります。

  • 4. たとえば、Firefox で以下を実行して確認します。

    • no-internet "firefox"

    例外を作成して、プログラムが ローカル ネットワーク にアクセスできるようにしたい場合 :

    • iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
    • iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT
    • iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP

    注: スポーンの場合、ルールは維持されます。たとえば、no-internet でプログラムを実行するとします。 ルールとそのプログラムはブラウザ ウィンドウを開きますが、ルールは適用されます。

    解決策 2:

    より簡単な方法:firejail を使用します .サンドボックス内でアプリケーションを実行します。サンドボックスでは、コンピューター内の任意のネットワークまたはフォルダーへのアプリケーションのアクセスを制御できます。

    ネットワーク アクセスなしで特定のアプリケーションを実行するには、次の手順を実行します。

    firejail --net=none <application>
    

    その場合、「サンドボックスは、ネットワーク インターフェイスのないコンピューターのように見えます」。 (ドキュメントのネットワーク セクションを参照)

    例:firejail --net=none firefox ネットワークに接続せずに Firefox を起動します。

    インストール

    インストールのドキュメントを参照してください。ディストリビューションのパッケージ システムからインストールするか、最新バージョンの LTS を入手することをお勧めします。 (たとえば、この最新の LTS バージョン、9.56.2 、Ubuntu 16.04 でも動作します。)


    Linux
    1. Linux –プロセスのネットワークアクセスをブロックしますか?

    2. Linux でファイル アクセスを監査する方法

    3. プロセスのネットワーク アクセスをブロックしますか?

    1. gdbを使用してLinuxでCプログラムをデバッグする方法

    2. Windows10およびWSL2でLinuxファイルシステムにアクセスする方法

    3. Linux – LinuxでIptablesを使用して、LAN上の特定のユーザーのインターネットアクセスを制限する方法は?

    1. Redhat7Linuxで仮想ネットワークインターフェースを設定する方法

    2. Linuxでbashスクリプトを使用してインターネットアクセスをチェックするには?

    3. Wine で実行されているプログラムのインターネット アクセスを無効にするにはどうすればよいですか?