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

概要

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

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

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

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

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

注意事項

  • PPPoEには対応していません。
    そのため、インターネット側(WAN側)に設置することはできません。
  • LAN1の各ポート間の通信にフィルターを適用することはできません。

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

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

機種 ファームウェア
RTX820 Rev.11.03.16以降

詳細

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

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

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

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

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

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

透過型ファイアウォールとして設定する場合、これらのフィルターは収容インタフェースごとに設定します。ここでは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

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

ポリシーフィルター

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

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

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

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

関連文書

ページトップへ戻る