同じホストのプロセス間通信をフィルタリングするためのPFファイアウォールルールを作成する方法は?

同じホストのプロセス間通信をフィルタリングするためのPFファイアウォールルールを作成する方法は?

同じホストのプロセス間通信をフィルタリングするためのPFファイアウォールルールを作成する方法は?

このページを読みながらmanルールを適用するには、パケットが特定のインターフェイスを物理的に通過する必要があり、ローカルインターフェイスから別のローカルインターフェイスに送信されたパケットはホストのTCP / IPスタックによって処理され、フィルタリングされないことがわかります。

しかし、ローカルインターフェイスから他のローカルインターフェイスへのすべてのトラフィックをフィルタリングするためのPFファイアウォールルールをどのように作成できますか?例:

DROP <local-src-ip>:<local-src-port> -> <local-target-ip>:<local-target-port>

答え1

PFファイアウォールルールを作成する方法[...]

方法論について質問していますか?それとも、そのような規則の例を挙げることができますか?とにかく、これを自分で行うのは難しくないと言いたいです。

userPfには(および)などのフィルタリング基準の概念があるため、group必要な戦略を実行できる必要があります。

man pf.conf:「…

user ユーザー- このルールは、指定されたユーザーが所有するソケットパケットにのみ適用されます。ファイアウォールで開始された発信接続の場合、接続を開いたユーザーです。ファイアウォール自体に着信接続の場合、これは宛先ポートでリッスンするユーザーです。

… 」

ループバックインターフェイスからすべてのトラフィックを記録することから始めます。このタイプの通信にはループバックが使用されるためです。一部のチュートリアルでは、set skip on lo0これを当然のように指示しますが、明らかに反対の規則が必要なので、それを破棄します。 - キーワードを使用してルールセットをホストに属するアドレスに制限することもできますが、(self)これは必ずしも必要ではありません。

Pfは、さまざまなポートとバージョン間で大きく異なる可能性があることに注意してください。たとえば、MacOSに付属している機能は古く、マニュアルページに記載されているものとは異なり、一部の機能は正しく機能しません。

関連情報