TCPリクエストが特定のIPアドレスに送信されるたびに、基本的な拒否ルールを設定する方法についてヒントを教えてもらえますか?PFパケットフィルターを使用しています。何か助けは?
最も基本的な形式は、_/etc/pf.conf
_構成で次のようになります。
_block from any to 192.0.2.2
# which is equivalent to:
block drop from any to 192.0.2.2
_
デフォルトでは、このblock
アクションはdrop
送信元IPからのすべてのインターフェースでany
パケットsilentlyになります、両方向。クライアントはブロックされていることに気付いていないため、タイムアウトになり、再試行する可能性があります...
_block return
_は、 'friendly neighbor'方法で、respondingプロトコル固有の方法で、TCP RST(リセット)またはICMP UNREACHABLEパケットを使用します。クライアントはこの情報を使用して、あきらめるか、まともな方法で再試行できます。
_block return from any to 192.0.2.2
_
デフォルトのblock
の動作は、_set block-policy
_オプションを使用して変更できます。
より複雑な例-しかし、ルールセットが拡大し始めると、管理と読み取りが容易になります。
_mybadhosts = "{ 192.0.2.2, 203.0.113.0/24 }"
ext_if = "em0"
block return on $ext_if from any to $mybadhosts # example #1
block return on em0 from any to { 192.0.2.2, 203.0.113.0/24 } # ^expanded form
block drop out on egress from any to $mybadhosts # example #2
_
例#1変数、リスト_{}
_、ネットマスク_/24
_の簡単な使用法を示し、インターフェース_em0
_。 (変数は$記号なしで定義されます、クォートは削除されます、実行時にルールが展開されます)
例#2out
送信パケットをegress
インターフェースグループにドロップします(ifconfig(8)
を参照) )
関連項目: