web-dev-qa-db-ja.com

安全なファイル転送のために、sftpの代わりにhttpsを使用できますか?

私の会社は財務部門と協力しており、非公開の消費者情報を含むファイルを会社とクライアントの間で安全に転送する必要があります。

通常の解決策は、ファイル転送にsftpを使用することですが、多くのクライアントは技術に精通しておらず、sftpソフトウェアを使用してクライアントにセットアップし、その使用方法を教えるのは非常に時間がかかり、多くの場合、双方にとって苛立たしいものです。

簡単な解決策として、httpsでホストされる非常に基本的なWebサイトを作成しました。これにより、ユーザーはFTP資格情報を使用してログインし、Webインターフェイスを介してファイルをアップロード/ダウンロードできます。

しかし、httpsはファイルを安全に転送する方法としてsftpと同等と見なすことができますか?

18
Rachel

HTTPSとSFTPを適切に使用すると、同様に安全です。実際の基盤となる暗号化アルゴリズムはどちらも機能的に同等です。実際には、暗号化プロトコルを直接攻撃することで破ることはできません。

ただし、実際には技術に精通していないユーザーの場合、HTTPSは私の意見では少し弱いです。

両方に攻撃があり、テクノロジーに精通していない不注意なユーザーに対して実行される可能性があります。 Rell3oTによるSFTPへの攻撃は、通常、最初に接続したときに最初はSFTPの公開鍵を知らず、その後のすべての接続でそれを覚えています(ただし、 で定義されているSSHFP DNSレコードがDNSSECはこの問題を解決できますが、現在広く使用されていません )。つまり、インターネットトラフィックを最初に偽のsftpサーバーに再ルーティングした攻撃者が、コンピューター(公開キーが保存されていない)から初めてsftpサイトに接続するユーザーへの攻撃を狙った場合、データをキャプチャできる可能性があります。この攻撃は、後続の接続では発生しません。

ただし、httpsを使用すると、技術に詳しくないユーザーがだまされる可能性のある攻撃がさらにいくつか導入されます。

  1. ユーザーは https://your-secure-file-transfer.com にアクセスできず、代わりにyour-secure-file-transfer.comをWebブラウザーに追加します(デフォルトではhttpバージョンになります)。攻撃者はこのケースを待機し、このトラフィックをキャプチャして、偽造したそのサイトのコピーにリダイレクトする可能性があります。認証情報/財務データを盗む。 (はい、sftpがftpに置き換えられた場合も同様です。ただし、通常は接続情報を保存する別のアプリで行われるため、これは可能性が低くなります。ftpバージョンに移動するために、ユーザーは通常、別のアプリに手動で入力する必要がありますポート番号)。これを修正するには、サイトで HSTSを有効にする必要がありますhttpsを表示するURLバーに注意しない限り、ユーザーはhttpサイトまたは別のURLにいることに気付かない可能性があります。 [〜#〜] hsts [〜#〜] は、ほとんどのブラウザで主要なWebサイトの少数のリストでのみ有効です。ほとんどの場合、初めてHTTPSサイトに正常にアクセスした後(このサイトは常にhttps経由で接続する必要があることを覚えておくためのヘッダーがあります)、Webブラウザーで有効になります。 SFTPと機能的に同等のセキュリティを提供します。
  2. 技術に精通していないユーザーのWebブラウザーは、標準のSFTPクライアントよりも安全性が低くなります。ユーザーは多くの場合、すべてのインターネットアクティビティにアクセスして何らかの機能を利用できるさまざまなブラウザ拡張機能をインストールします。この追加機能には秘密の攻撃が伴う場合があります。たとえば、セッションCookieを盗んだり、フォームに入力した情報(パスワードなど)を最終的にクライアント作成者に送り返したりします。
  3. CA(または中間CA)はいつでも危険にさらされる可能性があり、攻撃者はブラウザに信頼された証明書を取得し、検出されずにhttpsを偽装する可能性があります。これもSFTPとは異なります。SFTPクライアントは、以前に確認したサイトの公開鍵を記憶し、変更されている場合はアラートを出します。 (Webブラウザーはこれを行いません。適切に署名されている限り、証明書は変更できます。繰り返しますが、負荷分散されたWebサーバーは通常、すべて異なる署名済み証明書を持っているため、これはすぐには変更されません。

HTTPSは実際にはSFTPよりもわずかに弱いと言えます。どちらも暗号化のメリットに基づいて同等に安全です。 httpsが存在し、正しいドメインにあることを確認するようにユーザーをトレーニングし、さらに、仕事用コンピューターでブラウザー拡張機能を使用することについてのパラノイアを追加した場合(または、通常いくつかの拡張機能がインストールされたブラウザーのプライベートモードの使用を提案した場合)ほぼ同じになります(サイトがHSTS /安全なhttpのみのCookieなどで正しく設定されている場合)。

17
dr jimbob

はい HTTPSはSFTPと同等かそれ以上であると私は主張します。

HTTPSはSFTPが使用しない中央認証局を使用します。 SFTPで初めて認証する際にはリスクがあります。 HTTPSが信頼できるサードパーティを使用することで、このリスクを回避できます。

(安全なチャネルが確立されていると仮定して)SFTPとHTTPSは同等に安全であることに注意することが重要です。

17
user11869

HTTPSとSFTPは非常に重要な点で異なります。私の意見では、ストリーミングデータとファイル転送の利点をHTTPSに大きく傾けています。ソフトウェアサービス間の適切なHTTPS接続は、データを段階的に生成および送信し、保存されているファイルを必要としません。一方、慣例、慣例、およびプロトコルによるSFTPでは、転送(送信および受信)中にファイルを作成して保存する必要があるため、2つの静止コピーが同時に存在します。

特にCAの問題に関連する場合、保存されている2つのファイルと保存されていない2つのファイルは巨大です。 HTTPSが勝ちます。

3
Lee

SFTPの正当な理由を示す回答は受け入れられましたが、httpsを使用する利点の多くを誰も提案していないようです。

第1に、「https」のツールの利用可能性は、SFTPよりもはるかに広いです。使用範囲がはるかに広いため、より成熟したテクノロジーになるはずです。

暗号化の強度に妥協することなく、さまざまなベンダーのツールを統合する方がはるかに簡単です。

ファイルを移動するだけではほとんどメリットがありません。データが処理されるときに、値が実現されます。 SFTPよりも「https転送」で処理を統合する方がはるかに簡単です。

Http(および 'https)には、SFTPでは利用できないデータの解釈(エンコード、言語、MIMEタイプ)および処理(取得、投稿、書き込み、削除)の方法を説明する語彙があります。

Http(s)は、転送機能とともにコンテキスト情報を提供するメカニズムを提供します-ドキュメント、アカウントの使用、アカウント管理、問題のロギングなどの情報はSFTPにはありません。

多くの場合、安全なネットワークで最も弱いリンクはユーザーです。ユーザーは、SFTPよりもHTTPSをよく理解しています。クライアント証明書/キーはこれにいくらか複雑さを加えますが、URLの緑の背景を確認するように人々に伝えることは、厳密なホストチェックを有効にし、変更があった場合にロールオーバーに対処することを通して話すよりもはるかに簡単です。

また、https証明書には有効期限とOOB検証のメカニズム(HSTS事前登録)があります。

あなたが質問をしていると、私はあなたをセキュリティアナリスト/システム管理者だと思います。その観点から、違いはそれほど明確ではないかもしれません。あなたの開発者やユーザーと話をしてください。そうすれば、あなたは非常に異なる状況を得るでしょう。

2
symcbean

私は答えなしでコメントしますが、最初に私の評判を確立する必要があります。 SFTPを使用すると、攻撃対象を小さくすることができます。 HTTPSはWebサーバープロセスを意味し、それ自体が攻撃にさらされています。 SFTPの方が簡単な設定のようです。

To-doリスト:-SFTPに1つのホストを割り当てます-rcconfを実行して不要なサービスをすべて終了します-sftpユーザーグループを作成してそれらをchrootしますパートナー-データを別のホストにバックアップ

0
MevanMartinez