next up previous contents
Next: 6.4.7 Mail と Web Up: 6.4 フィルタリングルール Previous: 6.4.5 ルールセットの整理

6.4.6 ICMP対策

ICMP で解説をしたように、全てのICMPを通す必要はありません。むしろ、ICMPは様々な アタックに利用されるので、これを全て通すのは非常に危険です。しかし、だからと言っ て全てのICMPを落としてしまうと、今度は逆に通信の保証が無くなってしまうので、 最低限通しても良いものだけを通すことにします。勿論、これはアタックを受けない 事を保証するものではありませんのでICMPは要注意事項ではあります。

基本的に通しても良いものを下に挙げます。

type message in out
0 Echo Reply pass block
3 Host Unreachable pass pass
4 Source Quench pass pass
5 Redirect block block
8 Echo block pass
9 Router Advertisement block block
10 Router Solicitation block block
11 TTL Exceeded pass pass
12 Parameter Problem block block
13 Time Stamp block block
14 Time Stamp Reply block block
15 Information Request block block
16 Information Request Reply block block
17 Address Mask Request block block
18 Address Mask Request Reply block block

但し、ここに掲げたものでも、3 の out を許すか否かや、4 の source quench を 許すかどうかは問題があるかも知れません(多くの場合 source quench がなくても 問題は起きないでそうから、廃棄しても構いません)。また、こうした 制限をかけても安全性を絶対に確保出来る訳ではありません。例えば、 ある程度内部のサーバやマシンに種を蒔かれた後で、ファイアーウォールを突破して それらのマシンにメッセージや指示を届けるために、Echo Reply でデータをラップ するなどの手口も有名です(実は後で紹介をしますが、IPFilter はこうした手口に 対する対策があります)。

以上をルールに書くと以下のようになります。

pass in  quick proto icmp all icmp-type 0  group 100
pass in  quick proto icmp all icmp-type 3  group 100
pass in  quick proto icmp all icmp-type 4  group 100
#pass in quick proto icmp all icmp-type 8  group 100 # for test
pass in  quick proto icmp all icmp-type 11 group 100
#pass out  quick proto icmp all icmp-type 0  group 200  # for test
pass out quick proto icmp all icmp-type 3  group 200
pass out quick proto icmp all icmp-type 4  group 200
pass out quick proto icmp all icmp-type 8  group 200
pass out quick proto icmp all icmp-type 11 group 200

但し、ファイアーウォールを作成してテストしている最中は、外からの Echo に対しては応えるようにしておいた方がやりやすいでしょう(当然、 そのテスト時にはテスト用の仮想環境で実験するものとして)。


next up previous contents
Next: 6.4.7 Mail と Web Up: 6.4 フィルタリングルール Previous: 6.4.5 ルールセットの整理
Noriyo Kanayama