セキュリティ : Cisco PIX 500 シリーズ セキュリティ アプライアンス

ピアツーピア ファイル共有プログラムを PIX ファイアウォールでブロックする方法

2005 年 2 月 28 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 6 月 14 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
PIX の設定
Blubster および Piolet に対する設定
eDonkey に対する設定
FastTrack - Kazaa/KazaaLite/Grokster/iMesh に対する設定
Gnutella - BearShare/Limewire/Morpheus/ToadNode に対する設定
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

この文書では、最も一般的な peer-to-peer(P2P; ピアツーピア)ファイル共有プログラムを、PIX ファイアウォールでブロックする(ブロックを試みる)方法を紹介します。 ファイル共有プログラムを PIX で効果的にブロックできない場合は、発信元ホストとインターネットの間にあるあらゆるシスコ ルータで設定できる Cisco IOS(R) Network-Based Application Recognition(NBAR)を使用します。

前提条件

要件

この文書に関する特別な要件はありません。

使用するコンポーネント

これらの設定のテストには、次の PIX ソフトウェアとハードウェアのバージョンを使用しましたが、あらゆるハードウェアおよびソフトウェア リビジョンで動作すると思われます。

  • Cisco PIX Firewall 501

  • Cisco PIX Firewall ソフトウェア バージョン 6.3(3)

  • Cisco IOS ソフトウェア リリース 12.2(13)T

これらの設定のテストには、次の P2P ソフトウェアのバージョンを使用しました。

  • Blubster バージョン 2.5

  • eDonkey バージョン 0.51

  • IMesh バージョン 4.2 ビルド 137

  • KazaaLite バージョン 2.4.3

  • LimeWire バージョン 3.6.6

  • Morpheus バージョン 3.4

この文書の情報は、特定のラボ環境にあるデバイスに基づいて作成されています。この文書内で使用されているデバイスはすべて、クリアな状態(デフォルト)から設定作業を始めています。対象のネットワークが実稼動中である場合には、すべてのコマンドによる潜在的な影響について確実に理解しておく必要があります。

表記法

文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

PIX の設定

interface ethernet0 10baset 
 interface ethernet1 10full 
 ip address outside dhcp setroute 
 ip address inside 192.168.1.1 255.255.255.0 
 global (outside) 1 interface 
 nat (inside) 1 0 0 
 http server enable 
 http 192.168.1.0 255.255.255.0 inside 
 dhcpd address 192.168.1.2-192.168.1.129 inside 
 dhcpd auto_config 
 dhcpd enable inside 
 pdm logging informational 
 timeout xlate 0:05:00

Blubster および Piolet に対する設定

Blubster と Piolet では、Multipoint P2P(MP2P; マルチポイント ポイントツーポイント)プロトコルが使用されています。 このプロトコルでは、最初にネットワークの中央サーバに接続してピア ホストの一覧を取得します。したがって、このプロトコルはアクセス リストで効果的にブロックできるので、プログラムが無効になります。 P2P 接続は、通常は TCP ポート 80 で行われます。しかし、最初の接続がブロックされると、ピア リストはダウンロードされません。

これを PIX に適用すると、プログラムをブロックできます。

 access-list outbound deny tcp any 128.121.0.0 255.255.0.0 eq www
 access-list outbound permit ip any any
 access-group outbound in interface inside
 

また、もう少し選択的に設定する場合は、次のように設定することも可能です

 access-list outbound deny tcp any 128.121.20.0 255.255.255.240 eq www
 access-list outbound deny tcp any 128.121.4.0 255.255.255.0 eq www
 access-list outbound permit ip any any
 access-group outbound in interface inside
 

eDonkey に対する設定

eDonkey では、ファイル検索用とファイル転送用の 2 つのポートが使用されます。 ファイルの検索は、ランダムに選択された UDP 発信ポートを使用して、ランダムな宛先ポートに対して行われます。 ファイル転送は、宛先の TCP/4662 ポートを使用して行われます。このポートをブロックすると、ファイルのダウンロードが阻止されます。 ところが、このプログラムの UDP の部分はアクセス リストでは効果的にブロックできないため、ファイルの検索は引き続き実行可能です。

デフォルトの TCP/4662 ポートは、プログラムのオプションによって簡単に変更できますが、ファイルがダウンロードされるポートには影響が及びません。 このポート番号のオプションは、使用している発信元ホストから他のホストがファイルのダウンロードに使用するポートのように見えます。 非常に多数の他の P2P ユーザが、それぞれの設定でこのポートを変更しない限り(非常に考えにくいことです)、TCP/4662 の発信をブロックするだけで、ファイルのダウンロードを停止させる(あるいは影響を非常に小さな範囲にとどめる)ことができます。

これらを PIX に適用することで、プログラムをブロックできます。

 access-list outbound deny tcp any any eq 4662
 access-list outbound permit ip any any
 access-group outbound in interface inside
 

FastTrack - Kazaa/KazaaLite/Grokster/iMesh に対する設定

FastTrack は、現在最も一般的に使用されている P2P ネットワークです。 Kazaa、KazaaLite、Grokster、および iMesh などの P2P ファイル共有アプリケーションは、すべてこのネットワークを使用しており、TCP/UDP の空ポートのいずれかを使用して他のホストに接続し、ファイルの検索とダウンロードを行います。 このため、これらはアクセス リストではフィルタリングできません。

注:PIX ファイアウォールでは、これらのアプリケーションをフィルタリングできません。 

これらのアプリケーションを効果的にフィルタリングするには、外部のルータ(あるいは、発信元ホストとインターネット接続との間にあるルータのいずれか)で NBAR を使用します。 NBAR では FastTrack ネットワークとの接続に特定した照合が可能で、パケットを完全に廃棄するか、レート制限をかけることができます。

FastTrack パケットを廃棄するための IOS ルータでの NBAR 設定例を次に示します。

 class-map match-any p2p
    match protocol fasttrack file-transfer *
 policy-map block-p2p 
    class p2p
       drop
 
 !--- drop コマンドは、
 !--- Cisco IOS ソフトウェア リリース 12.2(13)T で導入されました。
 
 int FastEthernet0
    description PIX-facing interface
    service-policy input block-p2p
 

ルータで Cisco IOS ソフトウェア リリース 12.2(13)T より前の Cisco IOS ソフトウェアが実行されている場合は、ポリシーマップで drop コマンドは使用できません。 このトラフィックを廃棄するには、ポリシーマップを使用して、当該のパケットがルータに着信した際に、そのパケットの DSCP ビットを設定するようにします。 次に、このビットが設定されているパケットをすべてルータから発信される際に廃棄するように、アクセス リストを定義します。 DSCP ビットを使用するのは、「通常の」トラフィックで DSCP が使用されることはまずないためです。 設定例を次に示します。

 class-map match-any p2p
    match protocll fasttrack file-transfer *
 policy-map block-p2p
    class p2p
       set ip dscp 1
 int FastEthernet0
    description PIX/Inside facing interface
    service-policy input block-p2p
 int Serial0
    description Internet/Outside facing interface
    ip access-group 100 out
 access-list 100 deny ip any any dscp 1
 access-list 100 permit ip any any
 

Gnutella - BearShare/Limewire/Morpheus/ToadNode に対する設定

Gnutella はオープン ソースのプロトコルであり、さまざまなオペレーティング システム上で 50 を超えるアプリケーションによって使用されています。 一般的な P2P アプリケーションには、BearShare、Limewire、Morpheus、および ToadNode があります。 これらのアプリケーションは、TCP/UDP の空ポートのいずれかを使用して他の P2P ホストと通信し、そこから他の多数のホストに接続します。このため、アクセス リストではこれらのプログラムをフィルタリングできません。

注:PIX ファイアウォールでは、これらのプログラムをフィルタリングできません。 

これらのプロトコルを効果的にフィルタリングするには、外部のルータで NBAR を使用します。 NBAR では Gnutella ネットワークとの接続に特定した照合が可能で、パケットを完全に廃棄するか、レート制限をかけることができます。

IOS ルータでの NBAR 設定例は、この文書の FastTrack のセクションで使用した例とよく似ています。 同じ class-map で Gnutella を照合する行を追加したものを次に示します。

 class-map match-any p2p
    match protocol gnutella file-transfer *
 

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 42700