Carpe Diem

  Top > スポンサー広告> FTPサーバ > FTPサーバ構築(パッシブFTP)  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FTPサーバ構築(パッシブFTP)

2012 - 02/19 [Sun] - 19:18

FTPには

・PORTモード(アクティブFTP)
・PASVモード(パッシブFTP)


の2通りの接続があります。この違いについて述べていきます。
まずですが、FTPではポートを2つ使用してます。

1つは制御用、もう1つはデータ転送用です。PORTとPASVではこのポートが異なります。
PORTモードがFTPの元来の使用方法で、
制御・・・21番ポート
データ転送・・・
20番ポート

を通してFTPクライアントから接続するときに使用します。PASVモードはブラウザ等からアクセスすることが可能であり、
制御・・・21番ポート
データ転送・・・
任意のポート

を使用します。

ではどんなメリットがあるのか、大きな違いは何かを説明します。

◆パッシブではデータ転送用ポートの設定が不要
アクティブFTPではデータ転送のために20番ポートに対して

ルータによるポートの開放
IPマスカレード設定
サーバのFW(ファイアウォール)のポート開放


などが必要でした。これが設定されていないと接続自体できません(LIST命令も返ってこない)。

これは「外から内への接続はルータやFWで制限される」ためです。当然ですね。私もこれは知っていました。重要なのは次です。

逆にいうと「中から外は制限されない」となるわけです。

そう、内から外への接続であれば、上記の設定をしなくても接続できます。私は勘違いしていて、「とにかく接続するためには必ずポート開放をしなくてはならない」と思っていました。

これを利用したのがパッシブFTPで、FTPクライアントから21番ポートに対して接続することを伝え、「サーバ側にデータ転送用ポートの準備をしてもらう」のです。これにより、内から外への接続が準備され、ルータやFWの開放をすることなしにクライアントとの接続を確立できます。
これにより外部から見えてしまうポートを減らせますし、パッシブでデータ転送に使用するポートは毎回変更されるのでセキュリティ的にはこちらが推奨されています。

なのでパッシブであれば、制御用ポートである
21番ポートを解放する

だけで接続できます。


◆実際のサーバの設定方法
以前でしたらconfファイルを編集したりする必要がありましたが、現在ではルータがほとんど対応しているので特に必要ありません。
逆に対応しているのにconfファイルでPASV系の編集をすると「LIST」命令で止まることがあります(私はこれでずっとできませんでした)。
つまり、サーバ構築系サイトでたまに書いてあるパッシブ系設定の
pasv_enable=YES
pasv_address=ルータのWAN側のIPアドレス (デフォルト:なし サーバのNICアドレス)
pasv_addr_resolve=YES

pasv_min_port=最小ポート番号 (デフォルト:0 任意のポートを使用)
pasv_max_port=最大ポート番号 (デフォルト:0 任意のポートを使用)


などを書かないことがポイントでした。

私の失敗例として
pasv_enable=YES
pasv_address=ルータのWAN側のIPアドレス
pasv_addr_resolve=YES
pasv_min_port=最小ポート番号
pasv_max_port=最大ポート番号


としていたわけなんですが、問題なのがNAT問題解決のための
pasv_address
pasv_addr_resolve


の部分。ここをルータが自動で解決してくれるのに、自分で中途半端な設定をしてしまうとログインはできても「LIST」で止まって接続できません。

◆クライアント側の設定
filezillaでしたら

編集→設定→FTP→パッシブ を選択すればOKです。接続時のログに「PASV」と表示されるようになります。


◆実際に接続すると
パッシブFTPで接続し、データ転送を行うと
$ sudo netstat -untap

した際に、複数のポートで
TIME_WAIT

の状態が現れます。これはサーバ側で任意でデータ転送ポートを指定しているからですね。
一方アクティブFTPで接続すると20番ポートで「TIME_WAIT」が現れます。規定通りですね。


以上です。
次回はSSLを用いたFTPSや、SSHを用いたSFTPについて解説します。


ソース:
アクティブFTPとパッシブFTP
FTPサーバ(vsftpd)の構築(RedHat系編)
FTPサーバー接続時のLIST取得失敗について・・・。

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。