透過型ファイアウォール機能

$Date: 2012/11/07 06:59:46 $

概要

インタフェース間でブリッジングすることで通過するパケットの フィルタリングを行う、透過型のファイアウォール機能を提供します。

ルーター型のファイアウォール機能では、ルーターに接続するネットワークは 異なるセグメントでなければなりません。 そのため、ファイアウォール機能のみを利用したい場合でも 各インタフェースに異なるIPアドレスを割り当てなければならず、 既存のネットワークにファイアウォールを追加する ことが困難な場合がありました。

このような場合、透過型ファイアウォール機能を利用することで 既存のルーターやPCの設定を一切変更せずにファイアウォールを 設置することができます。 すでにインターネット接続用のルーターが設置されていてルーター を変更したくない場合や、多数の拠点に一斉にファイアウォールを 追加したい場合などは透過型ファイアウォール機能を利用すると 容易に導入することができます。

透過型ファイアウォール接続図

なお、各種フィルターの設定はルーター型と透過型どちらの場合も同様です。 従来のルーター型のファイアウォールの設定に慣れた方なら、動作タイプ の違いを意識することなく設定することができます。


注意事項


対応機種とファームウェアリビジョン

ヤマハRTシリーズでは、以下の機種およびファームウェアで、 透過型ファイアウォール機能をサポートしています。

機種 ファームウェア
FWX120 Rev.11.03.02以降
SRT100 Rev.10.00.38以降

詳細

透過型ファイアウォールとブリッジインタフェース

透過型ファイアウォール機能を利用するためには、 ブリッジインタフェースを利用します。 ブリッジインタフェースとは、インタフェース間でブリッジング を実現するための仮想的なインタフェースです。 以降の説明では、ブリッジインタフェースに収容された実インタフェース のことを収容インタフェースと呼びます。

例えばブリッジインタフェースに実インタフェースを収容するには、次のように 設定します。

    bridge member bridge1 lan1 lan2
    

コマンドの仕様は ブリッジインタフェースの説明で 詳細に説明していますが、ここではブリッジインタフェースを利用するためには lan1、lan2という実インタフェースを指定するだけでよいことを確認してください。 この例ではlan1、lan2が収容インタフェース、bridge1がそれらを収容した ブリッジインタフェースです。

収容インタフェース間でブリッジングすることで、 接続された各収容インタフェースは単一のセグメントとなります。 ある収容インタフェースで受信したパケットは、ブリッジインタフェースの 設定と終点MACアドレスに従って出力先が決定し、 決定した収容インタフェースから出力されます。 この過程で各種フィルターを適用することで透過型ファイアウォールを実現 します。 ここで、スイッチングハブを備えたLAN1の各ポート間ではフィルター が適用されないことに注意してください。フィルターが適用されるのは 収容インタフェース間を越える通信のみです。

フィルターの処理過程

ルーター型、透過型いずれの場合も、適用されるフィルターは同一です。 よってフィルターの処理過程はルーター型の場合も透過型の場合も ほぼ同様になります。

フィルターの処理順序

イーサネットフィルター不正アクセス検知入力遮断フィルター、 およびURLフィルター はインタフェース単位で処理されるフィルターです。 よって、これらのフィルターは透過型の場合も ルーター型の場合と同様に、パケットを送受信するインタフェース単位で 設定することができます。

一方で、ポリシーフィルターはコネクション単位で処理されるフィルター です。コネクション単位でフィルタリングを行うには、入力されたパケット がどこから出力されていくのかが定まっていなければなりません。 そのため、ポリシーフィルターの直前に行なわれる処理はルーター型 と透過型の場合で異なります。ルーター型の場合、ポリシーフィルターの 前に行われる処理はルーティングですが、透過型の場合はブリッジングです。

これらの違いは出力先のインタフェースを決定するときにIP層のアドレスを 参照するのか、データリンク層のアドレスを参照するのかの違いであり、 ポリシーフィルターから見たときの入出力インタフェースという点では、 そのどちらで出力先が決定されたのかを意識する必要はありません。

よって、ポリシーフィルターにおけるポリシーを定義する場合、 いずれの場合も実際にパケットを送受信する実インタフェースを指定することで コネクションを特定することができます。

ブリッジインタフェースや各フィルターの詳細は関連文書を ご覧ください。


透過型ファイアウォールの設定

透過型ファイアウォールの設定はおよそ次の手順で行います。

  1. ブリッジインタフェースの設定
  2. フィルターの設定
    1. 収容インタフェースに対するフィルターの設定
    2. コネクション単位のフィルターの設定

ルーター型の場合と異なるのはブリッジインタフェースの設定のみです。 フィルターの設定はルーター型と同様に設定することができます。

それでは具体的な状況を想定して、透過型ファイアウォールの設定を説明します。 ここでは、すでに設置されたWAN(インターネット)側のルーター(192.168.100.1)とL2スイッチ の間に透過型ファイアウォールを設置する場合を考えます。

lan2をルーター側、lan1をL2スイッチ側に接続するものとします。

ブリッジインタフェースの設定

まず、ブリッジインタフェースを設定します。lan1およびlan2をブリッジ ングする場合、次のように設定します。

# bridge member bridge1 lan1 lan2

この場合、lan1とlan2が収容インタフェースとして設定され、bridge1という 名前のブリッジインタフェースに収容されます。

lan1およびlan2から自身を端点とするIPパケットを送受信する 必要がある場合、ブリッジインタフェースにIPアドレスを設定します。

# ip bridge1 address 192.168.100.100/24

lan1とlan2はbridge1に収容されていますので、それぞれに接続 した物理セグメントは192.168.100.0/24のネットワークとなります。

同時に、デフォルトゲートウェイとDNSサーバーのアドレスが192.168.100.1である場合、 次のようにデフォルト経路とDNSサーバーを設定します。

# ip route default gateway 192.168.100.1
# dns server 192.168.100.1

特に外部データベース参照型URLフィルターを利用するためには、 設置した透過型ファイアウォールから インターネットにアクセスできる必要があります。 そのためには上記のようにデフォルト経路とDNSサーバーを設定してください。

収容インタフェースに対するフィルターの設定

ポリシーフィルターを除いて、各種のフィルターはインタフェース単位で 設定します。これはルーター型、透過型を問わず同様です。

透過型ファイアウォールとして設定する場合、これらのフィルターは収容インタフェースごとに設定します。 ここではlan1またはlan2にフィルターを適用します。

イーサネットフィルター

イーサネットレベルでのフィルタリングを行う場合、イーサネットフィルター を使用します。ここでは、lan1がL2スイッチに接続されていますので、lan1 にイーサネットフィルターを適用します。

例えば、MACアドレスが00:a0:de:01:02:03のホスト以外のパケットを破棄 するには次のように設定します。

# ethernet filter 1 pass-nolog 00:a0:de:01:02:03
# ethernet filter 100 reject-log *
# ethernet lan1 filter in 1 100

入力遮断フィルター

収容インタフェースで受信したパケットを早期に破棄したい場合、入力 遮断フィルターを使用します。入力遮断フィルターはIP層のフィルターで あり、受信したパケットのIPアドレス等に基づいてフィルタリングを行う ことができます。

例えば、ルーター側からWindowsファイル共有に関するパケットが送られて くることがない場合、lan2に次の入力遮断フィルターを設定します。

# ip lan2 inbound filter list 1001 1002 1003 1004 1005 1006 1100
# ip inbound filter 1001 reject-nolog * * tcp,udp * 135
# ip inbound filter 1002 reject-nolog * * tcp,udp 135 *
# ip inbound filter 1003 reject-nolog * * tcp,udp * netbios_ns-netbios_ssn
# ip inbound filter 1004 reject-nolog * * tcp,udp netbios_ns-netbios_ssn *
# ip inbound filter 1005 reject-nolog * * tcp,udp * 445
# ip inbound filter 1006 reject-nolog * * tcp,udp 445 *
# ip inbound filter 1100 pass-nolog * * * * *

不正アクセス検知

入力遮断フィルターと同様に、不正アクセス検知を動作させる場合は ルーター側の収容インタフェースであるlan2に不正アクセス検知を設定 するのが典型的な使い方です。

例えばICMPに関する攻撃を検出する場合、次のように設定します。

# ip lan2 intrusion detection in on
# ip lan2 intrusion detection in icmp on reject=off
# ip lan2 intrusion detection in default off

URLフィルター

外部データベース内部データベース参照型URLフィルターも 不正アクセス検知と同様です。

例えば www.example.com へのアクセスを遮断する場合には、 lan2に次の内部データベース参照型URLフィルターを設定します。

# url filter 1 reject www.example.com
# url filter 100 pass *
# url lan2 filter out 1 100

なお、外部データベース参照型URLフィルターを利用する場合、設置した透過型ファイアウォール自身からインターネットへ アクセスできるようにした上で、DNSによる名前解決が可能である必要があります。 外部データベース参照型URLフィルターを利用する場合は 外部データベース参照型URLフィルター に記載された注意事項を確認してください。

コネクション単位のフィルターの設定

ポリシーフィルター

Stateful Inspection方式のフィルターであるポリシーフィルターは コネクション単位で設定するフィルターです。 透過型で利用する場合、ルーター型で利用する場合と同様に、 ブリッジングされるパケットに対してポリシーに基づいたStateful Inspection 方式のフィルタリングを行うことができます。

ブリッジングされたコネクションを指定するために受信インタフェース あるいは送信インタフェースを指定する場合、収容インタフェースを指定します。

例えば、WAN側からのtelnet接続を破棄するように指定したい場合、 受信インタフェースがlan2, 送信インタフェースがlan1であるものとして 次のようにポリシーを設定します。

# ip policy filter 1000 reject-nolog lan2 lan1 * * telnet

関連文書