プロセス別ファイアウォール?

プロセス別ファイアウォール?

読みましたが、プロセス固有のファイアウォールルールを作成する方法が見つからないようです。わかりました。iptables --uid-ownerただし、これは発信トラフィックにのみ適用されます。スクリプトの作成を検討しましたが、netstatプロセスiptablesが短時間でのみアクティブになると、スクリプトはこれを見逃す可能性があるため、これは非常に非効率的です。デフォルトでは、他のプロセスは影響を受けずにそのままにして、プロセスのポートと宛先に特定の制限を適用したいと思います。どんなアイデアがありますか?


ちなみにselinuxはこれを行うことができ、かなりうまくいきます。しかし、設定するのは少し痛いです。

答え1

あなたの質問は次のようによく似ていますhttps://stackoverflow.com/questions/5451206/linux-per-program-firewall-similar-to-windows-and-mac-counterparts

iptablesの所有者モジュールがありましたが、--cmd-owner正常に動作しなかったため削除されました。今、最初のベータ版でヒョウの花利用可能な場合は、ユーザースペースデーモンを介して問題を解決します。

通常、プロセス固有のファイアウォールは、プログラムを実際に分離して制限しない限り、あまり役に立ちません。これには、TOMOYO Linux、SELinux、AppArmor、grsecurity、SMACKなどのセキュリティソリューションを検討する必要があります。

答え2

簡単です。他のユーザーとしてプロセスを実行し、「--uid-owner」を使用してください。 :)

答え3

特定のcgroup2階層に関連するソケットフィルタリングを可能にするman 8 iptables-extensionsおよび「cgroup」オプションを確認してください。独自のcgroupを使用して特定のプロセスを実行できる場合、これはOUTPUTチェーンとINPUTチェーンの両方で機能します。ただし、マニュアルページではINPUTチェーンで使用することに関する警告を提供するため、プロセス/プログラムについてテストする必要があります。そしてYMMV。

答え4

(完全に)ベースではありませんが、iptables次のものを使用できます。これ。他のオプションもありますが、アプリごとに機能します。

確認するウィキペディアインストールやその他のトラブルシューティングのため。

関連情報