プロセスへのインターネットアクセスをブロックし、プロセスの実行中にブロックを解除できますか?
ベストアンサー1
答えは「状況によって異なる」です。
アプリケーションは既知のリモートサービスセットにアクセスしますか、それとも特定の(固有の)ポートセットを使用しますか?どちらの場合も、これらのリモートアドレスまたはポートへのアクセスのみをブロックするルールを作成できます。
独自のネットワーク名前空間でプロセスを開始する場合(おそらく外部の世界にアクセスするために偽装)、アプリケーション固有のルールを作成するのは非常に簡単です。なぜなら、(a)名前空間 - ローカルネットフィルタルールを作成し、(b)グローバルネットフィルタを作成できるからです。 IPまたはデバイスごとにアプリケーションの名前空間を参照するルール。独自のネットワーク名前空間内でプロセスを実行する最も一般的な方法は、DockerやPodmanなどのコンテナランタイムを使用することです。ただし、Linuxシステムですでに利用可能であるか、または
unshare
を使用して手動で実行することもできます。ip
手動で設定するのは難しいかもしれません。アプリケーションが特定のユーザーまたはグループIDで実行されている場合は、iptables
owner
モジュールを使用してこれらの条件を使用して一致させることができます。