FTPは「File Transfer Protocol」の略称で、ネットワークを通じて別のコンピュータへファイルを送受信するためのプロトコルです。Webサーバーへコンテンツをアップロードしたり、社内外でデータを受け渡ししたり、バックアップデータを転送したりと、ファイル転送のための“共通言語”として長く利用されてきました。
一方で、FTPは歴史が長いぶん、現代のセキュリティ要件(暗号化や厳格な認証・監査)と衝突しやすい面もあります。FTPを「使える/使えない」と単純に判断するのではなく、どの条件なら許容できるのか、代替(FTPS・SFTPなど)をどう選ぶのかまで含めて理解することが重要です。

FTPはTCP/IP上で動作し、制御用(コントロール)とデータ転送用(データ)の2種類の通信を使い分けるのが特徴です。制御用の通信では、ログイン、ディレクトリ移動、一覧取得、転送開始といったコマンドや応答がやり取りされます。データ転送用の通信は、実際のファイル本体やディレクトリ一覧など、まとまったデータを運ぶために使われます。
FTPで実行できる代表的な操作は、ファイルのアップロード/ダウンロードに加えて、ファイル削除、名前変更、ディレクトリ作成・削除、属性(パーミッション)の変更などです。これらの操作が標準化されているため、FTPクライアントを使えば異なるOSや環境でも同じ感覚で扱いやすい、という利点があります。
FTPはクライアントとサーバーの間で動作します。クライアントがFTPサーバーへ接続し、認証後にファイルをアップロードまたはダウンロードできるようになります。接続時には通常、ユーザー名とパスワードによる認証が行われます(匿名FTPのように例外もあります)。
一般的に、FTPサーバーは制御用にTCP 21番ポートで待ち受けます。クライアントが21番に接続し、ログインなどのコマンドをやり取りしたうえで、ファイル転送などが必要になるとデータ転送用の別チャネルが確立されます。この「別チャネル」が、ネットワーク機器(ファイアウォールやNAT)と相性が悪いと言われる理由にもつながります。
また、FTPにはアクティブモードとパッシブモードという2つの接続方式があります。アクティブモードではサーバー側からクライアントへデータ接続を張るため、クライアント側が受け入れ可能な状態である必要があります。パッシブモードではクライアント側からサーバーの指定ポートへ接続するため、現在はパッシブモードが用いられることが多いです。いずれの場合も、データ転送で利用するポートが固定ではなくなりやすく、環境によっては追加の許可設定が必要になります。
FTPはインターネットの前身であるARPANET時代から利用されてきた、非常に古いプロトコルの一つです。長い歴史の中で、コマンド体系や運用の考え方が整備され、さまざまなOS・製品に実装されてきました。
ただし、FTP自体はもともと暗号化を前提に設計されておらず、現代の脅威環境にそのまま適合するわけではありません。歴史と普及度の高さは強みである一方、セキュリティ要件が厳しい環境では、FTPを直接使うよりも、暗号化や強い認証が可能な手段へ置き換えるのが一般的になっています。
FTP(File Transfer Protocol)は、その名の通りファイル転送を行うためのプロトコルです。長年使われてきた確かな技術である一方、現代のセキュリティ要件と照らすと欠点もはっきりしています。採用の是非を判断するために、利点と欠点を整理しておきましょう。
まず、FTPは汎用性があります。古くから広く普及しているため、Windows、macOS、Linuxなど多くのOSにFTPクライアント/サーバーの実装が存在し、環境差を吸収しやすいのが特徴です。GUIのクライアントからコマンドラインまで選択肢も多く、運用形態に合わせやすい点もメリットです。
また、FTPは大量転送に向く運用が組みやすいという意味で効率的です。複数ファイルの一括転送、ディレクトリ単位のアップロード/ダウンロードなどがやりやすく、更新作業の手順を定型化しやすい傾向があります。
さらに、FTPは操作性に長けています。転送だけでなく、サーバー側のファイル名変更・削除・ディレクトリ作成などの操作がコマンドとして標準化されており、同じ操作を繰り返す作業を整理しやすいのが利点です。
一方で、FTPには明確な欠点があります。最大の問題点はセキュリティです。通常のFTPは通信内容が暗号化されず、ユーザー名・パスワードを含めてネットワーク上を平文で流れます。第三者に通信を傍受されると、認証情報が漏洩し、ファイル内容も読み取られる可能性があります。改ざんやなりすましといったリスクも否定できません。
もう一つの欠点は、ファイアウォールやNATとの相性です。FTPは制御用とデータ用で接続が分かれ、さらにアクティブ/パッシブで接続方向やポートの使い方が変わります。ネットワーク境界で厳密に制御している環境では、許可すべきポートや通信方向の設計が難しくなることがあります。
以上がFTPの利点と欠点です。FTPは使い勝手の良さと実績がある一方、セキュリティ面の弱点は構造的です。用途や環境に応じて、FTPを使うのか、暗号化された方式へ切り替えるのかを判断することが重要です。
文書、画像、動画、ログ、バックアップなど、日々生まれるデータは「必要な場所へ移す」ことで価値を発揮します。FTPはその移動を行うための代表的な仕組みであり、単なるファイル転送だけでなく、転送に付随する管理機能も備えています。
FTPの最も基本的で主要な機能は「ファイル転送」です。FTPを使用すると、クライアントとサーバー間(あるいは接続先のサーバー上)でファイルを送受信できます。Webサイトの公開(アップロード)、更新差し替え、ソフトウェア配布、バックアップ転送など、さまざまな目的で利用されます。
実務では「一括でたくさんのファイルを動かす」「決まったディレクトリへ入れる」「定期的に同じ作業を繰り返す」といった要件が多く、FTPはそうした要件を手順化しやすい点で使われ続けてきました。ただし、セキュリティ要件が高い場合は、同様の操作性を保ちつつ暗号化できる方式の採用が望まれます。
FTPは転送だけでなく、サーバー上のディレクトリ構造を操作できます。新しいディレクトリの作成、名前変更、削除、移動などの操作が可能です。Webサイト運用のようにディレクトリ単位でファイルを管理するケースでは、この機能が作業効率に直結します。
一方で、ディレクトリ操作は「誤操作による削除」「権限設定ミスによる公開範囲の拡大」といったリスクにもつながります。運用上は、権限の最小化、作業手順の標準化、バックアップの確保などの対策が重要です。
FTPはファイル転送・ディレクトリ操作のほかにも、ファイルのパーミッション(アクセス権)の設定や変更、ファイルサイズや更新日時などの情報参照を行えます。また、複数の転送をキューに積んで順番に処理したり、再試行を行ったりといった機能は、主にFTPクライアント側の実装として提供されることが多いです。
ただし、こうした便利さは「どの認証情報で、誰が、どこへ転送できるか」という管理とセットで考える必要があります。特に業務利用では、転送先・転送対象・権限範囲を明確にし、監査可能な形に整えることが重要です。
FTPはさまざまなシーンで利用されますが、いずれも「ファイルをまとまって扱う」作業と相性が良いのが特徴です。ここでは代表的な使い道を3つ紹介します。
FTPはWebサイト制作・運用におけるファイル転送手段として長く使われてきました。ローカルPCで作成したHTMLや画像などをWebサーバーへアップロードし、公開状態にします。ファイル点数が多いサイトでも、ディレクトリ単位でまとめて転送しやすい点はメリットです。
ただし、現在はCMSやCI/CD、オブジェクトストレージの活用など選択肢も増えています。FTPを使い続ける場合でも、暗号化された方式の採用や、作業者ごとのアカウント管理など、セキュリティ要件に合わせた運用が必要です。
FTPはデータのバックアップ転送にも利用されてきました。例えば、社内サーバーへ定期的にログや成果物を転送する、別拠点へバックアップを送るといった使い方です。定期ジョブ化しやすい点が利点ですが、バックアップ対象には機密情報が含まれることが多いため、通常のFTPでの運用は慎重に判断する必要があります。
バックアップ用途では、暗号化(FTPS・SFTPなど)に加えて、転送先の権限分離、保存期間、改ざん対策、復元手順の検証まで含めて設計すると、実務上のトラブルを避けやすくなります。
大量のファイルをまとめて転送したい場面でもFTPは使われます。例えば、素材データ、配布物、ログなどを一括で送るケースです。GUIのFTPクライアントを使えば、ドラッグ&ドロップや同期機能で作業がしやすい場合もあります。
一方で、インターネット越しの転送で通常のFTPを使うと、傍受や認証情報漏洩のリスクが高まります。外部ネットワークを跨ぐ場合は、原則として暗号化された手段を検討するのが安全です。
FTPを理解するうえでは、代表的なコマンドと「何をしているのか」を把握しておくと役に立ちます。ここでは、コマンドラインでFTPを利用する場合に登場しやすい基本コマンドを紹介します。なお、近年の環境ではセキュリティの観点から、単純なFTPクライアントが標準で無効化されている場合もあります。その場合は、FTPS/SFTP対応クライアントの利用を検討してください。
FTPサーバへの接続にはftpコマンドを使用することがあります(環境によって利用可否が異なります)。ホスト名とポート番号を指定する例は次の通りです。デフォルトの制御ポートは21です。
ftp <hostname> 21
接続に成功すると、ユーザー名とパスワードの入力を求められます。入力後、ログインが完了するとコマンド入力待ちになります。接続を終了するにはquit(またはbye)を使い、セッションを切断してローカルのコンソールに戻ります。
接続後、サーバー上のファイルやディレクトリを操作できます。代表例として、現在のディレクトリ内容を表示するls、ディレクトリ移動のcdがあります。ダウンロードにはget、アップロードにはputを使います。
get <filename>
上記はサーバー上の指定ファイルをローカルへダウンロードします。同様に、次はローカルの指定ファイルをサーバーへアップロードします。
put <filename>
大量ファイルの場合、クライアントによっては複数ファイルの一括転送や、転送再開(レジューム)を支援する機能もあります。実運用では、誤転送や上書きを防ぐために、転送先パスの確認や、作業用ディレクトリの分離なども併せて行うのが安全です。
FTPではmkdirでディレクトリ作成、rmdirで削除ができます。また、deleteでファイル削除、renameでファイル名変更なども可能です。
さらに、データ転送モードに関するコマンドとして、ascii(テキストとして扱う)やbinary(バイナリとして扱う)があります。現在の実務ではバイナリ転送が基本となることが多いですが、テキストの改行コード変換が影響するケースもあるため、転送対象の性質に応じて扱いを理解しておくと安心です。
FTPサーバーへ接続してファイルを管理するには、FTPクライアントを利用するのが一般的です。GUIで扱えるクライアントは、操作ミスの抑制や作業効率の向上にもつながります。ここでは代表的なツールとして、FileZilla・WinSCP・Cyberduckを紹介します。
FileZillaは、無料で利用できるFTPクライアントとして広く知られています。Windows・macOS・Linuxに対応し、FTPに加えてFTPSやSFTPにも対応しています。サイトマネージャ(接続先の登録)やキュー転送、再試行など、日常運用で便利な機能が揃っているため、初心者から上級者まで利用されています。
WinSCPはWindows向けのクライアントで、SFTPやSCPなどSSH系の転送にも強いのが特徴です。GUIが直感的で、エクスプローラ風の表示にも対応しています。スクリプト実行や自動化にも対応しやすく、定期転送や繰り返し作業を整理したいケースにも向きます。
Cyberduckは、macOSを中心に利用されることが多いクライアントです。FTP/SFTPに加えてWebDAVやクラウドストレージ(例:S3、GCSなど)にも対応し、複数の転送手段を一本化したい場合に便利です。バックアップや共有の運用では、転送先の要件(暗号化・権限・監査)に合わせて使い分けることが大切です。
オンライン上の情報は常にさまざまな脅威に晒されています。ファイル転送は「データを動かす」行為である以上、転送中の盗聴・改ざん・なりすましに特に注意が必要です。FTPは便利ですが、セキュリティ要件を満たせるかどうかを必ず確認しましょう。
FTPの安全性を理解するためには、FTPが基本的に非暗号化で通信することを押さえる必要があります。通常のFTPでは、ユーザー名・パスワードや転送データが平文で流れるため、第三者が通信を傍受すれば内容を閲覧できる可能性があります。さらに、盗聴だけでなく、通信経路上での改ざんや、認証情報の悪用といったリスクも考慮する必要があります。
そのため、インターネット越しに通常のFTPを使って機密情報を送る運用は避けるのが基本です。どうしても利用する必要がある場合でも、限定ネットワーク内に閉じる、アクセス制御を厳格にする、転送対象を絞るなど、リスクを下げる工夫が求められます。
FTPのセキュリティ上の問題を補うために、FTPSとSFTPがよく利用されます。似た名前ですが、仕組みは異なります。
FTPS(FTP over TLS/SSL)は、FTPにTLS(SSL)による暗号化を追加した方式です。制御チャネルやデータチャネルを暗号化でき、盗聴や改ざんのリスクを下げられます。運用上は、サーバー証明書の管理、クライアント側の検証(証明書の信頼設定)、許可する暗号スイートなどの設計が重要になります。FTPSには「明示的(Explicit)」と「暗黙的(Implicit)」といった運用差もあるため、接続方式を環境に合わせて揃える必要があります。
SFTP(SSH File Transfer Protocol)は、SSH上で動作する別のファイル転送プロトコルです。名前にFTPが含まれますが、FTPをSSHで包んだものではなく、設計自体が異なります。SSHの仕組みにより認証情報と通信内容が暗号化され、鍵認証なども利用できるため、セキュアなファイル転送手段として広く使われています。
したがって、ファイル転送が必要な場合は、通常のFTPではなく、可能であればFTPSやSFTPなど暗号化された方式の採用を検討するのが安全です。加えて、認証(鍵・多要素)、アクセス権限、ログ取得、転送先の保護といった運用面まで含めて設計することで、事故の確率を下げられます。
FTPは便利ですが、設定や運用を誤ると情報漏洩や誤削除などの事故につながります。特に、認証情報の扱いと、転送時のモードや手順は、基本として押さえておきたいポイントです。
FTPサーバへの接続には、通常ユーザ名とパスワードが必要となります。このパスワード管理は、セキュリティを確保する上で重要な要素です。推測されやすい初期パスワードを避け、ユニークで十分に長いパスワードを設定しましょう。可能であれば、パスワードだけに頼らず、鍵認証や多要素認証を組み合わせられる方式(SFTPなど)を選ぶと、より安全です。
また、パスワードを他者と共有しない、共有アカウントを作らない、退職者・異動者の権限を速やかに剥奪する、といった運用も重要です。実務では「誰が何をしたか」を追えることが事故対応の質を左右するため、アカウントは原則として個人単位で管理するのが望ましいです。
FTPを利用してファイルを送受信する場合、転送する内容に応じて適切な転送モードを選ぶ必要があります。テキストファイルの扱いが影響する環境ではASCIIモードが話題になりますが、実務では混在ファイルを扱うケースも多いため、基本はバイナリ転送として統一し、必要に応じて例外対応する運用のほうが事故を減らしやすいです。誤ったモードで転送すると、ファイルが壊れたり、意図しない変換が入ったりする可能性があります。
また、通常のFTPは通信が暗号化されないため、第三者に傍受されるリスクがあります。そのため、機密情報を扱う場合はFTPSやSFTPなど暗号化された方式を利用する、あるいは転送前にファイル自体を暗号化する、といった対策が重要です。さらに、誤送信や上書き事故を防ぐために、転送先パスの確認、作業用ディレクトリの分離、転送後の整合性確認(サイズ確認やハッシュ確認)まで行うと安全性が上がります。
FTPは古いプロトコルですが、ファイルを移すというニーズ自体はなくなりません。そのため、用途と条件が合えば今後も一定の場面で使われ続ける可能性があります。一方で、クラウドやゼロトラストの流れにより、FTP単体での運用は縮小し、暗号化方式や別手段へ置き換わっていく傾向も強まっています。
クラウドストレージは、共有性と拡張性、地理的な制限なしにデータへアクセスできる利点があります。これにより「ファイルを置く場所」「共有の仕組み」はFTP以外にも多様化しました。Webサイト運用でも、CMSやオブジェクトストレージ、CDNなどの採用が進んでいます。
一方で、企業によっては「自社サーバー上で完全に管理したい」「閉域ネットワーク内で完結させたい」「既存資産を踏まえたい」という事情があります。その場合、FTPの運用が残ることもあります。ただし、残す場合でも通常のFTPではなく、FTPS/SFTPなどの暗号化、強い認証、監査ログ、権限管理を含めた形へ移行していくのが自然な流れです。
IoT(Internet of Things)の進化とともに、ネットワーク接続機器が大量のデータを生成・送信する場面が増えています。ファイル転送という形でデータを集約するケースでは、FTPが候補に挙がることもあります。
ただし、IoTは「端末が増える」「設置場所が分散する」「管理者の目が届きにくい」といった性質があり、認証情報の漏洩や改ざんのリスクが上がりやすい領域です。そのため、IoT用途では、FTPをそのまま使うより、暗号化と強い認証を前提にした方式や、専用プロトコル/APIによる転送へ置き換えるほうが現実的なケースも多いです。
FTPは時間の経過とともに使われ方が変化してきました。今後も「FTPという名前のまま」よりは、「要件に合わせて暗号化・認証・監査を満たす仕組みへ移る」という方向で共存していくと考えるのが自然です。
この記事では、FTP(File Transfer Protocol)について、概要、利点と欠点、主要機能、代表的な使い道、基本コマンド、クライアント、セキュリティの考え方まで解説しました。FTPはファイル転送の基礎として今も知られていますが、運用判断では「便利さ」だけでなく「安全性」も同じ重さで考える必要があります。
FTPとは、ネットワーク上でファイルを転送するためのプロトコルです。制御用とデータ転送用の通信を分ける構造により、柔軟な操作ができる一方、通常のFTPは暗号化されず、認証情報やデータが平文で流れるという重大な課題があります。
この課題に対しては、暗号化できるFTPSやSFTPを利用する、ファイル自体を暗号化する、アクセス制御や権限分離を徹底するなどの対策が現実的です。環境や要件に応じて、どの方式が最適かを判断することが重要です。
FTPの基本知識は、Webサイト管理、データバックアップ、大量ファイル転送などの場面で役立ちます。ただし、実際の運用では、暗号化の有無、認証方式、ログと監査、権限管理、ネットワーク境界の設定といった要素が安全性を左右します。単に「転送できる」だけでなく、「安全に運用できる」状態を目指して設計することが大切です。
FTPはFile Transfer Protocolの略で、ネットワーク上でファイルを送受信するためのプロトコルです。
ログインやコマンドのやり取り(制御)と、ファイル本体の転送(データ)を分けることで、操作と転送を整理しやすい設計になっているためです。
制御用の通信は一般的にTCP 21番ポートを使用します。データ転送は方式(アクティブ/パッシブ)により利用ポートが変わります。
通常のFTPは暗号化されず、ユーザー名・パスワードや転送内容が平文で流れる点です。盗聴や認証情報漏洩のリスクがあります。
制御とデータの接続が分かれ、さらにアクティブ/パッシブで通信方向や利用ポートが変わるため、許可すべき通信条件の設計が難しくなることがあるためです。
同じではありません。FTPSはFTPにTLS(SSL)暗号化を追加した方式で、SFTPはSSH上で動作する別のファイル転送プロトコルです。
暗号化(FTPS/SFTPの利用)、強い認証(鍵・多要素)、権限の最小化、ログ取得と監査、転送先の保護を優先して設計します。
使えますが、インターネット越しの通常FTPは推奨されません。暗号化された方式や、CMS・CI/CDなどの代替手段も含めて選択するのが安全です。
誤ったモードで転送すると内容が壊れる可能性があります。実務ではバイナリ転送を基本にし、必要時だけ例外対応する運用が安全です。
対応プロトコル(FTPS/SFTP)、認証方式(鍵対応など)、作業ミスを減らすUI、転送の再試行やログなど、運用要件に合うかで選びます。