ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (IP サービス) Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris TCP/IP プロトコル群 (概要)
5. TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)
10. TCP/IP と IPv4 の詳細 (リファレンス)
18. DHCP コマンドと DHCP ファイル (リファレンス)
21. IP セキュリティーアーキテクチャー (リファレンス)
25. Oracle Solaris の IP フィルタ (概要)
以前の Solaris リリースで IP フィルタを有効にする方法
アクティブでないパケットフィルタリング規則セットを参照する方法
別のパケットフィルタリング規則セット、または更新されたパケットフィルタリング規則セットをアクティブにする方法
アクティブなパケットフィルタリング規則セットに規則を追加する方法
アクティブでないパケットフィルタリング規則セットに規則を追加する方法
アクティブなパケットフィルタリング規則セットとアクティブでないパケットフィルタリング規則セットを切り替える方法
カーネルからアクティブでないパケットフィルタリング規則セットを削除する方法
29. モバイル IP のファイルおよびコマンド (リファレンス)
規則セットとアドレスプールを作成および変更するには、構成ファイルを直接編集する必要があります。構成ファイルは、次のような標準的な UNIX 構文規則に従っています。
シャープ記号 (#) は、コメントを含む行を示します。
規則とコメントは、同一の行に共存できます。
規則を読みやすくするために、不要な空白を使用できます。
複数行に渡って規則を記述できます。行の最後のバックスラッシュ (\) は、規則が次の行に続いていることを示します。
次の手順では、次のファイルの設定方法を説明します。
パケットフィルタリングの構成ファイル
NAT 規則の構成ファイル
アドレスプールの構成ファイル
IP Filter Management の権利プロファイルは、ユーザーが作成した役割に割り当てることができます。役割の作成と役割のユーザーへの割り当てについては、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
パケットフィルタリング規則の構成ファイルを作成するには、ipf.conf ファイルを編集します。
IP フィルタは、ipf.conf ファイルに保存したパケットフィルタリング規則を使用します。パケットフィルタリングの規則ファイルを /etc/ipf/ipf.conf ファイルに保存した場合は、システムの起動時に、このファイルがロードされます。フィルタリング規則を起動時にロードしない場合は、このファイルを別の場所に保存します。次に、ipf コマンドで規則をアクティブにします (「別のパケットフィルタリング規則セット、または更新されたパケットフィルタリング規則セットをアクティブにする方法」を参照)。
パケットフィルタリング規則を作成する方法については、「IP フィルタのパケットのフィルタリング機能の使用」を参照してください。
注 - ipf.conf ファイルが空の場合は、フィルタリングは行われません。空の ipf.conf ファイルは、次のような規則セットを持っているのと同じです。
pass in all pass out all
NAT 規則の構成ファイルを作成するには、 ipnat.conf ファイルを編集します。
IP フィルタは、ipnat.conf ファイルに保存した NAT 規則を使用します。NAT の規則ファイルを /etc/ipf/ipnat.conf ファイルに保存した場合は、システムの起動時に、このファイルがロードされます。NAT 規則を起動時にロードしない場合は、適当な場所に ipnat.conf ファイルを保存します。次に、 ipnat コマンドで NAT 規則をアクティブ化します。
NAT 用の規則の作成については、「IP フィルタの NAT 機能の使用」を参照してください。
アドレスプールの構成ファイルを作成するには、ippool.conf ファイルを編集します。
IP フィルタは、ippool.conf ファイルに保存したアドレスのプールを使用します。アドレスプールの規則ファイルを /etc/ipf/ippool.conf ファイルに保存した場合は、システムの起動時に、このファイルがロードされます。アドレスプールを起動時にロードしない場合は、適当な場所に ippool.conf ファイルを保存します。次に、ippool コマンドでアドレスプールをアクティブ化できます。
アドレスプールの作成については、「IP フィルタのアドレスプール機能の使用」を参照してください。
次の例は、フィルタリング構成で使用されるパケットフィルタリング規則を示しています。
例 26-25 IP フィルタのホスト構成
この例は、 elxl ネットワークインタフェースを備えたホストマシンの構成を示しています。
# pass and log everything by default pass in log on bge0 all pass out log on bge0 all # block, but don't log, incoming packets from other reserved addresses block in quick on bge0 from 10.0.0.0/8 to any block in quick on bge0 from 172.16.0.0/12 to any # block and log untrusted internal IPs. 0/32 is notation that replaces # address of the machine running Solaris IP Filter. block in log quick from 192.168.1.15 to <thishost> block in log quick from 192.168.1.43 to <thishost> # block and log X11 (port 6000) and remote procedure call # and portmapper (port 111) attempts block in log quick on bge0 proto tcp from any to bge0/32 port = 6000 keep state block in log quick on bge0 proto tcp/udp from any to bge0/32 port = 111 keep state
この規則セットは、最初の段階では、すべてのデータが elxl インタフェースを出入りできる制限なしの規則です。2 番目の規則セットは、プライベートアドレス空間 10.0.0.0 および 172.16.0.0 からの受信パケットがファイアウォールの中に入るのをブロックします。次の規則セットは、ホストマシンからの特定の内部アドレスをブロックします。そして、最後の規則セットは、ポート 6000 およびポート 111 から受信されるパケットをブロックします。
例 26-26 IP フィルタのサーバー構成
この例は、Web サーバーとして機能するホストマシンの構成を示しています。このマシンには、eri ネットワークインタフェースがあります。
# web server with an eri interface # block and log everything by default; then allow specific services # group 100 - inbound rules # group 200 - outbound rules # (0/32) resolves to our IP address) *** FTP proxy *** # block short packets which are packets fragmented too short to be real. block in log quick all with short # block and log inbound and outbound by default, group by destination block in log on eri0 from any to any head 100 block out log on eri0 from any to any head 200 # web rules that get hit most often pass in quick on eri0 proto tcp from any \ to eri0/32 port = http flags S keep state group 100 pass in quick on eri0 proto tcp from any \ to eri0/32 port = https flags S keep state group 100 # inbound traffic - ssh, auth pass in quick on eri0 proto tcp from any \ to eri0/32 port = 22 flags S keep state group 100 pass in log quick on eri0 proto tcp from any \ to eri0/32 port = 113 flags S keep state group 100 pass in log quick on eri0 proto tcp from any port = 113 \ to eri0/32 flags S keep state group 100 # outbound traffic - DNS, auth, NTP, ssh, WWW, smtp pass out quick on eri0 proto tcp/udp from eri0/32 \ to any port = domain flags S keep state group 200 pass in quick on eri0 proto udp from any port = domain to eri0/32 group 100 pass out quick on eri0 proto tcp from eri0/32 \ to any port = 113 flags S keep state group 200 pass out quick on eri0 proto tcp from eri0/32 port = 113 \ to any flags S keep state group 200 pass out quick on eri0 proto udp from eri0/32 to any port = ntp group 200 pass in quick on eri0 proto udp from any port = ntp to eri0/32 port = ntp group 100 pass out quick on eri0 proto tcp from eri0/32 \ to any port = ssh flags S keep state group 200 pass out quick on eri0 proto tcp from eri0/32 \ to any port = http flags S keep state group 200 pass out quick on eri0 proto tcp from eri0/32 \ to any port = https flags S keep state group 200 pass out quick on eri0 proto tcp from eri0/32 \ to any port = smtp flags S keep state group 200 # pass icmp packets in and out pass in quick on eri0 proto icmp from any to eri0/32 keep state group 100 pass out quick on eri0 proto icmp from eri0/32 to any keep state group 200 # block and ignore NETBIOS packets block in quick on eri0 proto tcp from any \ to any port = 135 flags S keep state group 100 block in quick on eri0 proto tcp from any port = 137 \ to any flags S keep state group 100 block in quick on eri0 proto udp from any to any port = 137 group 100 block in quick on eri0 proto udp from any port = 137 to any group 100 block in quick on eri0 proto tcp from any port = 138 \ to any flags S keep state group 100 block in quick on eri0 proto udp from any port = 138 to any group 100 block in quick on eri0 proto tcp from any port = 139 to any flags S keep state group 100 block in quick on eri0 proto udp from any port = 139 to any group 100
例 26-27 IP フィルタのルーター構成
この例は、内部インタフェース ce0 と外部インタフェース ce1 を備えるルーターの構成を示しています。
# internal interface is ce0 at 192.168.1.1 # external interface is ce1 IP obtained via DHCP # block all packets and allow specific services *** NAT *** *** POOLS *** # Short packets which are fragmented too short to be real. block in log quick all with short # By default, block and log everything. block in log on ce0 all block in log on ce1 all block out log on ce0 all block out log on ce1 all # Packets going in/out of network interfaces that aren't on the loopback # interface should not exist. block in log quick on ce0 from 127.0.0.0/8 to any block in log quick on ce0 from any to 127.0.0.0/8 block in log quick on ce1 from 127.0.0.0/8 to any block in log quick on ce1 from any to 127.0.0.0/8 # Deny reserved addresses. block in quick on ce1 from 10.0.0.0/8 to any block in quick on ce1 from 172.16.0.0/12 to any block in log quick on ce1 from 192.168.1.0/24 to any block in quick on ce1 from 192.168.0.0/16 to any # Allow internal traffic pass in quick on ce0 from 192.168.1.0/24 to 192.168.1.0/24 pass out quick on ce0 from 192.168.1.0/24 to 192.168.1.0/24 # Allow outgoing DNS requests from our servers on .1, .2, and .3 pass out quick on ce1 proto tcp/udp from ce1/32 to any port = domain keep state pass in quick on ce0 proto tcp/udp from 192.168.1.2 to any port = domain keep state pass in quick on ce0 proto tcp/udp from 192.168.1.3 to any port = domain keep state # Allow NTP from any internal hosts to any external NTP server. pass in quick on ce0 proto udp from 192.168.1.0/24 to any port = 123 keep state pass out quick on ce1 proto udp from any to any port = 123 keep state # Allow incoming mail pass in quick on ce1 proto tcp from any to ce1/32 port = smtp keep state pass in quick on ce1 proto tcp from any to ce1/32 port = smtp keep state pass out quick on ce1 proto tcp from 192.168.1.0/24 to any port = smtp keep state # Allow outgoing connections: SSH, WWW, NNTP, mail, whois pass in quick on ce0 proto tcp from 192.168.1.0/24 to any port = 22 keep state pass out quick on ce1 proto tcp from 192.168.1.0/24 to any port = 22 keep state pass in quick on ce0 proto tcp from 192.168.1.0/24 to any port = 80 keep state pass out quick on ce1 proto tcp from 192.168.1.0/24 to any port = 80 keep state pass in quick on ce0 proto tcp from 192.168.1.0/24 to any port = 443 keep state pass out quick on ce1 proto tcp from 192.168.1.0/24 to any port = 443 keep state pass in quick on ce0 proto tcp from 192.168.1.0/24 to any port = nntp keep state block in quick on ce1 proto tcp from any to any port = nntp keep state pass out quick on ce1 proto tcp from 192.168.1.0/24 to any port = nntp keep state pass in quick on ce0 proto tcp from 192.168.1.0/24 to any port = smtp keep state pass in quick on ce0 proto tcp from 192.168.1.0/24 to any port = whois keep state pass out quick on ce1 proto tcp from any to any port = whois keep state # Allow ssh from offsite pass in quick on ce1 proto tcp from any to ce1/32 port = 22 keep state # Allow ping out pass in quick on ce0 proto icmp all keep state pass out quick on ce1 proto icmp all keep state # allow auth out pass out quick on ce1 proto tcp from ce1/32 to any port = 113 keep state pass out quick on ce1 proto tcp from ce1/32 port = 113 to any keep state # return rst for incoming auth block return-rst in quick on ce1 proto tcp from any to any port = 113 flags S/SA # log and return reset for any TCP packets with S/SA block return-rst in log on ce1 proto tcp from any to any flags S/SA # return ICMP error packets for invalid UDP packets block return-icmp(net-unr) in proto udp all