インフラ(というか機械系や設定系)には正直あまり興味が無いのですが、たまたま仕事でルータのconfigを読む機会があったのでIPフィルターについて解説してみます。
ほぼデフォルトの設定ですが。
WANからLAN
まず、WANからLANの方向、つまりルータへ入ってくるときのIPフィルターを定義順に見ていきます。
入力フィルターとかINフィルターとも言います。
送信元がLAN側アドレスのパケットは破棄
ip filter <フィルター番号> reject <LAN側アドレス> * * * *
内側で使用しているネットワークが外に存在する筈が無いので、ここで落とします。
IPスプーフィング攻撃を防止する意図があります。
ポート番号が135(WindowsのRPC)のパケットは破棄
ip filter <フィルター番号> reject * * udp,tcp 135 *
ip filter <フィルター番号> reject * * udp,tcp * 135
Windows系のサービスをインターネット越しに利用することは無いので、ここで落とします。
ポート番号が137~139(NetBIOS)のパケットは破棄
ip filter <フィルター番号> reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter <フィルター番号> reject * * udp,tcp * netbios_ns-netbios_ssn
Windows系のサービスをインターネット越しに利用することは無いので、ここで落とします。
ポート番号が445(SMB)のパケットは破棄
ip filter <フィルター番号> reject * * udp,tcp 445 *
ip filter <フィルター番号> reject * * udp,tcp * 445
Windows系のサービスをインターネット越しに利用することは無いので、ここで落とします。
ICMPパケットは通過
ip filter <フィルター番号> pass * <LAN側アドレス> icmp * *
ICMPパケットは、ping
やWindowsのtracert
、エラー通知等に使われます。
メールサーバ(SMTPやPOP等)の認証用パケットは通過
ip filter <フィルター番号> pass * <LAN側アドレス> tcp * ident
通過させないと遅くなります。
VPNパススルー(IPsec)の設定
ip filter <フィルター番号> pass * <自ルータのアドレス> udp * 500
ip filter <フィルター番号> pass * <自ルータのアドレス> esp
ip filter <フィルター番号> pass * <自ルータのアドレス> udp * 4500
ip filter <フィルター番号> pass * <自ルータのアドレス> udp * 1701
VPNパススルー(GRE)の設定
ip filter <フィルター番号> pass * * tcp * 1723
ip filter <フィルター番号> pass * * gre
デフォルトには無いのですが、外部のPPTPサーバに接続するために僕が追加したものです。
LANからWAN
続いて、LANからWANの方向、つまりルーターから出るときのIPフィルターを定義順に見ていきます。
出力フィルターとかOUTフィルターとも言います。
宛先がLAN側アドレスのパケットは破棄
ip filter <フィルター番号> reject <LAN側アドレス> * * * *
内側で使用しているネットワークが外に存在する筈が無いので、ここで落とします。
IPスプーフィング攻撃を防止する意図があります。
ポート番号が135(WindowsのRPC)のパケットは破棄
INフィルターと定義は同じです。
他のWindows系のサービスも同様なので省略します。
回線切断中に発信されるFINパケットは破棄
ip filter <フィルター番号> restrict * * tcpfin * www,21,nntp
WWWブラウザ終了時発呼を防止する意図があります。
回線切断中に発信されるRSTパケットは破棄
ip filter <フィルター番号> restrict * * tcprst * www,21,nntp
WWWブラウザ終了時発呼を防止する意図があります。
その他のすべてのパケットは通過
ip filter <フィルター番号> pass * * * * *
これが無いとDefaultによりすべて破棄されてしまいます。