Go to main content
Oracle® Solaris 11.3 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2016 年 11 月
 
 

パケットフィルタ規則の処理

PF は、「最後に一致した」ポリシーに従って規則を処理します。つまり、パケットに対するポリシー決定は、そのパケットに一致した最後の規則によって決定されます。このポリシーでは、規則の最適な順序として、最初を一般に適用可能な規則にし、規則セット内のあとの方をより詳細な一致パラメータにすることを推奨しています。

たとえば、次の規則セットを考えてみます。

block in from any to any
pass in from any to any port = 22
pass in from any to any port = 25

最初の規則は、すべてのインバウンドパケットをブロックします。続く規則は、宛先ポート番号を一致させます。

    そのため、パケットがポート 22 に到着すると、PF はそれを次のように処理します。

  1. ブロックの規則を適用します。

  2. ポート 22 の規則を適用します。これが、そのパケットに一致します。PF は、その一致をメモリー内に保持します。

  3. ポート 25 の規則を適用します。これは、そのパケットに一致しません。

PF は、そのパケットをすべての規則に対してチェックしたあと、ポート 22 の規則が成功したためにそのパケットを転送します。

quick キーワードは例外です。規則に quick キーワードが含まれている場合、その規則のアクションがただちに実行され、それ以上の規則はそのパケットに適用されません。

block in from any to any
pass in quick from any to any port = 22
pass in from any to any port = 25

ファイアウォールを介して同じパケットを通し、この規則セットを使用した場合、PF は 2 番目の規則が適用されるとただちにそのパケットに対して pass アクションを実行します。quick キーワードは、そのパケットのそれ以上のチェックを停止するため、3 番目の規則は適用されません。

詳細は、pfctl(1M) および pf.conf(5) のマニュアルページを参照してください。