Solaris のシステム管理 (IP サービス)

Oracle Solaris IP フィルタのパケットフィルタリング規則セットの管理

Solaris IP フィルタが有効な場合、アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットの両方をカーネルに置くことができます。アクティブな規則セットによって、受信パケットと送信パケットに対して実行するフィルタリングが決まります。アクティブでない規則セットでも規則を格納します。アクティブでない規則セットは、アクティブな規則セットにしない限り、使用されることはありません。アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットの両方を管理、参照、変更できます。

Procedureアクティブなパケットフィルタリング規則セットを参照する方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. カーネルにロードされているアクティブなパケットフィルタリング規則セットを参照します。


    # ipfstat -io
    

例 26–2 アクティブなパケットフィルタリング規則セットの参照

次の例は、カーネルにロードされたアクティブなパケットフィルタリング規則セットからの出力を示しています。


# ipfstat -io
empty list for ipfilter(out)
pass in quick on dmfe1 from 192.168.1.0/24 to any
pass in all
block in on dmfe1 from 192.168.1.10/32 to any

Procedureアクティブでないパケットフィルタリング規則セットを参照する方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. アクティブでないパケットフィルタリング規則セットを参照します。


    # ipfstat -I -io
    

例 26–3 アクティブでないパケットフィルタリング規則セットの参照

次の例は、アクティブでないパケットフィルタリング規則セットからの出力を示しています。


# ipfstat -I -io
pass out quick on dmfe1 all
pass in quick on dmfe1 all

Procedure別のパケットフィルタリング規則セット、または更新されたパケットフィルタリング規則セットをアクティブにする方法

次のいずれかのタスクを実行する場合には、ここで示す手順を実行します。

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次の手順から 1 つを選択します。

    • まったく異なる規則セットをアクティブにする場合は、別個のファイルを選択し、そこに新規規則セットを作成します。

    • 規則セットを含む構成ファイルを編集して、現在の規則セットを更新します。

  3. 現在の規則セットを削除し、新しい規則セットをロードします。


    # ipf -Fa -f filename
    

    filename には、新しい規則セットを含む新規ファイル、またはアクティブな規則セットを含む更新されたファイルを指定できます。

    アクティブな規則セットがカーネルから削除されます。filename ファイル内の規則がアクティブな規則セットになります。


    注 –

    現在の構成ファイルの再読み込みをしていても、このコマンドを実行する必要があります。実行しないと、以前の規則セットがアクティブであり続けるため、更新した構成ファイル内の変更された規則セットが適用されません。

    更新した規則セットをロードするのに ipf -D svcadm restart などのコマンドを使わないでください。これらのコマンドは、新しい規則セットをロードする前にファイアウォールを無効にするため、ネットワークが危険にさらされます。



例 26–4 別のパケットフィルタリング規則セットのアクティブ化

次の例は、あるパケットフィルタリング規則セットを、別の構成ファイル /etc/ipf/ipf.conf 内の別のパケットフィルタリング規則セットに置換する方法を示しています。


# ipfstat -io
empty list for ipfilter(out)
pass in quick on dmfe all
# ipf -Fa -f /etc/ipf/ipf.conf
# ipfstat -io
empty list for ipfilter(out)
block in log quick from 10.0.0.0/8 to any


例 26–5 更新したパケットフィルタリング規則セットの再読み込み

次の例は、現在アクティブでこれから更新するパケットフィルタリング規則セットを再読み込みする方法を示しています。この例で使用しているファイルは、/etc/ipf/ipf.conf です。


# ipfstat -io (Optional)
empty list for ipfilter (out)
block in log quick from 10.0.0.0/8 to any

(Edit the /etc/ipf/ipf.conf configuration file.)

# ip -Fa -f /etc/ipf/ipf.conf
# ipfstat -io (Optional)
empty list for ipfilter (out)
block in log quick from 10.0.0.0/8 to any
block in quick on elx10 from 192.168.0.0/12 to any

Procedureパケットフィルタリング規則セットを削除する方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 規則セットを削除します。


    # ipf -F [a|i|o]
    
    -a

    すべてのフィルタリング規則を規則セットから削除します。

    -i

    受信パケットのフィルタリング規則を削除します。

    -o

    送信パケットのフィルタリング規則を削除します。


例 26–6 パケットフィルタリング規則セットの削除

次の例は、すべてのフィルタリング規則をアクティブなフィルタリング規則セットから削除する方法を示しています。


# ipfstat -io
block out log on dmf0 all
block in log quick from 10.0.0.0/8 to any
# ipf -Fa
# ipfstat -io
empty list for ipfilter(out)
empty list for ipfilter(in)

Procedureアクティブなパケットフィルタリング規則セットに規則を追加する方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次のいずれかの方法で規則をアクティブな規則セットに追加します。

    • ipf -f - コマンドを使用して、コマンド行で、規則セットに規則を追加します。


      # echo "block in on dmfe1 proto tcp from 10.1.1.1/32 to any" | ipf -f -
      
    • 次のコマンドを実行します。

      1. 適当なファイルに規則セットを作成します。

      2. 作成しておいた規則をアクティブな規則セットに追加します。


        # ipf -f filename
        

        filename の規則がアクティブな規則セットの最後に追加されます。Solaris IP フィルタは「最後に一致した規則を採用する」アルゴリズムを使用するため、quick キーワードを使用していないときは、追加した規則によってフィルタリングの優先順位が決まります。パケットが quick キーワードを含む規則に一致する場合は、その規則に対する処理が実行され、それ以降の規則はチェックされません。


例 26–7 アクティブなパケットフィルタリング規則セットへの規則の追加

次の例は、コマンド行から、アクティブなパケットフィルタリング規則セットに規則を追加する方法を示しています。


# ipfstat -io
empty list for ipfilter(out)
block in log quick from 10.0.0.0/8 to any
# echo "block in on dmfe1 proto tcp from 10.1.1.1/32 to any" | ipf -f -
# ipfstat -io
empty list for ipfilter(out)
block in log quick from 10.0.0.0/8 to any
block in on dmfe1 proto tcp from 10.1.1.1/32 to any

Procedureアクティブでないパケットフィルタリング規則セットに規則を追加する方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 適当なファイルに規則セットを作成します。

  3. 作成しておいた規則をアクティブでない規則セットに追加します。


    # ipf -I -f filename
    

    filename の規則がアクティブでない規則セットの最後に追加されます。Solaris IP フィルタは「最後に一致した規則を採用する」アルゴリズムを使用するため、quick キーワードを使用していないときは、追加した規則によってフィルタリングの優先順位が決まります。パケットが quick キーワードを含む規則に一致する場合は、その規則に対する処理が実行され、それ以降の規則はチェックされません。


例 26–8 アクティブでない規則セットへの規則の追加

次の例は、ファイルからアクティブでない規則セットに規則を追加する方法を示しています。


# ipfstat -I -io
pass out quick on dmfe1 all
pass in quick on dmfe1 all
# ipf -I -f /etc/ipf/ipf.conf
# ipfstat -I -io
pass out quick on dmfe1 all
pass in quick on dmfe1 all
block in log quick from 10.0.0.0/8 to any

Procedureアクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットを切り替える方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. アクティブな規則セットとアクティブでない規則セットを切り替えます。


    # ipf -s
    

    このコマンドを使用すると、カーネル内のアクティブな規則セットとアクティブでない規則セットを切り替えることができます。なお、アクティブでない規則セットが空の場合は、パケットフィルタリングは行われません。


例 26–9 アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットの切り替え

次の例は、ipf - s コマンドの使用によって、どのようにアクティブでない規則セットがアクティブな規則セットになり、アクティブな規則セットがアクティブでない規則セットになるのかを示しています。


Procedureカーネルからアクティブでないパケットフィルタリング規則セットを削除する方法

  1. IP Filter Management の権利プロファイルを持つ役割またはスーパーユーザーになります。

    IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 全削除コマンドで、アクティブでない規則セットを指定します。


    # ipf -I -Fa
    

    このコマンドが、アクティブでない規則セットをカーネルから消去します。


    注 –

    続けて ipf -s を実行すると、空のアクティブでない規則セットがアクティブな規則セットになります。アクティブな規則セットが空の場合は、フィルタリングが行われません



例 26–10 カーネルからのアクティブでないパケットフィルタリング規則セットの削除

次の例は、すべての規則が削除されるように、アクティブでないパケットフィルタリング規則セットを消去する方法を示しています。


# ipfstat -I -io
empty list for inactive ipfilter(out)
block in log quick from 10.0.0.0/8 to any
block in on dmfe1 proto tcp from 10.1.1.1/32 to any
# ipf -I -Fa
# ipfstat -I -io
empty list for inactive ipfilter(out)
empty list for inactive ipfilter(in)