RTシリーズのIPパケット・フィルタに関するFAQ
外部のネットワークからのアクセスを制限するフィルタ
(ネットワーク・セキュリティ・フィルタ)
新規作成日 | 2000/Jun/27 |
最終変更日 | 2022/Dec/28 |
文書サイズ | 24KB |
外部のネットワークからのアクセスを制限するフィルタは、どうしたらいいですか?
[ セキュリティ・フィルタ設定の注意事項 ]
いいえ
IPパケット・フィルタには、「できること」、「できないこと」があります。
例えば、外部からのtelnet接続を禁止することはできますが、
普通のメールの通信を通しつつSPAMメールを拒絶することはできません。
外部へ公開する場合は、通信路を開ける必要がある。
TCPはestablishedで 外部からの接続を拒否できるけれども、 UDPは通信路を開けておく必要がある。
(コネクション型接続はコネクション状態を 判別するしくみで外部からの接続が拒否できるけれども、 コネクションレス型はそうはいかない)
外部と情報共有する場合は、通信路を開ける必要がある。
TCPはestablishedで
外部からの接続を拒否できるけれども、
UDPは通信路を開ておく必要がある。
RTシリーズのIPパケットフィルタは、NATの内側で適用されている為、 NAT変換の有無をほとんど気にすることなく、設定(適用)することができます。
説明のためにIPアドレス(TCP/IPネットワーク)として、 172.16.184.32/28と192.168.0.0/24を用いております。 内側のネットワークがグローバルアドレスでも、プライベートアドレスでも、 アドレスを調整するだけで、ほぼ同等の設定となります。
実際に適用する場合には、実際のネットワーク状況に合せて調整してください。
[ 基本となるフィルタ ]
インターネット DNSサーバ メールサーバ ↑ │ │ │ <プロバイダ> ━━━━┯━┷━━━━━━━┷━━━━━━━┷━━━━━━━━━ │ ┌───┴───┐ │ ルータ │ (NATやIPマスカレード) └───┬───┘ : :ISDN回線や専用線 : ┌───┴───┐ │ ルータ │ └───┬───┘ │ 192.168.0.1 192.168.0.0/24 ━━━━┷━━━━┯━━━━━━━━━━━━━━━━━━━━━━ │ 192.168.0.2〜192.168.0.254 <プライベート> ┌───┴───┐ │ コンピュータ │ └───────┘ |
# フィルタ定義例 (LAN側ネットワークが192.168.0.0/24の場合)
ip filter 10 reject 192.168.0.0/24 * * * * ip filter 11 pass * 192.168.0.0/24 icmp * * ip filter 12 pass * 192.168.0.0/24 established * * ip filter 13 pass * 192.168.0.0/24 tcp * ident ip filter 14 pass * 192.168.0.0/24 tcp ftpdata * ip filter 15 pass * 192.168.0.0/24 udp domain * ip filter source-route on ip filter directed-broadcast on |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 |
# フィルタ定義例 (WWWサーバが192.168.0.2の場合)
ip filter 16 pass * 192.168.0.2 tcp * www |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 16 |
# フィルタ定義例 (LAN側ネットワークが192.168.0.0/24の場合)
ip filter 10 reject 10.0.0.0/8 * * * * ip filter 11 reject 172.16.0.0/12 * * * * ip filter 12 reject 192.168.0.0/16 * * * * ip filter 20 reject * 10.0.0.0/8 * * * ip filter 21 reject * 172.16.0.0/12 * * * ip filter 22 reject * 192.168.0.0/16 * * * ip filter 30 reject 192.168.0.0/24 * * * * ip filter 31 pass * 192.168.0.0/24 icmp * * ip filter 32 pass * 192.168.0.0/24 established * * ip filter 33 pass * 192.168.0.0/24 tcp * ident ip filter 34 pass * 192.168.0.0/24 tcp ftpdata * ip filter 35 pass * 192.168.0.0/24 udp domain * ip filter 100 pass * * * * * ip filter source-route on ip filter directed-broadcast on |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 30 31 32 33 34 35 ip pp secure filter out 20 21 22 100 |
インターネット DNSサーバ メールサーバ ↑ │ │ │ <プロバイダ> ━━━━┯━┷━━━━━━━┷━━━━━━━┷━━━━━━━━━ │ ┌───┴───┐ │ ルータ │ (NATやIPマスカレード) └───┬───┘ : :ISDN回線や専用線 : ┌───┴───┐ │ ルータ │ └─┬───┬─┘ │ │172.16.184.33 172.16.184.32/28 │ ━━┷━━━┯━━━━━━━━━━━━━━━━━━━━━ │ プライマリ │172.16.184.34〜172.16.184.45 <グローバル> │ ┌───┴───┐ │ │ コンピュータ │ │ └───────┘ │ 192.168.0.1 192.168.0.0/24 ━━┷━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━ セカンダリ │192.168.0.2〜192.168.0.254 <プライベート> ┌───┴───┐ │ コンピュータ │ └───────┘ |
# フィルタ定義例 (LAN側ネットワークが172.16.184.32/28と192.168.0.0/24の場合)
ip filter 10 reject 172.16.184.32/28 * * * * ip filter 11 pass * 172.16.184.32/28 icmp * * ip filter 12 pass * 172.16.184.32/28 established * * ip filter 13 pass * 172.16.184.32/28 tcp * ident ip filter 14 pass * 172.16.184.32/28 tcp ftpdata * ip filter 15 pass * 172.16.184.32/28 udp domain * ip filter 20 reject 192.168.0.0/24 * * * * ip filter 21 pass * 192.168.0.0/24 icmp * * ip filter 22 pass * 192.168.0.0/24 established * * ip filter 23 pass * 192.168.0.0/24 tcp * ident ip filter 24 pass * 192.168.0.0/24 tcp ftpdata * ip filter 25 pass * 192.168.0.0/24 udp domain * ip filter source-route on ip filter directed-broadcast on |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 20 21 22 23 24 25 |
# フィルタ定義例 (WWWサーバが172.16.184.34の場合)
ip filter 16 pass * 192.168.0.2 tcp * www |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 16 20 21 22 23 24 25 |
# フィルタ定義例 (LAN側ネットワークが172.16.184.32/28と192.168.0.0/24の場合)
ip filter 10 reject 10.0.0.0/8 * * * * ip filter 11 reject 172.16.0.0/12 * * * * ip filter 12 reject 192.168.0.0/16 * * * * ip filter 20 reject * 10.0.0.0/8 * * * ip filter 21 reject * 172.16.0.0/12 * * * ip filter 22 reject * 192.168.0.0/16 * * * ip filter 30 reject 172.16.184.32/28 * * * * ip filter 31 pass * 172.16.184.32/28 icmp * * ip filter 32 pass * 172.16.184.32/28 established * * ip filter 33 pass * 172.16.184.32/28 tcp * ident ip filter 34 pass * 172.16.184.32/28 tcp ftpdata * ip filter 35 pass * 172.16.184.32/28 udp domain * ip filter 40 reject 192.168.0.0/24 * * * * ip filter 41 pass * 192.168.0.0/24 icmp * * ip filter 42 pass * 192.168.0.0/24 established * * ip filter 43 pass * 192.168.0.0/24 tcp * ident ip filter 44 pass * 192.168.0.0/24 tcp ftpdata * ip filter 45 pass * 192.168.0.0/24 udp domain * ip filter 100 pass * * * * * ip filter source-route on ip filter directed-broadcast on |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 30 31 32 33 34 35 40 41 42 43 44 45 ip pp secure filter out 20 21 22 100 |
[ フィルタ定義の説明 ]
ip filter 10 reject 192.168.0.0/24 * * * *
IPスプーフィング攻撃である
「始点IPアドレスが内部のネットワークと同じもの」を排除します。
→IPスプーフィング攻撃に対処するフィルタを教えて下さい。
ip filter 11 pass * 192.168.0.0/24 icmp * *
ICMPを通すようにします。
例えば、身近なツールでは、pingや
Windowsのtracert.exe
などがICMPを使っています。
また、tracerouteには、「ICMPを利用する方法」と「未使用UDPを利用する方法」の
2種類があります。
pingやtracerouteを禁止する目的で、ICMPを破棄する場合には、 ICMPのすべてを破棄するのではなく、 プロトコルの指定を「icmp-error」に変更します。
ip filter 12 pass * 192.168.0.0/24 established * *
establishedな通信を通すようにします。
establishedの指定は、
内側から外側へのTCP接続は通過されますが、
外側から内側へのTCP接続が拒否されるという、
TCP通信のしくみを利用したフィルタです。
ip filter 13 pass * 192.168.0.0/24 tcp * ident
identは、一種の認証です。メールの通信(SMTPやPOPなど)やFTPを行なう際、
メールサーバ側からidentによりユーザ情報確認が行なわれる場合があります。
通常、identはフィルタにより閉じてしまっても通信は可能なようですが、
「内側のメール端末と外側のメールサーバとの通信は可能だが、何だか遅い」
という症状になることがあります。
ip filter 14 pass * 192.168.0.0/24 tcp ftpdata *
ftp通信は、制御とデータの複数のTCP接続を用います。
内側のftpクライアントが外側のftpサーバに接続する際、
データのTCP接続としてftpサーバ→ftpクライアントに接続を始める
PORT型の接続を通過させます。
PASV型のftp通信を用いる場合は、このフィルタの適用は必要ありませんので、
閉じておきます。
また、内側にftpサーバを設置して公開するフィルタとしては、機能しません。
ip filter 15 pass * 192.168.0.0/24 udp domain *
DNSに関する問い合せ(DNSサーバからの応答)を通過させます。
また、内側にDNSサーバを設置する場合は、TCPを通すように修正する
必要のある場合があります。
DNSのパケットは、通常、UDPですが、パケットの大きさが512バイトを越える場合には、
TCPで通信されます。
内側にDNSサーバを設置した場合、外部のDNSサーバと内側のDNSサーバ間で
データ転送が行なわれ、データサイズが大きくなり、
TCPが用いられることがあります。
ip filter 16 pass * 192.168.0.2 tcp,udp * smtp,domain,gopher,finger,www,nntp,ntp,33434-33500
特定のホスト(192.168.0.2)が、外部に特定のサービス(smtp,domain,gopher,finger,www,nntp,ntp,33434-33500)を公開する場合に
アクセスを許可するフィルタの記述例です。
実際に適用する場合は、公開するサービスの通信内容に合せて設定してください。
ip filter 10 reject 10.0.0.0/8 * * * *
ip filter 20 reject * 10.0.0.0/8 * * *
IPスプーフィング攻撃である
「始点IPアドレスがクラスAのプライベートアドレス」を排除することができます。
RFC1918で
定義されているクラスAのプライベートアドレス(10.0.0.0〜10.255.255.255)を破棄するためのフィルタです。
ip filter 11 reject 172.16.0.0/12 * * * *
ip filter 21 reject * 172.16.0.0/12 * * *
IPスプーフィング攻撃である
「始点IPアドレスがクラスBのプライベートアドレス」を排除することができます。
RFC1918で
定義されているクラスBのプライベートアドレス(172.16.0.0〜172.31.255.255)を破棄するためのフィルタです。
ip filter 12 reject 192.168.0.0/16 * * * *
ip filter 22 reject * 192.168.0.0/16 * * *
IPスプーフィング攻撃である
「始点IPアドレスがクラスCのプライベートアドレス」を排除することができます。
RFC1918で
定義されているクラスCのプライベートアドレス(192.168.0.0〜192.168.255.255)を破棄するためのフィルタです。
ip filter source-route on
「source-routeオプション付きIPパケット」をフィルタリングする機能の設定コマンドです。
ip filter directed-broadcast on
「終点IPアドレスがDirected Broadcastアドレス宛になっているIPパケット」をフィルタリングする機能の設定コマンドです。
[ ニーモニック ]
ニーモニック | 説明 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
icmp | icmpパケット | ||||||||||||||||||||||||||||||
icmp-info |
特定のTYPEコードのicmpパケット
| ||||||||||||||||||||||||||||||
icmp-error |
特定のTYPEコードのicmpパケット
|
プロトコル名 (ポート番号) | サービス内容 |
ftp (21) | FTPサーバの待ち受けポート |
ftpdata (20) | FTPのアクティブ転送で使用される発信元のポート番号 |
telnet (23) | telnet |
smtp (25) | 電子メールの送信 |
domain (53) | DNSプロトコル |
gopher (70) | インターネット内に蓄積された情報を探し出すシステム。 |
finger (79) | fingerは機器利用ユーザに関する情報を得る(調べる)機能です。 ログイン名、正式な氏名、端末名、アイドル時間、ログイン時刻、などなど |
www (80) | WWWサーバ |
pop3 (110) | 電子メールの受信 |
nntp (119) | ネットワークニュース |
ident (113) | 電子メールのユーザ確認など |
ntp (123) | 時刻合せ |
irc (194) | IRC(インターネット・リレー・チャット) |
https (443) | 暗号化されたWWW |
33434-33500 | unixなどのtraceroute(未使用UDPを利用する方法) また、tracerouteには、2種類(ICMPを利用する方法と未使用UDPを利用する方法) あり、Windowsのtracert.exe では、ICMPを使っている。 |
[ 端末型接続用セキュリティ・フィルタの参考設定例 ]
[ 関連情報 ]
[ FAQ for RT-Series ]
[ FAQ for IP Packet Filter / files / TCP/IP ]