| [User Interface] | |||||
FTPをファイアウォール・フレンドリ・モードに変更する方法デジタルアドバンテージ2001/05/15 |
|||||
Windows 2000では、FTPプロトコルを使ったファイル転送用のプログラムとして、Internet ExplorerやエクスプローラのFTPフォルダ機能が用意されている。現在でもFTPは、ファイル転送のための主要なプロトコルとして活用されている。しかしネットワークやファイアウォールの環境によっては、FTPのデフォルトのままの動作モードではインターネット上のFTPサーバへアクセスすることができない場合がある。ここではFTPプロトコルの仕組みや、その動作モードの設定方法について解説する。
FTPサービスには、ファイルの転送方法に関して2つの動作モードがあり、その用途に応じて使い分けられている。この違いは、FTPのデータ転送用コネクションの確立方法の違いによる。
FTPでは、「制御用コネクション」と「データ転送用コネクション」の2つのTCPコネクションを使用しながら動作している。ユーザーがFTPコマンドを起動してFTPサーバに接続するという場合、プロトコル的には、クライアント(の任意のポート番号)側からFTPサーバの21番ポート(FTPサービス・ポート)へ向けて、TCPコネクションをオープンする。これが制御用コネクションであり、ユーザーの認証や各種コマンドのやり取りなどはここで行われる(最後にQUITコマンドを送ると、制御用コネクションがクローズされ、FTPの全セッションが終了する)。これとは別にもう1つ、ファイルの内容をやり取りしたり(putやgetコマンド)、ディレクトリのリストを表示したり(dirコマンド)するたびに、「データ転送用コネクション」のためのTCP接続も新規に作られる。このデータ用のコネクションは、FTPの動作モードによってどちらの方からオープンするかが変わり、これによってファイアウォールの設定などに影響が出てくる。
FTPの動作モードとしては、以下の2通りがある。
■PORTモード/ノーマル・モード/アクティブ・モード
呼び方がいくつかあるようだが、こちらはFTPの標準的なデフォルトのファイル転送モードである。もともとデフォルトの動作なので特に決まった呼び方はないのだが、次に述べる「PASVモード」という用語と対比して、PORTモードとかアクティブ・モードなどと呼ばれることがある。「PORT」とは、FTPプロトコルでやり取りされるコマンドの1つで、データ転送用のポートの番号をやり取りするために使われている(注:ユーザーが指定するputやgetコマンドは、これらの低レベルなFTPプロトコルのコマンドを組み合わせて実現されており、プロトコル・レベルではPUTやGETというコマンドがあるわけではない)。
データ転送用のTCPコネクションは、FTPサーバの20番ポート(FTPデータ・ポート)からFTPクライアントに向けてオープンされる。つまり、FTPのクライアント・プログラムを実行しているほうが、FTPサーバからのTCPコネクションのオープンを待ち受けしているのである。これは、制御用コネクションの向きとは逆であることに注意されたい。この場合、待ち受けするポート番号はランダムだが、サーバ側のポート番号は(一般的なFTPサーバでは)20番を使っている。よって、このようなコネクションがファイアウォールを通過するためには、サーバ側からクライアント側に向けて、「ソースポート番号=20番、宛先ポート番号=任意」という着信パケットが通過するようにパケット・フィルタを開けておく必要がある。
■PASVモード/パッシブ・モード/ファイアウォール(フレンドリ)モード/Proxyモード
以上の方法とは逆に、FTPのクライアント側からFTPサーバの側へ向けてデータ転送用のTCPコネクションをオープンするのがこのPASVモードである(ポート番号は双方とも任意)。ネットワークの途中にファイアウォールが介在する場合でも、内部のネットワークからインターネット側へ向けたコネクションになるので、通常は(大抵のファイアウォール設定では、この方向は制限をかけていないので)何の制約もなく利用することができるだろう。そのため、「ファイアウォール(フレンドリ)モード」とか「PASVモード」などと呼ばれる。PASV(Passive、受身)もFTPプロトコルのコマンドの1つであるが、PORTが自分の待ち受けしているポート情報を相手に通知するコマンドであるのに対して、PASVでは相手に対して、待ち受けモードになるように指示するためのコマンドである。PASVコマンドを受け取ったFTPサーバは、待ち受けモードでスタンバイして、クライアントからのデータ転送コネクションのオープン要求が届くのを待つことになる。
もともとPASVコマンドは、2つのFTPサーバ間でファイルを転送する場合に、片方のサーバをPORTでオープンし、もう片方をPASVでオープンするために用意されていた機能であるが(FTPには、1つのFTPクライアントから同時に2つのFTPサーバに接続して、両者の間でファイルを転送するという機能が用意されていたが、一般的にはほとんど使われていない)、現在ではこのように単に転送の向きを反対にするためのコマンドとして利用されている。
FTPにおける以上2つの転送モードは、たいていの場合は特に意識しなくても問題はないだろうが、ファイアウォールの設定ポリシーによっては、どちらか一方しか使えない場合がある。一般的には、たいていのルータ(ダイヤルアップルータやNATをサポートしたブロードバンドルータなども含む)では(デフォルトでは)どちらのモードでも使えるようになっているが、インターネット側からの不正なアクセスなどを防ぐために、制限をきつく設定したファイアウォール(やルータ)では、インターネット側からのTCPコネクションのオープンを許さないようにすることがあり(内部からインターネット側は許可する)、そのせいでPORTモードを使ったデータ転送ができなくなってしまうのである。つまり、上記の2つの転送方法のうち、PASVモードならばパケットは通過するが、PORTモードのデータ転送ができなくなるのである。データ転送コネクションがオープンできなくなると、FTPサイトへ接続してログインすることはできるが(ログインは制御用コネクションでやり取りされる)、その後のファイル名の一覧表示やファイルの送信/受信が一切できなくなる(注意:ファイル一覧の表示にも、個別のデータ転送コネクションが必要)。
逆にいうと、FTPをPASVモードでのみ運用するようにすれば、ファイアウォールにおけるパケット・フィルタの制限をより強くすることができ(外部からの接続要求を認める必要がなくなる)、より安全性が増すことになる。別稿「常時接続時代のパーソナル・セキュリティ対策(第2回)――Routing and Remote Accessサービスのパケット・フィルタリング機能――」では、世の中のほとんどのFTPクライアントのデフォルトがPORTモードであることに考慮して、ソース・ポート番号として20番を持つ、インターネット側からのTCPの接続要求をわざと通すように設定する方法を紹介した(「5.パケット・フィルタの設定(1)」の設定ポリシーの解説を参照)。しかしこの設定方法では、FTP以外でも、「ソースポート番号=20番」のパケットは、パケット・フィルタを通過してしまうという問題点があった。つまり、ソース・ポート番号が20番で、宛先ポート番号に特定のサービスのポート番号を持つパケットを作成すれば、このフィルタをすり抜けて、サーバ内部のサービスへアクセスが可能となってしまうのである。実際にはこのタイプのクラッキングは非常にまれであり(手間がかかるので、もっと脆弱なマシンを狙うほうが簡単だから)、実用上はほぼ問題はないのだが、理想的にはこのようなパケットもすべて禁止しておきたいところだ。そのためには、クライアント側でFTPを使うなら、PASVモードだけに限定してもらう必要がある。
Windows 9x/Me/2000では、FTPクライアントとして、(1)エクスプローラのFTPフォルダ機能、(2)Internet Explorerのftpアクセス機能、(3)コマンド プロンプトのftp.exe機能、の3つがある。しかし最後のftp.exeは残念ながらPASVモードはサポートしていないのでPASVモードが必要な場合は、エクスプローラかInternet Explorer、もしくはその他の高機能なFTPクライアント・アプリケーションなどを利用するべきだろう。
ところで、(1)と(2)は、実体は同じものであり、オプションの設定も共通となっているので、以下でまとめて解説する。ただし実際にはIEのバージョンによってインプリメント方法が異なっているので、ここではIE 5.5(IE 5.5 SP1も含む)が導入された環境について解説するにとどめる。それ以前のバージョンのIEが導入されているケースについては、マイクロソフトのサポート技術情報にある「[IE] FTP サイトへのデータ転送モードについて」を参照されたい。
動作モードの設定
FTPの転送モードを設定するには、Internet Explorerの[ツール]−[インターネット オプション]−[詳細設定]にある、2つのオプションを設定する必要がある。IE 5.0までは[FTP サイト用のフォルダ ビューを使用する]の方しかなく、IE 5.5になって新しく[ファイヤウォールおよび DSL モデムとの互換性を保つために PASV モードをサポートする]の方が追加されたので、やや面倒になっている。
![]() |
||||||
| FTPの転送モード切り替えのためのオプション | ||||||
| FTPの転送モードを変更するには、Internet Explorerの[ツール]−[インターネット オプション]−[詳細設定]にある2つのオプションを設定する。デフォルトでは、上のオプションだけがオンになっている。 | ||||||
|
2つのオプションの組み合わせによる効果は以下のとおりである。PORTモードになるかPASVモードになるかは、
だけではなく、
の設定の影響も受ける。
はファイルの表示の方法を変えるだけでなく、転送モードの変更も伴っているのである。
| [ファイヤウォールおよびDSLモデムとの互換性を〜]が オフ の場合 | ||||
| 表示 | 受信 | 送信 | ||
| [FTPサイト用のフォルダ ビューを使用する] | オン | PORT | PORT | PORT |
| オフ | PASV | PASV | (不可) | |
| [ファイヤウォールおよびDSLモデムとの互換性を〜]が オン の場合 | ||||
| 表示 | 受信 | 送信 | ||
| [FTPサイト用のフォルダ ビューを使用する] | オン | PASV | PASV | PASV |
| オフ | PASV | PASV | (不可) | |
|
|
||||
| オプションによる転送モードの違い | ||||
| IE 5.0以前は、[FTPサイト用の〜]のオプションのみしかなく、PASVモードでファイルを送信(アップロード)することはできなかった。IE 5.5以降では、常にPASVモードを利用するためのオプション[ファイヤウォールおよび〜]が用意された。Webベース・ビューの場合は、ファイルの送信はできない。デフォルトでは、前者はオン、後者はオフとなっているので、すべてPORTモードが使われる。「(不可)」は送信できないことを表す。 | ||||
オプションによる表示方法の違い
[FTPサイト用のフォルダ ビューを使用する]というオプションを変更すると、転送モードが変わるだけでなく、表示の方法も変わることになる。
このチェックボックスはデフォルトでオンとなっており、FTPの表示は、エクスプローラと同様に、ツリー・ビューとファイルの一覧が表示される。一般的にはこのツリー・ビュー形式で、PASVモードにしておけばよいだろう。
![]() |
||||||
| FTPサイトのフォルダ・ビュー表示 | ||||||
| ローカルやネットワーク上のリソースをブラウズする時に使われるエクスプローラのフォルダ・ビュー表示と同じ形式。 | ||||||
|
次の画面は、[FTPサイト用のフォルダ ビューを使用する]オプションをオフにして、Webベースの表示形式にしたところ。従来のIE 5.0までは、このモードにするとFTPがPASVモードに変更されることになっていた。従来との互換性が高いモードであるが、ファイルの送信(アップロード)はできない。ファイアウォール環境でも利用しやすいモードだが、送信が行えないのでやや用途が限定されることになる。![]()
![]() |
|||
| Webベース表示 | |||
| \WebブラウザでFTPサイトやWebサイトにアクセスした場合と同様の、シンプルな表示形式。 | |||
|
| 関連記事(Windows Server Insider) | ||
| 運用:常時接続時代のパーソナル・セキュリティ対策(第2回)――Routing and Remote Accessサービスのパケット・フィルタリング機能―― | ||
| 運用:常時接続時代のパーソナル・セキュリティ対策(第2回) 5.パケット・フィルタの設定(1) | ||
| 関連リンク | ||
| マイクロソフト サポート技術情報(マイクロソフト) | ||
| [IE] FTP サイトへのデータ転送モードについて (マイクロソフト) | ||
|
||||||||||||||||||||||||||||
| 更新履歴 | |
|
| 「Windows TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- WindowsTIPS (2010/3/19)
− [シャットダウン]ボタンの設定を変更する
− WINSサーバをインストールする
− WINSサーバをnetshコマンドで管理する - Windows 7のファイアウォール機能 (2010/3/18)
Win 7のファイアウォールの概要解説。ルールセットを切り替えるプロファイル機能が強化され、ドメインでもVPNでも、適切なルールが自動選択される - 第212話 プリンタ用紙 (2010/3/16)
致命的なディスク・クラッシュが起きる確率は、クラッシュによってもたらされる被害の大きさに比例する… - WindowsTIPS (2010/3/12)
− 不要なアドオンを無効化してIE8の起動を高速化する
− IE8のソース表示エディタを変更する
− RRASのNATでポートマッピングを定義する
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |










