ファイル転送の通信プロトコルであるFTP(File Transfer Protocol)の歴史は古く、多くの企業や組織でクライアントからサーバへのファイル転送や、ファイルをLAN間でデータ転送するなどの手法として長く使用されてきました。
但し、HTTPプロトコルに代わって、既にHTTPSが当たり前になってきたように、FTPは、暗号化されていないリスクがあるため、その多くが他のセキュアな通信プロトコルの転送方法に置き換わってきております。
FTPは、ユーザ名やパスワードによるアクセス許可の仕組みは有しておりますが、残念ながら、暗号化通信をする仕様になっていないため、通信経路上でパケットキャチャされると、パスワードなど秘密にしたい重要な情報であっても、簡単に盗聴できてしまいます。
他にも、ブルートフォースアタックや、FTPバウンス攻撃、スプーフィング攻撃など、さまざまな脆弱性が報告されています。
FTPに代わる、求められる暗号化通信によるファイル転送プロトコルとして、FTPSや、SCP、SFTPなどがあります。
FTPS(File Transfer Protocol over SSL/TLS) は、FTPの盗聴リスクを回避するために、ファイル転送として送受信するデータを、SSL (Secure Sockets Layer)と呼ばれることが多い、公開鍵暗号と共通鍵暗号の技術を利用したTLS(Transport Layer Security)によって、暗号化通信を行うファイル転送プロトコルです。
一方、SCP(Secure Copy Protocol)と、SFTP(SSH File Transfer Protocol)は、SSH(Secure Shell)などのセキュアな通信手段を利用して、安全なファイル転送を行うプロトコルです。SCPがファイル転送のみであるのに対し、SFTPは中断された転送の再開や、ディレクトリリスト、リモートファイルの削除などの追加機能があったり、SCPサーバがUNIX環境が多いのに対し、できるだけプラットフォームに依存しないような設計がされているため、SFTPの方が、多くの業務でのファイル転送に向いていると思われます。但し、SCPの方がSFTPより高速に通信ができるようです。SFTPは、SSH上で実行するFTPというわけではなく、全く別物として開発された新しいプロトコルです。
FTPSにしろ、SFTPにしろ、FileZillaや、WinSCPのようなメジャーなファイル転送のクライアント用ソフトで利用できるため、使用するユーザによっては、あまり違和感なくFTPからの移行ができます。
FTPを置き換えていくには、当然、サーバ側の環境にFTPSやSFTPプロトコルが実装されていることが必須であるため、まだ企業や組織でFTPを使用している場合、ユーザの環境に合わせて、セキュアなファイル転送方法を選択し、セキュリティリスクを軽減していく必要があります。
FTPは、セキュアな暗号化通信のファイル転送プロトコルへ置き換えが必要