目次
IPフィルタの設定(YAMAHA RTA50i)

(2000/10/03更新) これまで掲載していたIPフィルタに、自サイトがsmurf攻撃の踏み台になりうるというセキュリティホールが発覚しました。smurf攻撃とは、始点IPアドレスを攻撃先のホストのものに偽り、踏み台となるネットワークのネットアドレスまたはブロードキャストアドレスを宛先とすることにより、そのネットワークのすべてのホストから応答パケットを送出させ、攻撃先のホストに殺到させて、多量のトラフィックでサービスを妨害するものです。自サイトのホストが最終攻撃目標になってはIPフィルタでは防御できませんが、自サイトが踏み台となって攻撃者に加担するのを避けるために、フィルタ番号3および4を追加しました。

 インターネット常時接続サイトでサーバを運用するには、不正アクセスからサーバを防御する対策が必要です。そのための手軽で効果の高い方法として、ルータによるIPフィルタがあります。これは、IPアドレスやポート番号の条件でパケットの通過・阻止を制御するものです。これにより、サーバに対する不正アクセスに使われやすいFTPやTELNETなどの危険な通信が外からサーバに着信する前に阻止することができます。
 ここでは、OCNエコノミー対応ルータYAMAHA RTA50iを例として、IPフィルタの決め方と設定方法を説明します。

1. 前提条件
 IPフィルタを決める上での前提条件を以下のように仮定します。
2. RTA50iのデフォルトのIPフィルタ
 ISPから割り当てられたグローバルIPアドレスに基づいてRTA50iの初期設定を行うと、自動的に以下のようなIPフィルタが設定されます。これらは、専用線インタフェースのIN(入り)に対するものです。(RTA50iの管理用ウェブインタフェースの画面に合わせた表形式で示します。「*」は「任意」を示します。)
 説明欄のの上にマウスカーソルを置くと説明が現れます(Netscape Navigator 3では現れません。ご了承ください)。

番号 フィルタ
プロトコル
始点IPアドレス
始点ポート
終点IPアドレス
終点ポート
説明
10 reject-log
*
192.168.0.0/24
*
*
*
始点IPアドレスをこちらのサイトのプライベートIPアドレスに偽ったパケットを阻止します。
11 pass-nolog
icmp
*
*
192.168.0.0/24
*
NAT対象ホストへのICMPパケットを許可します。
12 pass-nolog
established
*
*
192.168.0.0/24
*
NAT対象ホストへの、コネクション確立用を除くTCPパケットを許可します。こちら側から外部側へコネクションを張った任意のTCP通信の返りパケットは、ここで許可されます。
13 pass-nolog
tcp,udp
*
*
192.168.0.0/24
domain,ident
NAT対象ホストへの、DNS用および認証用のTCPパケットとUDPパケットを許可します。
14 pass-nolog
tcp
*
ftpdata
192.168.0.0/24
*
外部のFTPサーバからNAT対象ホストへのデータの送り込みを、コネクションを含めて許可します。
15 pass-nolog
udp
*
domain
192.168.0.0/24
*
NAT対象ホストへの、nslookup応答のUDPパケットを許可します。
20 reject-log
*
222.222.222.0/29
*
*
*
始点IPアドレスをこちらのサイトのグローバルIPアドレスに偽ったパケットを阻止します。
21 pass-nolog
icmp
*
*
222.222.222.0/29
*
グローバルIPアドレスのホストへのICMPパケットを許可します。
22 pass-nolog
established
*
*
222.222.222.0/29
*
グローバルIPアドレスのホストへの、コネクション確立用を除くTCPパケットを許可します。こちら側から外部側へコネクションを張った任意のTCP通信の返りパケットは、ここで許可されます。
23 pass-nolog
tcp,udp
*
*
222.222.222.0/29
domain,ident
グローバルIPアドレスのホストへの、DNS用および認証用のTCPパケットとUDPパケットを許可します。
24 pass-nolog
tcp
*
ftpdata
222.222.222.0/29
*
外部のFTPサーバからグローバルIPアドレスのホストへのデータの送り込みを、コネクションを含めて許可します。
25 pass-nolog
udp
*
domain
222.222.222.0/29
*
グローバルIPアドレスのホストへの、nslookup応答のUDPパケットを許可します。

 このIPフィルタは、サイト内のクライアントマシンから外のサービスを利用するだけという条件に合ったものになっています。しかし、このIPフィルタには以下の問題があります。
3. サーバ運用サイト用のIPフィルタ
 グローバルIPアドレスを持つサーバマシンでSMTP(ポート番号25)、HTTP(80)、HTTPS(443)のアクセスを受け入れること、およびNTP(123)によるタイムサーバを運用することを考慮したIPフィルタを以下に示します。
 なお、HTTPのポート名は、RTA50iでは「www」と指定します。

番号 フィルタ
プロトコル
始点IPアドレス
始点ポート
終点IPアドレス
終点ポート
説明
1 reject-log
*
192.168.0.0/24
*
*
*
始点IPアドレスをこちらのサイトのプライベートIPアドレスに偽ったパケットを阻止します。
2 reject-log
*
222.222.222.0/29
*
*
*
始点IPアドレスをこちらのサイトのグローバルIPアドレスに偽ったパケットを阻止します。
3 reject-log
*
*
*
222.222.222.0
*
ネットアドレス宛のパケットを阻止します(smurf攻撃対策)。
4 reject-log
*
*
*
222.222.222.7
*
ブロードキャストアドレス宛のパケットを阻止します(smurf攻撃対策)。
11 pass-nolog
icmp
*
*
192.168.0.0/24
*
NAT対象ホストへのICMPパケットを許可します。
12 pass-nolog
established
*
*
192.168.0.0/24
*
NAT対象ホストへの、コネクション確立用を除くTCPパケットを許可します。こちら側から外部側へコネクションを張った任意のTCP通信の返りパケットは、ここで許可されます。
13 pass-nolog
tcp,udp
*
*
192.168.0.0/24
domain,ident
NAT対象ホストへの、DNS用および認証用のTCPパケットとUDPパケットを許可します。
14 pass-nolog
tcp
*
ftpdata
192.168.0.0/24
1024-65535
外部のFTPサーバからNAT対象ホストへのデータの送り込みを、コネクションを含めて許可します。
15 pass-nolog
udp
*
domain
192.168.0.0/24
1024-65535
NAT対象ホストへの、nslookup応答のUDPパケットを許可します。
21 pass-nolog
icmp
*
*
222.222.222.0/29
*
グローバルIPアドレスのホストへのICMPパケットを許可します。
22 pass-nolog
established
*
*
222.222.222.0/29
*
グローバルIPアドレスのホストへの、コネクション確立用を除くTCPパケットを許可します。こちら側から外部側へコネクションを張った任意のTCP通信の返りパケットは、ここで許可されます。
23 pass-nolog
tcp,udp
*
*
222.222.222.0/29
domain,ident
グローバルIPアドレスのホストへの、DNS用および認証用のTCPパケットとUDPパケットを許可します。
24 pass-nolog
tcp
*
ftpdata
222.222.222.0/29
1024-65535
外部のFTPサーバからグローバルIPアドレスのホストへのデータの送り込みを、コネクションを含めて許可します。
25 pass-nolog
udp
*
domain
222.222.222.0/29
1024-65535
グローバルIPアドレスのホストへの、nslookup応答のUDPパケットを許可します。
26 pass-nolog
udp
*
*
222.222.222.0/29
ntp
グローバルIPアドレスのホストへの、NTP時刻同期用のUDPパケットを許可します。
27 pass-nolog
udp
*
ntp
222.222.222.0/29
1024-65535
グローバルIPアドレスのホストへの、NTP応答のUDPパケットを許可します。
28 reject-log
*
*
*
222.222.222.1
*
ルータに着信するパケットのうち、21〜27で許可されなかったものをすべて阻止します。外からルータの管理用ウェブインタフェースへのアクセスは、ここで拒絶されます。
29 pass-nolog
tcp
*
*
222.222.222.0/29
smtp,www,https
グローバルIPアドレスのホストへのSMTP、HTTP、HTTPSのTCPパケットを、コネクションを含めて許可します。

 これらのIPフィルタは、すべて専用線インタフェースのIN(入り)に対して有効にしてください。

 以下に要点と補足を説明します。
4 ほかに必要な対策
 不正アクセスを阻止するには、IPフィルタだけで十分とはいえません。許可されたアクセスを受け入れるサービスプログラム(UNIXではsendmail、apacheなど)のバグを突いて不正なプログラムコードを実行させるなどの攻撃がありえます。サービスプログラムを最新版に保つように気を付けてください。また、ウェブのCGIプログラムのバグを突く攻撃もありえます。ウェブサーバの設定やCGIプログラムにも注意を払ってください。

[ご注意]
 ここで示したIPフィルタに抜け穴がないことは保証できません(もし抜け穴を発見されましたらお知らせください)。
 また、ここで示した情報を利用された結果いかなる損害が生じても、筆者は責任を負うことはできません。自己責任でこの情報を利用してくださるようお願いします。

目次 ホーム