RTシリーズのIPパケット・フィルタに関するFAQ
FTPサーバを公開するフィルタ/FTPサーバに接続するフィルタ設定例
新規作成日 | 2000/Jun/29 |
最終変更日 | 2018/Nov/06 |
文書サイズ | 26KB |
FTPサーバを公開するフィルタ/FTPサーバに接続するフィルタを教えてください
[ FTPの通信 ]
FTPの通信には、いくつかの種類があります。 フィルタ設定を行なうには、これらを理解していないと ある程度のセキュリティを保ちながらサービス提供をする フィルタを実施することはできません。
また、ネットワーク環境およびセキュリティポリシーによっては、 FTPのサービスを制限するという方針もあるでしょう。
FTPには、コマンドの送信と応答を行なう制御のための接続(制御コネクション) と、データの送受信を行なうための接続(データコネクション)の2つが 同時に接続されます。 制御コネクションはFTPによる通信を行っている間はずっと張られたままになっており、 コマンドのやりとりおよびデータコネクションの制御を行います。 データコネクションは必要に応じて張られ、必要が無くなれば切断されます。
(TCP/IPネットワークまたはインターネット) ====================================================================== | | +---------+---------+ +---------+---------+ | FTPサーバ | | FTPクライアント | | | | (WWWブラウザ) | | | <制御コネクション:TCP> | | | | ───────────── | | | | | | | | <データコネクション:TCP> | | | | ───────────── | | | | | | +-------------------+ +-------------------+ |
制御コネクションは、FTPクライアントからFTPサーバに張られますが、 データコネクションの張り方には、2つの張り方があります。
データコネクションの接続手順
(TCP/IPネットワークまたはインターネット) ====================================================================== | | +---------+---------+ +---------+---------+ | FTPサーバ | | FTPクライアント | | | | (WWWブラウザ) | | | <制御コネクション:TCP> | | | [21]| ←──────────── |[*](1024〜65535) | | | | | | | <データコネクション:TCP> | | | [20]| ────────────→ |[*](1024〜65535) | | | | | +-------------------+ +-------------------+ |
データコネクションの接続手順
(TCP/IPネットワークまたはインターネット) ====================================================================== | | +---------+---------+ +---------+---------+ | FTPサーバ | | FTPクライアント | | | | (WWWブラウザ) | | | <制御コネクション:TCP> | | | [21]| ←──────────── |[*](1024〜65535) | | | | | | | <データコネクション:TCP> | | | (1024〜65535)[*]| ←──────────── |[*](1024〜65535) | | | | | +-------------------+ +-------------------+ |
フィルタなどのセキュリティ条件によって、FTP通信の可否が決まる。
また、通信路の途中で、アドレス変換機能(NATなど)が働いている場合には、
FTP通信が不能になる場合(特にPORT)がある。その場合は、
PASVを用いると通信可能となる場合
もある。
条件 | 結論 | ||||
FTPサーバ側の環境 | FTPクライアント側の環境 | FTPの可否 | |||
PORT | PASV | PORT | PASV | PORT | PASV |
○ | ○ | ○ | ○ | ○ | ○ |
○ | ○ | ○ | × | ○ | × |
○ | ○ | × | ○ | × | ○ |
PORT | PASV | PORT | PASV | PORT | PASV |
○ | × | ○ | ○ | ○ | × |
○ | × | ○ | × | ○ | × |
○ | × | × | ○ | × | × |
PORT | PASV | PORT | PASV | PORT | PASV |
× | ○ | ○ | ○ | × | ○ |
× | ○ | ○ | × | × | × |
× | ○ | × | ○ | × | ○ |
×: 利用を禁止している機能、通信できる ○: 利用を許可している機能、通信できる
[ PORT通信のフィルタ ]
インターネットを介して基本となるフィルタ設定の 適用されたRT(A)とRT(B)があるネットワーク環境で、FTPサーバと FTPクライアント(WWWブラウザ)が通信するために必要な、フィルタの 設定を紹介する。
(TCP/IPネットワークまたはインターネット) ====================================================================== | | +----[WAN]----+RT(A) RT(B)+----[WAN]----+ | +--+--+ | | +--+--+ | | |↓|↑| |PP側フィルタ PP側フィルタ| |↓|↑| | | +--+--+ | | +--+--+ | | | | | | | | (R) | | (R) | | | | | | | | +--+--+ | | +--+--+ | | |↓|↑| |LAN側フィルタ LAN側フィルタ| |↓|↑| | | +--+--+ | | +--+--+ | +----[LAN]----+ 172.16.184.33 192.168.0.1 +----[LAN]----+ | | =======+======= 172.16.184.32/28 192.168.0.0/24 =======+======= | | +---------+---------+ 172.16.184.34 192.168.0.2 +---------+---------+ | FTPサーバ | | FTPクライアント | | | | | | | <制御コネクション:TCP> | | | [21]| ←──────────── |[*](1024〜65535) | | | | | | | <データコネクション:TCP> | | | [20]| ────────────→ |[*](1024〜65535) | | | | | +-------------------+ +-------------------+ |
基本となるフィルタ設定では、
FTPサーバへの「制御コネクション」の接続は、拒否されます。
「データコネクション」の接続は、
12番(established)
によりFTPクライアントへ通過させることができます。
よって、172.16.184.34のFTPサーバを公開するフィルタを 追加設定する必要があります。
# フィルタ定義例 (FTPサーバが172.16.184.34の場合)
ip filter 16 pass * 172.16.184.34 tcp * 21 |
# フィルタ定義例 (FTPクライアントのポート番号を49152-65535に制限する場合)
ip filter 16 pass * 172.16.184.34 tcp 49152-65535 21 |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 16 |
基本となるフィルタ設定では、
FTPサーバへの「制御コネクション」の接続は、
12番(established)
により通過させることができます。
「データコネクション」の接続は、FTPクライアントへ接続する通信を
通過させるフィルタ
14番(ftpdataを通すフィルタ)
により通過させることができます。
もし、FTPのPORTによるデータ通信が不要であれば、 14番を 適用から外して、FTPのデータコネクションを拒否する ことができます。
# フィルタ定義例 (14番)
ip filter 14 pass * 192.168.0.0/24 tcp ftpdata * |
# フィルタ定義例 (14番
の待ち受けポートを制限する場合)
ip filter 14 pass * 192.168.0.0/24 tcp ftpdata 1024-65535 |
# フィルタ定義例 (14番
の待ち受けポートを49152-65535に制限する場合)
ip filter 14 pass * 192.168.0.0/24 tcp ftpdata 49152-65535 |
# フィルタ適用例 (接続先のPP番号が1で、
14番を適用しない場合)
pp select 1 ip pp secure filter in 10 11 12 13 15 |
[ PASV通信のフィルタ ]
インターネットを介して基本となるフィルタ設定の 適用されたRT(A)とRT(B)があるネットワーク環境で、FTPサーバと FTPクライアント(WWWブラウザ)が通信するために必要な、フィルタの 設定を紹介する。
(TCP/IPネットワークまたはインターネット) ====================================================================== | | +----[WAN]----+RT(A) RT(B)+----[WAN]----+ | +--+--+ | | +--+--+ | | |↓|↑| |PP側フィルタ PP側フィルタ| |↓|↑| | | +--+--+ | | +--+--+ | | | | | | | | (R) | | (R) | | | | | | | | +--+--+ | | +--+--+ | | |↓|↑| |LAN側フィルタ LAN側フィルタ| |↓|↑| | | +--+--+ | | +--+--+ | +----[LAN]----+ 172.16.184.33 192.168.0.1 +----[LAN]----+ | | =======+======= 172.16.184.32/28 192.168.0.0/24 =======+======= | | +---------+---------+ 172.16.184.34 192.168.0.2 +---------+---------+ | FTPサーバ | | FTPクライアント | | | | | | | <制御コネクション:TCP> | | | [21]| ←──────────── |[*](1024〜65535) | | | | | | | <データコネクション:TCP> | | | (1024〜65535)[*]| ←──────────── |[*](1024〜65535) | | | | | +-------------------+ +-------------------+ |
よって、172.16.184.34のFTPサーバを公開するフィルタを 追加設定する必要があります。
# フィルタ定義例 (FTPサーバが172.16.184.34の場合)
ip filter 16 pass * 172.16.184.34 tcp * 21,1024-65535 |
# フィルタ定義例 (FTPクライアントのポート番号を制限する場合)
ip filter 16 pass * 172.16.184.34 tcp 1024-65535 21,1024-65535 |
# フィルタ定義例 (FTPクライアントのポート番号を49152-65535に制限)
ip filter 16 pass * 172.16.184.34 tcp 49152-65535 21,49152-65535 |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 16 |
基本となるフィルタ設定の 12番(established)により 外部のHTTPサーバに接続する通信が通過することができる。
[ 設定の注意事項 ]
説明のためにIPアドレス(TCP/IPネットワーク)として、 192.168.0.0/24を用いております。 内側のネットワークがグローバルアドレスでも、プライベートアドレスでも、 アドレスを調整するだけで、ほぼ同等の設定となります。
実際に適用する場合には、実際のネットワーク状況に合せて調整してください。
ポート番号は、一般的な利用環境で利用されているものを 御紹介しております。 サーバやクライアントで変更可能であったり、 アドレス変換機能など介することでポート番号が変換されることも あります。 ご利用環境を十分調査してから最終的なフィルタ設定を行なってください。
RTシリーズのIPパケットフィルタは、 NATの内側で適用されているため、 NAT変換の有無をほとんど気にすることなく、設定(適用)することができます。
しかし、実際の通信では、NATやIPマスカレードのアドレス変換機能を 通すための追加設定が必要である場合があります。 例えば、RTシリーズでは、静的NATや静的IPマスカレードといった設定です。
[ トラブル対策 ]
FTPサーバとFTPクライアントの通信形態やセキリィティ機能などの 利用環境に依存して、FTP通信ができないことがあります。 例えば、PORTのデータ通信をしていたら、PASVを試してみるなど、 利用環境を変更して試してみてください。
WWWブラウザは、通常、PASVでデータ転送を行ないます。 FTPコマンドは、PORTでデータ転送を行ないます。 利用環境に依存して、PASVは可能だが、 PORTが利用できない環境である可能性があります。 このような場合は、そのままWWWブラウザを利用するか、 PASVの利用できるFTPクライアントでデータ転送を行なって ください。
WWWブラウザは、通常、PASVでデータ転送を行ないます。 FTPコマンドは、PORTでデータ転送を行ないます。 利用環境に依存して、PORTは可能だが、 PASVが利用できない環境である可能性があります。 このような場合は、そのままFTPコマンドを利用するか、 WWWブラウザの設定を変更してPASVを利用しないようにして データ転送を行なってください。
また、FTPの通信路にアドレス変換機能(NAT)が設置されている場合、 アドレス変換機能がPORTに対応していない可能性もあります。 アドレス変換機能の確認も実施してみてください。
[ 基本となるフィルタ ]
インターネット DNSサーバ メールサーバ ↑ │ │ │ <プロバイダ> ━━━━┯━┷━━━━━━━┷━━━━━━━┷━━━━━━━━━ │ ┌───┴───┐ │ ルータ │ └───┬───┘ : :ISDN回線や専用線 : ┌───┴───┐ │ ルータ │ └───┬───┘ │ 192.168.0.1 192.168.0.0/24 ━━━━┷━━━━┯━━━━━━━━━━━━━━━━━━━━━━ │ 192.168.0.2〜192.168.0.254 <端末アドレス> ┌───┴───┐ │ コンピュータ │ └───────┘ |
# フィルタ定義例 (LAN側ネットワークが192.168.0.0/24の場合)
ip filter 10 reject 192.168.0.0/24 * * * * ip filter 11 pass * 192.168.0.0/24 icmp * * ip filter 12 pass * 192.168.0.0/24 established * * ip filter 13 pass * 192.168.0.0/24 tcp * ident ip filter 14 pass * 192.168.0.0/24 tcp ftpdata * ip filter 15 pass * 192.168.0.0/24 udp domain * ip filter source-route on ip filter directed-broadcast on |
# フィルタ適用例 (接続先のPP番号が1の場合)
pp select 1 ip pp secure filter in 10 11 12 13 14 15 |
[ 関連情報 ]
[ FAQ for RT-Series ]
[ FAQ for IP Packet Filter / files / TCP/IP ]