web-dev-qa-db-ja.com

FTP over SSLとHTTPSの実装

HTTPサーバーとFTPサーバーでのSSLの2つの実装を検討してください。同じ暗号スイートが使用され、まったく同じプロトコルが使用されます。

もう1つsecureです。 FTPでプロトコルをダウングレードするのは難しいと聞きました。では、FTPへのSSLの実装はFTP経由よりも安全ですか?

1
W Khan

1つは他よりも安全です。 FTPでプロトコルをダウングレードするのは難しいと聞きました。では、FTPへのSSLの実装はFTP経由よりも安全ですか?

FTP over SSLは理論的にはHTTP over SSLと同じセキュリティを持つ必要があります。しかし、実際にはこれはおそらくそうではありません:

  • HTTPSはブラウザで最もよく使用されます。壊れたサーバーに対処するために、ブラウザは接続が失敗した場合にSSLダウングレードを実装します。この動作はHTTPSに固有のものではなく、ブラウザー内の特定の実装に固有のものであることに注意してください。ブラウザー外のHTTPS実装は、通常、SSLダウングレードを行わず、FTPSクライアントでのSSL実装と同様に、最初のエラーで失敗します。
  • FTPSは広く使用されていません。そして、それが頻繁に使用される場合、自己署名証明書またはその他の方法で壊れた証明書(チェーン証明書の欠落、ホスト名の不一致など)がよく使用されます。 FTPSクライアントは、証明書エラーを無視するか、適切な検証なしでユーザーが簡単に続行できるようにする傾向があります。証明書をまったくチェックしない、または不完全なチェックを行うものさえあります(証明書の名前をチェックしないなど)。これとは対照的に、今日のブラウザーは、証明書のエラーを回避するのが難しい警告を表示することがよくあります。代わりにHTTPSを使用する他のアプリケーションは、FTPSクライアントと同じ問題を起こすことがよくありますが、デフォルトで有効になっている適切なチェックでゆっくりと実装されます。
  • FTPSには、いくつかのセキュリティレベルがあります。最良のモードは、コントロールとデータチャネルを暗号化することですが、これはミドルボックス(ファイアウォールやNATルーター)など)のプロトコルヘルパーと競合する可能性があり、PASV/EPSVまたはPORT/EPRTコマンド。これにより、ミドルボックスで必要なポートを開くことができます。したがって、FTPSは制御接続をSSLからプレーンに再度ダウングレードできます( CCCコマンド)以降、制御接続のすべてのトラフィックは暗号化されなくなります。これにより、データチャネルをプレーンテキストにダウングレードしようとする中間者攻撃が可能になります。暗号化されたデータチャネルをセットアップするために使用されるPROT Pコマンドへのエラーコード。

要約すると、たとえブラウザがエラーでSSLプロトコルをダウングレードしても、実際にはHTTPSの方が安全だと思います。

3
Steffen Ullrich