ftpでも、ftpsでも、ファイル欠損・欠落の可能性がある

スポンサーリンク

結論

ftpでも、ftpsでも、ファイル欠損・欠落の可能性あるので、

データの完全性(ファイルが欠損・欠落しない)、データの安全性(盗聴・不正ログインされない)を満たすなら、

ファイル転送の手段には、

  • rsync
  • sftp

のいずれかを使うのがいい。使える人はrsyncがいいと思う(多機能!)。

次点で、

  • scp

もいいが、

ssh, scp, sftp などのパッケージを含むソフトウェアである OpenSSH ですが, その公式自身が「scp を使うのは非推奨」と宣言していました

ということなので、その点を考慮すべき。

 

そもそも、ftp、ftps、scp、sftpの違い

ftp

インターネット黎明期(はじまったとき)から存在している4つの中じゃ最も古いもの。

  • o カンタン。どのレンサバでも大抵用意されてる
  • x 通信が暗号化されない
    • ftpのID、パスワードも暗号化されず送信されるので盗聴可能
  • x ファイルの完全性の欠如(欠損・欠落の可能性がある)

 

ftps

ftp の通信をSSL/TLSで暗号化したもの。(httpとhttpsの関係に似てる

  • o 通信が暗号化されてる
  • x ファイルの完全性の欠如(欠損・欠落の可能性がある)
    • XSERVERなどでデフォルトで用意されてるものはコレ

 

FTPSには2つの実行モードが存在し、接続実行後にAUTHコマンドによる暗号化通信を実行する「Explicitモード」と、サーバーに接続後に暗号化通信を実行する「Implicitモード」があります。

XSERVERはExplicitモードの方ですな。

「サーバーに接続した後に暗号化」っていう説明が多いので、「FTPSでもユーザーIDとパスワードは平文で送信される?!」って不安になりましたがさすがにそんなことはありません

(ブログ)

 

scp

SSHベース。

  • o カンタン
  • o scp、sftp、rsyncの中では、最も速い
  • o 通信が暗号化されてる
  • o ファイルの完全性が保てる
    • と思ったらこんな記事が…
      • SCPは転送先に同名ファイルがあるとそのファイルをオープンして転送するため、転送中にアクセスされると中途半端な内容が読み込まれてしまったり、転送を中断した場合転送先のファイルが破損する可能性があるとか(はてぶ)
        • ほんとっすか!?sftpもそうなのか?
          • 本当にしろ、ftpよりはマシ(๑•̀ㅂ•́)و✧
  • ? サーバにUNIX系のシェルが備えられている必要があります(LIG)
    • この点はほぼ大丈夫と思う
  • x OpenSSHさんに非推奨と宣言された

 

sftp

SSHベース。

  • o 通信が暗号化されてる
  • o ファイルの完全性が保てる
    • のか?(↑scpと同じなら完全とは言えない?)
      • ftpよりはマシ(๑•̀ㅂ•́)و✧
  • o OpenSSHさんに非推奨と宣言されてない点は安心

 

rsyncって?

SSHベース。

あるフォルダと別のフォルダ間で、ファイル(やフォルダ)を同期させるLinuxのコマンド。

リモート先にも同期可能。

ftp、ftps、scp、sftp 達とは毛色がちょっと違う気がしたので分けて書いた。

 

 

XSERVERではどうすればええんや?

先述したとおり、XSERVERではftpsをサポートしている。

そのため通信の暗号化の点は問題ない。

今までXSERVERで遭遇したことは無いが、ファイル欠損の可能性はある。

  • 通信環境がいいし、マシンのスペックもバケモンだからだと思う

そこを埋めたければSSH機能をONにし、sftpで通信するのがベターだと思う。

 

自分のパソコンで、ftpsに設定すること自体はそんなに苦じゃないと思うのでコレはやっておこう。

 

ワシの場合はrsync使いたい派なので、SSHが使える場合は使っちゃうが、モードとか気をつけないと、サイトが見れない!とかが起きちゃう可能性ある。(とりあえずパーミッションは変わるモードで送っちゃうのがいいかな)

 

 

その他参考にしたサイト

 

 

ftpは欠損するで

FTPもHULFTと同じく、TCP/IPを使用した通信方式なので基本的に転送の信頼性は確保されていますが転送したファイルの完全性、つまり送信側のファイルと受信側のファイルの整合性のチェックまではしません。(HULFT

 

ftpsでも欠損するで

FTPS、FTPESなどとは異なり、SSH/SFTPの実装は非常に一貫して相互運用可能です。 SFTP経由でファイルを転送するときに、奇妙で予測できない問題が発生することはほとんどありません。

最近良く見る海外の翻訳してるやつ(でも助かってます)

 

rsync scp sftpの速度

全ファイル一度にやるんなら、

scp >> rsync > sftp

 

の順に速い(scpが最速)。(はてぶ

 

しかし差分転送もできる分、どれか一つに絞るならrsyncですな。なんかかっこいいし。ドヤァ度が一番高いね。

 

 

XSERVERって?

XSERVER (PR)ってなに?という方はあんまりいらっしゃらないと思いますが、レンタルサーバです。大量にサイト立てたりできます。先述したとおり、安定感半端ないです。2週間無料なので試してみるといいと思います。

 

コメント