Ubuntu - 選択した少数のアプリケーションを除くすべてのアプリケーションへのインターネットアクセスをブロックする

Ubuntu - 選択した少数のアプリケーションを除くすべてのアプリケーションへのインターネットアクセスをブロックする

選択した 1 つまたは 2 つのアプリケーションを除くすべてのアプリケーションがインターネットにアクセスできないようにする方法を探していました。

私は、Uncomplicated Firewall (ufw) とそれに対応する GUI (gufw) を調べました。

ここに画像の説明を入力してください

しかし、gufw には、特定のプログラムによるインターネットへのアクセスをブロックするオプションがないようです (Windows ファイアウォールでは、送信ルールでこれを実行します)。

質問:どうすればそれを実現できるか誰か知っていますか?

答え1

gufwおよびその他のデフォルトで出荷されるファイアウォールは、アプリケーションによるフィルタリングを行うようには設計されていません。 は、 のgufwシンプルな GUI フロントエンドでありufw、アプリケーション レベルでのフィルタリングを行うようには設計されていません。IP、ポートなどに基づいて基本的なフィルタリング ルールを設定するためのシンプルなフロントエンドにすぎません。

ufwあなたが探しているのは、Linuxの標準的なファイアウォールのルールセットを超えるものですgufwいくつかの提案された方法(リンクされているものはグループベースのコントロールなので、ネットにアクセスしたいアプリケーションを特定のグループに追加する必要があります)しかし、次のような他のアプリケーションもあります。ドゥアン、アプリケーション層でもこれを行う可能性があります。

答え2

インターネットアクセスをブロックする方法の1つは、アプリケーションごとそれは「サンドボックス化」です。

多くの場合、アプリケーション間のネットワークアクセスはファイアウォールルールによって間接的に制御されます。通常、アプリケーションは一貫した方法で通信しようとします(特定のポート/アドレス、またはからファイアウォールを使用すると、特定のポート/アドレスへのアクセスをブロックして、アプリケーションがインターネット (または他のコンピュータ) にアクセスできないようにすることができます。ただし、アプリケーションが一貫した方法で通信しない場合は、そのネットワークをすべてブロックすることを確実にするファイアウォール ルールを作成するのは非常に困難です。また、動作させたいアプリケーションが同じポート/アドレスを使用して通信する可能性があり、ファイアウォールが両方のアプリケーションをブロックする可能性があります。

サンドボックスとは、アプリケーション用に別の環境を作成するための戦略全般を指す用語です。サンドボックス化の一般的な理由の1つは、アプリケーションが何とやりとりしているかを完全に把握することです。アプリケーションは、明示的に許可しない限り、「サンドボックス」の外部にアクセスすることはできません。

完全なセットアップについては説明しませんが、Docker や Kubernetes などのソフトウェアはまさにこれを念頭に置いて設計されており、「コンテナー」(別名サンドボックス) 内で実行されているソフトウェアへのネットワーク アクセスを最小限または可能な限り多く許可することができます。

言うまでもなく、実行には多くの作業が必要ですすべてコンテナ内ですが、特に懸念しているアプリケーションがいくつかある場合は、それらに対して価値がある可能性があります。

答え3

GNU/Linux 用 Douane パーソナルファイアウォール

考えられる解決策を 1 つ見つけました:GNU/Linux 用 Douane パーソナルファイアウォール-ランディングページ新しいホームページ

しかし、Ubuntu 用のパッケージバージョンは見つかりませんでした。


サポート:

  • アプリケーション/ライブラリによって生成される送信接続
  • プロトコル: すべて (NetFilter と同じ)
  • 方向: 発信 - リスニング

サポートされていません:

  • 非ユーザー空間接続: netbios/etc... (カーネル)
  • Iptables (douane では使用されませんが、douane と併用することをお勧めします)
  • 方向: 受信 (そのためには iptables を使用します)

すべてがかなりよく説明されているように見えるのでDouane - GitLab コンパイル ページコンパイルプロセスに問題はないようです。

関連情報