ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 でのネットワークのセキュリティー保護 Oracle Solaris 11.1 Information Library (日本語) |
3. Web サーバーと Secure Sockets Layer プロトコル
4. Oracle Solaris の IP フィルタ (概要)
アクティブでないパケットフィルタリング規則セットを参照する方法
別のパケットフィルタリング規則セット、または更新されたパケットフィルタリング規則セットをアクティブにする方法
アクティブなパケットフィルタリング規則セットに規則を追加する方法
アクティブでないパケットフィルタリング規則セットに規則を追加する方法
アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットを切り替える方法
次のような場合、パケットフィルタリングと NAT 規則を変更または非アクティブ化したほうがよいこともあります。
テスト目的
問題の原因が IP フィルタにあると考えられる場合のシステムのトラブルシューティングを行う
次のタスクマップに、IP フィルタの規則セットに関連するタスクを示します。
表 5-2 IP フィルタ規則セットの操作 (タスクマップ)
|
IP フィルタにより、アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットの両方をカーネルに置くことができます。アクティブな規則セットによって、受信パケットと送信パケットに対して実行するフィルタリングが決まります。アクティブでない規則セットでも規則を格納します。アクティブでない規則セットは、アクティブな規則セットにしない限り、使用されることはありません。アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットの両方を管理、参照、変更できます。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
次の例は、カーネルにロードされたアクティブなパケットフィルタリング規則セットからの出力を示しています。
$ ipfstat -io empty list for ipfilter(out) pass in quick on net1 from 192.168.1.0/24 to any pass in all block in on net1 from 192.168.1.10/32 to any
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
次の例は、アクティブでないパケットフィルタリング規則セットからの出力を示しています。
$ ipfstat -I -io pass out quick on net1 all pass in quick on net1 all
次のいずれかのタスクを実行する場合には、ここで示す手順を実行します。
IP フィルタが現在使用しているパケットフィルタリング規則セット以外のパケットフィルタリング規則セットをアクティブにする
新規更新されたフィルタリング規則セットを再読み込みする
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
まったく異なる規則セットをアクティブにする場合は、別個のファイルに新規規則セットを作成します。
構成ファイル内の現在の規則セットを更新します。
$ ipf -Fa -f filename
filename 内の規則によって、アクティブな規則セットが置き換えられます。
注 - 更新した規則セットをロードするために ipf -D や svcadm restart などのコマンドを使わないでください。これらのコマンドは、新しい規則セットをロードする前にファイアウォールを無効にするため、ネットワークが危険にさらされます。
例 5-1 別のパケットフィルタリング規則セットのアクティブ化
次の例は、パケットフィルタリング規則セットを別の規則セットに置き換える方法を示しています。
$ ipfstat -io empty list for ipfilter(out) pass in quick on net0 all $ ipf -Fa -f /etc/ipf/ipfnew.conf $ ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any
例 5-2 更新したパケットフィルタリング規則セットの再読み込み
次の例は、現在アクティブでこれから更新するパケットフィルタリング規則セットを再読み込みする方法を示しています。
$ ipfstat -io (Optional) empty list for ipfilter (out) block in log quick from 10.0.0.0/8 to any (Edit the /etc/ipf/myorg.ipf.conf configuration file.) $ svcadm refresh network/ipfilter $ ipfstat -io (Optional) empty list for ipfilter (out) block in log quick from 10.0.0.0/8 to any block in quick on net11 from 192.168.0.0/12 to any
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
$ ipf -F [a|i|o]
すべてのフィルタリング規則を規則セットから削除します。
受信パケットのフィルタリング規則を削除します。
送信パケットのフィルタリング規則を削除します。
例 5-3 パケットフィルタリング規則セットの削除
次の例は、すべてのフィルタリング規則をアクティブなフィルタリング規則セットから削除する方法を示しています。
$ ipfstat -io block out log on net0 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)
既存の規則セットに規則を追加すると、テストやデバッグ時に役に立つことがあります。規則を追加した場合も IP フィルタサービスは有効なままになります。ただし、サービスがリフレッシュされるか、再起動されるか、有効にされると、規則は IP フィルタサービスのプロパティーであるファイル内に存在しない限り、失われます。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
ipf -f - コマンドを使用して、コマンド行で、規則セットに規則を追加します。
$ echo "block in on net1 proto tcp from 10.1.1.1/32 to any" | ipf -f -
サービスのリフレッシュ、再起動、または有効化時に、これらの追加された規則は IP フィルタ構成に含まれません。
次のコマンドを実行します。
適当なファイルに規則セットを作成します。
作成しておいた規則をアクティブな規則セットに追加します。
$ ipf -f filename
filename の規則がアクティブな規則セットの最後に追加されます。IP フィルタは「最後に一致した規則を採用する」アルゴリズムを使用するため、quick キーワードを使用しないかぎり、追加した規則によってフィルタリングの優先順位が決まります。パケットが quick キーワードを含む規則に一致する場合は、その規則に対する処理が実行され、それ以降の規則はチェックされません。
filename が、IP フィルタ構成ファイルのいずれかのプロパティーの値である場合、サービスの有効化、再起動、またはリフレッシュ時に規則が再読み込みされます。そうでない場合は、追加された規則は一時規則セットを提供します。
例 5-4 アクティブなパケットフィルタリング規則セットへの規則の追加
次の例は、コマンド行から、アクティブなパケットフィルタリング規則セットに規則を追加する方法を示しています。
$ ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any $ echo "block in on net1 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 net1 proto tcp from 10.1.1.1/32 to any
カーネル内でアクティブでない規則セットを作成すると、テストまたはデバッグ時に役立ちます。規則セットは、IP フィルタサービスを停止せずに、アクティブな規則セットと切り替えることができます。ただし、サービスをリフレッシュするか、再起動するか、有効にする場合、アクティブでない規則セットを追加する必要があります。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
$ ipf -I -f filename
filename の規則がアクティブでない規則セットの最後に追加されます。IP フィルタは「最後に一致した規則を採用する」アルゴリズムを使用するため、quick キーワードを使用しないかぎり、追加した規則によってフィルタリングの優先順位が決まります。パケットが quick キーワードを含む規則に一致する場合は、その規則に対する処理が実行され、それ以降の規則はチェックされません。
例 5-5 アクティブでない規則セットへの規則の追加
次の例は、ファイルからアクティブでない規則セットに規則を追加する方法を示しています。
$ ipfstat -I -io pass out quick on net1 all pass in quick on net1 all $ ipf -I -f /etc/ipf/ipftrial.conf $ ipfstat -I -io pass out quick on net1 all pass in quick on net1 all block in log quick from 10.0.0.0/8 to any
カーネル内で別の規則セットに切り替えると、テストまたはデバッグ時に役立ちます。規則セットは、IP フィルタサービスを停止せずに、アクティブにすることができます。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
$ ipf -s
このコマンドを使用すると、カーネル内のアクティブな規則セットとアクティブでない規則セットを切り替えることができます。なお、アクティブでない規則セットが空の場合は、パケットフィルタリングは行われません。
注 - IP フィルタサービスがリフレッシュされるか、再起動されるか、有効にされると、IP フィルタサービスのプロパティーであるファイル内にある規則は復元されます。アクティブでない規則セットは復元されません。
例 5-6 アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットの切り替え
次の例は、ipf -s コマンドの使用によって、どのようにアクティブでない規則セットがアクティブな規則セットになり、アクティブな規則セットがアクティブでない規則セットになるのかを示しています。
ipf -s コマンドを実行する前に、ipfstat -I -io コマンドからの出力でアクティブでない規則セット内の規則が示されます。ipfstat -io コマンドからの出力は、アクティブな規則セットの規則を示します。
$ ipfstat -io empty list for ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on net1 proto tcp from 10.1.1.1/32 to any $ ipfstat -I -io pass out quick on net1 all pass in quick on net1 all block in log quick from 10.0.0.0/8 to any
ipf -s コマンドの実行後、ipfstat -I -io コマンドおよび ipfstat -io コマンドからの出力によって、2 つの規則セットの内容が切り替えられたことが示されます。
$ ipf -s Set 1 now inactive $ ipfstat -io pass out quick on net1 all pass in quick on net1 all block in log quick from 10.0.0.0/8 to any $ ipfstat -I -io empty list for inactive ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on net1 proto tcp from 10.1.1.1/32 to any
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
$ ipf -I -Fa
注 - 続けて ipf -s を実行すると、空のアクティブでない規則セットがアクティブな規則セットになります。アクティブな規則セットが空の場合は、フィルタリングが行われません。
例 5-7 カーネルからのアクティブでないパケットフィルタリング規則セットの削除
次の例は、すべての規則が削除されるように、アクティブでないパケットフィルタリング規則セットを消去する方法を示しています。
$ ipfstat -I -io empty list for inactive ipfilter(out) block in log quick from 10.0.0.0/8 to any block in on net1 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)
次の手順で IP フィルタの NAT 規則を管理、参照および変更します。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
次の例は、アクティブな NAT 規則セットからの出力を示しています。
$ ipnat -l List of active MAP/Redirect filters: map net0 192.168.1.0/24 -> 20.20.20.1/32 List of active sessions:
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
$ ipnat -FC
-C オプションは、現在の NAT 規則リストのすべてのエントリを削除します。-F オプションは、現在アクティブな NAT マッピングを示す現在の NAT 変換テーブルのすべてのアクティブなエントリを削除します。
例 5-8 NAT 規則の削除
次の例は、現在の NAT 規則のエントリを削除する方法を示してます。
$ ipnat -l List of active MAP/Redirect filters: map net0 192.168.1.0/24 -> 20.20.20.1/32 List of active sessions: $ ipnat -C 1 entries flushed from NAT list $ ipnat -l List of active MAP/Redirect filters: List of active sessions:
既存の規則セットに規則を追加すると、テストやデバッグ時に役に立つことがあります。規則を追加した場合も IP フィルタサービスは有効なままになります。ただし、サービスがリフレッシュされるか、再起動されるか、有効にされると、NAT 規則は IP フィルタサービスのプロパティーであるファイル内に存在しない限り、失われます。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
ipnat -f - コマンドを使用して、コマンド行で、NAT 規則セットに規則を追加します。
$ echo "map net0 192.168.1.0/24 -> 20.20.20.1/32" | ipnat -f -
サービスのリフレッシュ、再起動、または有効化時に、これらの追加された規則は IP フィルタ構成に含まれません。
次のコマンドを実行します。
適当なファイルに追加の NAT 規則を作成します。
作成しておいた規則をアクティブな NAT 規則に追加します。
$ ipnat -f filename
filename の規則がアクティブな NAT 規則の最後に追加されます。
filename が、IP フィルタ構成ファイルのいずれかのプロパティーの値である場合、サービスの有効化、再起動、またはリフレッシュ時に規則が再読み込みされます。そうでない場合は、追加された規則は一時規則セットを提供します。
例 5-9 NAT 規則セットへの規則の追加
次の例は、コマンド行から、NAT 規則セットに規則を追加する方法を示しています。
$ ipnat -l List of active MAP/Redirect filters: List of active sessions: $ echo "map net0 192.168.1.0/24 -> 20.20.20.1/32" | ipnat -f - $ ipnat -l List of active MAP/Redirect filters: map net0 192.168.1.0/24 -> 20.20.20.1/32 List of active sessions:
次の手順でアドレスプールを管理、参照および変更します。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
次の例は、アクティブなアドレスプールの内容を参照する方法を示しています。
$ ippool -l table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; };
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
$ ippool -F
例 5-10 アドレスプールの削除
次の例は、アドレスプールを削除する方法を示しています。
$ ippool -l table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; }; $ ippool -F 1 object flushed $ ippool -l
既存の規則セットに規則を追加すると、テストやデバッグ時に役に立つことがあります。規則を追加した場合も IP フィルタサービスは有効なままになります。ただし、サービスがリフレッシュされるか、再起動されるか、有効にされると、アドレスプール規則は IP フィルタサービスのプロパティーであるファイル内に存在しない限り、失われます。
始める前に
IP Filter Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細については、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
ippool -f - コマンドを使用して、コマンド行で、規則セットに規則を追加します。
$ echo "table role = ipf type = tree number = 13 {10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24};" | ippool -f -
サービスのリフレッシュ、再起動、または有効化時に、これらの追加された規則は IP フィルタ構成に含まれません。
次のコマンドを実行します。
適当なファイルに追加のアドレスプールを作成します。
作成しておいた規則をアクティブなアドレスプールに追加します。
$ ippool -f filename
filename の規則がアクティブなアドレスプールの最後に追加されます。
「アクティブなパケットフィルタリング規則セットに規則を追加する方法」の指示に従います。
注 - IP フィルタサービスをリフレッシュしたり、再起動したりしないでください。追加したアドレスプール規則が失われます。
例 5-11 アドレスプールへの規則の追加
次の例は、コマンド行から、アドレスプール規則セットにアドレスプールを追加する方法を示しています。
$ ippool -l table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; }; $ echo "table role = ipf type = tree number = 100 {10.0.0.0/32, 172.16.1.2/32, 192.168.1.0/24};" | ippool -f - $ ippool -l table role = ipf type = tree number = 100 { 10.0.0.0/32, 172.16.1.2/32, 192.168.1.0/24; }; table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24; };