読みましたが、プロセス固有のファイアウォールルールを作成する方法が見つからないようです。わかりました。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。