【えふてぃーぴーさーば】

FTPサーバ とは?

最終更新:
💡 命令とデータの接続を分ける、ファイル転送の受付

FTPでファイルの送受信を受け付けるサーバ。命令をやり取りする制御接続と、ファイルなどを送るデータ接続を分けて使う。通常のFTPは通信を暗号化しない。

📌 このページのポイント
FTP:ファイルを送受信する 利用者のPC FTPサーバ 制御:通常TCP 21 アップロード ダウンロード データ接続の作り方はモードによる 通常のFTPは暗号化されない FTPSはTLS、SFTPはSSHを利用
制御接続とデータ接続は別。矢印はファイルの移動方向を示す。
ひよこ ひよこ
FTPサーバって何?
ペンギン先生 ペンギン先生
FTPという通信手順で、ファイルを受け取ったり送ったりするサーバだよ。クライアントからアップロードやダウンロードを依頼する。命令と応答のための制御接続と、ファイルなどを送るデータ接続を使うんだ。
ひよこ ひよこ
ポート21につながれば、ファイルも送れる?
ペンギン先生 ペンギン先生
制御接続の標準ポートはTCP 21だけど、データ接続は別だよ。アクティブではサーバ側から、パッシブではクライアント側からデータ接続を始める。データのポートをいつも20に固定して考えることはできないんだ。
ひよこ ひよこ
通信は暗号化されるの?
ペンギン先生 ペンギン先生
通常のFTPでは暗号化されず、認証情報やデータを読み取られるリスクがあるよ。暗号化が必要なら、TLSを使うFTPSやSSH上のSFTPなど、相手と対応方式を確かめるんだ。
ひよこ ひよこ
SFTPとFTPSは同じ?
ペンギン先生 ペンギン先生
別の方式だよ。FTPSはFTPにTLSを使い、制御とデータの接続を持つ。SFTPはSSHの暗号化された通信上で動く別プロトコル。名前が似ていても、接続先やクライアントの設定をそのまま交換できるわけではないんだ。
ひよこ ひよこ
ログインできるのに転送できないこともある?
ペンギン先生 ペンギン先生
あるよ。データ接続が確立できない場合があるから、使用モード、接続先のポート、ファイアウォールやNATの設定を確認する。原因を確かめずに広くポートを開放するより、必要な通信範囲を絞って確認しよう。
もっと詳しく知りたい人へ

FTPSなら、制御接続だけ暗号化すればファイルも保護される?

RFC 4217の方式では、それだけでは保護されない。AUTH TLSで制御接続のTLSを開始しても、データ接続の保護は別に交渉する。PBSZの後にPROT Pを使ってデータ接続にもTLSを要求するなど、制御とデータの両方の設定を確認する必要がある。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「FTPサーバ」って出てきたら「FTPでファイルの送受信を受け付けるサーバ」と思えばだいたいOK!
📖 おまけ:英語の意味
「FTP Server / File Transfer Protocol Server」 = ファイル転送プロトコルのサーバ
💬 FTPはFile Transfer Protocolの略。RFC 959は、初期のFTPの仕様として1971年のRFC 114などを挙げているよ

参考資料

← 用語集にもどる