XYアプリケーション/ユーザーのみを許可するiptables / pfルール?


8

たとえば、送信TCPポート80、eth0などのXYアプリケーションのみを許可するiptables / pfソリューションはないと思います。したがって、ユーザーIDが「500」の場合、他の通信をどのようにブロックできますか?次に、ポート80 / outbound / tcp / eth0で言及されている通信をブロックできますか?(例:privoxyがeth0でポート80を使用している)

追加:virtualboxもポート80を使用していますか?ゲストOSのブラウザーがサイトにアクセスしたとき。-通常のユーザーを設定すると、穴が多すぎます


確かに、この質問を2つ(またはそれ以上)の質問に分割した方が簡単かもしれません... bsdのものはLinuxのものとはかなり異なるものになるでしょう...そして、多くの点で、仮想ボックスの質問もあります。私は「iptablesを介してアプリケーション/ユーザーXYのみを許可する方法」と「pfを介してアプリケーション/ユーザーXYのみを許可する方法」は良い質問だと個人的に思っています。
xenoterracide

回答:


8

これは、特定のポートを介して特定iptablesを許可するコマンドuidです。

iptables -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner username -j ACCEPT 

マニュアルページから

[!] --uid-owner userid [-userid]パケットソケットのファイル構造(ファイル構造がある場合)が特定のユーザーによって所有されている場合に一致します。数値のUIDまたはUIDの範囲を指定することもできます。

virtualboxまで..私はそれがそれ自身のカーネルを実行していると信じています... --uid-ownerホストOSでvirtualboxのofbox を使いたいかもしれませんが--uid-owner、仮想マシンにも所有者ルールを持っているかもしれません。

--gid-ownerも存在することに注意してください。グループbrowsersgidブラウザアプリを作成して、効果的なグループで実行し、browser閲覧したいユーザーのみをそのグループに配置することもできます。これは、完璧な解決策...しかし、ほとんどのユーザーはそのグループとして他のアプリを実行しようとしないため、通常、送信をそのアプリケーションに制限します。私はこれを試したことがないので、私が説明したように機能することは100%ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.