ホームページ > テクノロジー周辺機器 > IT業界 > FTPプログラムは安全ですか?

FTPプログラムは安全ですか?

William Shakespeare
リリース: 2025-02-21 11:12:09
オリジナル
1024 人が閲覧しました

FTPセキュリティリスクとより安全な代替案

キーポイント:

    FilezillaなどのFTPプログラムはパスワードを非表示にする場合がありますが、資格情報が保存されている場合、構成ファイルから簡単にアクセスでき、セキュリティが危険にさらされます。
  • FTP自体にはセキュリティがなく、簡単に傍受され乱用される平易なテキストでデータと資格情報を送信します。
  • FTPやSFTPなどのセキュリティの代替品は、伝送中にデータを暗号化し、従来のFTPよりも高いレベルのセキュリティを提供します。
  • SSHキーに機密情報を送信せずに認証し、傍受を効果的に防止することで認証することにより、セキュリティを強化します。
  • ツールの継続的な配信とSFTPやFTPなどの安全なFTPプロトコルは、手動ファイル転送中の人的エラーのリスクを軽減できます。
  • FTPを使用してファイルを展開または転送しますか?プロトコルの昔からの性質と多くのホスティング会社の間でその広範な人気を考えると、あなたはそれを使用しているかもしれないと言えます。

しかし、これはあなたとあなたのビジネスにセキュリティの問題を引き起こす可能性があることを知っていますか?この状況に深く飛び込みましょう。

filezilla

cyberduck送信またはキャプテンftpなどなどのプログラムは安全です。他の人が視聴を防ぐために、パスワードを隠すなどの測定値を実装する場合があります。ただし、FTPを使用してデータを転送する場合、これらの測定値は実際に弱くなります。 私がこれを書いた理由は8月のSitePointでの興味深い議論だったと率直に言った。議論は主にFilezillaに焦点を当て、それがどれほど安全でない(またはそうでないか)について一連の主張をしました。

議論の重要な側面は、パスワードをFilezillaに保存する必要があるかどうかに焦点を当てています。コメントの1つは、ソフトウェアを使用するときに資格情報が隠されているが、保存すると簡単に取得できることを示す説明的な記事にリンクしています。

この記事を読んでいない場合、Filezillaは次のように接続の詳細を簡単なXMLファイルに保存します。

接続に関する多くの情報を保存しているので、覚えておく必要はありません。ただし、パスワードをPlantextに保存していることに注意してください。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><filezilla3></filezilla3>
    <servers></servers>
        <server></server>
            <host>localhost</host>
            <port>21</port>
            <protocol>0</protocol>
            <type>0</type>
            <user>anonymous</user>
            <pass>user</pass>
            <logontype>1</logontype>
            <timezoneoffset>0</timezoneoffset>
            <pasvmode>MODE_DEFAULT</pasvmode>
            <maximummultipleconnections>0</maximummultipleconnections>
            <encodingtype>Auto</encodingtype>
            <bypassproxy>0</bypassproxy>
            <name>test site</name>
            <comments> </comments>
            <localdir> </localdir>
            <remotedir> </remotedir>
            <syncbrowsing>0</syncbrowsing>test site
        >
    >
>
ログイン後にコピー
ログイン後にコピー

もちろん、プログラムを使用すると、上記のスクリーンショットに示すように、パスワードを隠すため、肩から読み取られません。

ただし、コンピューターにアクセスできる場合は、コンピューターからパスワードを抽出することは意味がありません。公平を期すために、Filezillaの最新バージョンでは、パスワードストレージはデフォルトでは許可されていません。 Are FTP Programs Secure?

構成ファイルを暗号化するのはどうですか?

誰かが、少なくとも構成ファイルを暗号化するか、1PasswordやKeepAssxのようにアクセスを許可する前にマスターパスワードを要求する方法で設定する必要があることを提案しました。

ルイス・ラザリスは、この見解に反論するために、スタック交換に関する議論にリンクします。この記事のコアコンテンツは次のとおりです。

ご覧のとおり、資格情報を暗号化するには、どこかに保存する必要がある暗号化キーが必要です。ユーザーアカウントでマルウェアを実行している場合、彼らはあなた(または同じレベルで実行されている他のアプリケーション)と同じくらい多くあります。これは、暗号化キーまたは暗号化キーなどを暗号化するキーなどにもアクセスできることを意味します。

上記の主張は、1PasswordやKeepAssxなどのプログラムの設計上の考慮事項を完全には理解していないと考えています。パスワードやその他の安全な情報の安全な金庫として特別に設計されたアプリケーションは、この答えが示唆するほど簡単にクラックすることはできません。

たとえば、1Passwordによる最近のブログ投稿には、ハッカーに対する重要なメカニズムがリストされています。

これらには、128ビットと256ビットの対称キー、SHA512およびPBKDF2暗号化、および使いやすさとシンプルさを維持しながら、アクセスされたデータファイルを保護するための他のさまざまな機能が含まれます。

したがって、特にこれらの利用可能なすべての技術を考えると、安全な暗号化されたボールトを使用することは実際にはそれほど安全ではないと推測するのは間違っています。

はFTPであり、アプリケーションではありません!

ただし、FTP自体を使用するとキーポイントが無視されるため、資格情報を保存する必要があるかどうかについての議論は無関係です。資格情報とデータはプレーンテキストで送信されます。信じない? DeccanHostsブログでFTPが安全でない理由をお読みください。

わからない場合は、Wiresharkなどの単純なグループ化スニファーを使用して、使用したユーザー名とパスワード、および送信ファイルに保存されている他の資格情報、およびアルゴリズムのデータベース構造を取得できます。その中に保存されます。

この情報を長い間.iniと構成ファイルに保存することが一般的な慣行であることを考えると、WordPress、Joomlaなどのかなりの量の容易なロードソフトウェアがこれで開発されることをお勧めします。方法。

FTPはセキュリティのために設計されていません。このデザインには、本質的にセキュリティを考慮に入れない一連のさらなる仮定が含まれています。 ZendのシニアソフトウェアエンジニアであるEnrico Zimuelは、さらにはFTPを使用しないでください。

はい、セキュリティの変更は後で出てきましたが、組み込みではなく添付されていました。ブルートフォースの攻撃に対する保護はありません。SSHトンネリングは可能ですが、コマンドとデータチャネルを暗号化する必要があるため困難です。したがって、あなたの選択は限られています。難易度係数は、それらを実装しようとするときに必ずしも些細なものではありません。

あなたはウェブサイト管理者ですか? FTPユーザーのChroot Jailを有効にしましたか? Chrootという用語に慣れていない場合は、ユーザーの動きとアクセスを制限する方法です。ログインするディレクトリから始めて、任意のサブディレクトリに移動できますが、そのディレクトリの外側に移動することはできません。

ftp

の代替案

私はあなたにすべてがひどいことを納得させる前に、そうではありません。今日のFTPプログラムの一部、特に上記のプログラムは、より安全なFTP派生物と代替案もサポートしています。それらを見てみましょう。

ftpsおよびsftp

FTPSは安全なFTPです。HTTPSが安全なHTTPと同様に、SSL(セキュアソケット層)とTLS(輸送層セキュリティ)の上で実行されます。ユーザーの資格とデータは、最初に暗号化されてから送信されます。

サーバーが許可している場合、クライアントソフトウェアは、すべてではなく通信の一部のみを暗号化する柔軟性もあります。現在の議論に基づいて、これは直感に反するようです。

ただし、転送されたファイルが暗号化されている場合、または機密性のある性質の情報が送信されない場合、暗号化に必要なオーバーヘッドがない場合があります。

ただし、FTPに切り替えるには価格(および価格)があります。 FTPを使用するには、自己署名のSSL証明書を生成するか、信頼できる証明書当局から証明書を購入する必要があります。したがって、より良いセキュリティが利用可能ですが、より多くの労力とコストが必要です。

しかし、あなたが戻ってくる前に、あなたの情報はあなたのビジネスにいくら価値があるかを自問してください。これはあなたがそれに固執するように説得するかもしれません。

今すぐSFTPを見てみましょう。 SFTPまたはSSHファイル転送プロトコルは、FTPSとは異なる方法で機能します。 SFTPはSSH 2.0の拡張として設計されており、通常のFTP接続を作成しますが、すでに暗号化された接続で実行されます。 FTPデータストリーム自体は通常のFTPよりも安全ではありませんが、実行する接続はより安全です。

SSH、SCPおよびその他のログインシェル

FTPをあきらめたい場合、なぜ途中で放棄する措置を講じるのですか?なぜFTPを使用するのですか? SFTPがインストールされている場合、SSHツールがインストールされています。

あなたがコマンドラインの専門家である場合、SSHでRSYNCなどのツールを使用することもできます。

単純なユースケースでは、すべてのファイルをローカルディレクトリからリモートコンピューターのディレクトリに再帰的にコピーするために使用できます。最初の実行のとき、すべてのファイルがコピーされます。

2番目と後の実行では、ファイルの違いをチェックし、異なる新しいファイルのみを転送し、リモートコンピューターに存在しなくなったローカルファイルとディレクトリを削除するオプションがあります。

問題は、このアクセスを許可すること自体がセキュリティの問題であることです。しかし、効果を減らすことができます。 OpenSSHを使用すると、ルートアクセスを許可しない、リモートでログインできるユーザーの制限、特定のディレクトリにユーザーを閉鎖するなど、多くの構成オプションが可能になります。

たぶん、ユーザーはリモートコンピューターにいる必要がないかもしれませんし、そこにいるときに多くのアクセス許可を必要としないかもしれません。もしそうなら、おそらく、これらの状況に適応するように設計された多くのシェルから選択できます。

2つのベストは、scponlyとrsshです。 scponlyを使用すると、ユーザーはリモートコンピューターのみにファイルをコピーできます。

ユーザーは、ファイルをログイン、移動、表示、または変更することはできません。良いことは、rsync(およびその他のツール)を使用できることです。 RSSHはさらに一歩進んで、SCP、SFTP、RDIST、RSYNC、CVSへのアクセスを許可します。

それを実装するために、システム管理者は選択したツールを使用してユーザーのシェルを変更し、 /etc/rssh.confを編集して許可されたプロトコルをリストします。サンプル構成は次のとおりです

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><filezilla3></filezilla3>
    <servers></servers>
        <server></server>
            <host>localhost</host>
            <port>21</port>
            <protocol>0</protocol>
            <type>0</type>
            <user>anonymous</user>
            <pass>user</pass>
            <logontype>1</logontype>
            <timezoneoffset>0</timezoneoffset>
            <pasvmode>MODE_DEFAULT</pasvmode>
            <maximummultipleconnections>0</maximummultipleconnections>
            <encodingtype>Auto</encodingtype>
            <bypassproxy>0</bypassproxy>
            <name>test site</name>
            <comments> </comments>
            <localdir> </localdir>
            <remotedir> </remotedir>
            <syncbrowsing>0</syncbrowsing>test site
        >
    >
>
ログイン後にコピー
ログイン後にコピー
この構成により、ユーザーはSCPとSFTPのみを使用できます。

ssh key

次に、SSHキーを考えてみましょう。このプロセスには何らかの説明が必要ですが、私はそれを短く簡潔にしようとします。この答えはスタック交換で多くを書き直します。

最初に、サーバーの公開キーは、残りのセッションを保護するために使用される対称キーを交渉し、チャネルの機密性、整合性保護、およびサーバー認証を可能にする対称キーを交渉することにより、安全なSSHチャネルを構築するために使用されます。チャネル関数が安全になると、ユーザー認証が実行されます。

次に、サーバーはランダムな値を作成し、ユーザーの公開キーで暗号化して送信します。ユーザーがユーザーが必要な場合、チャレンジを復号化してサーバーに送り返すことができます。これにより、ユーザーのIDが確認されます。これは、古典的なチャレンジ応答モデルです。

このテクノロジーの重要な利点は、秘密鍵がクライアントを離れることはなく、ユーザー名やパスワードを送信しないことです。誰かがSSLトラフィックを傍受し、それを解読できる場合(破損したサーバーの秘密鍵を使用して、またはサーバーに接続するときに間違った公開キーを受け入れる場合)、プライベートの詳細は攻撃者の手に渡ることはありません。

SCPまたはSFTPで使用すると、セキュリティを改善しながら使用するために必要な作業量がさらに減少します。 SSHキーには、プライベートキーのロックを解除するためにパスワードが必要になる場合があります。これにより、使用がより困難になるようです。
ただし、コンピューターにログインするときにこれをユーザーセッションにリンクできるツールがあります。正しく設定すると、パスワードが自動的に提供されるため、システムを最大限に活用できます。

継続的な配達はどうですか?

たぶん、この用語は聞いたことがないかもしれませんが、しばらく前から存在しています。先週、SitePointで以前に書いたことがあります。 Martin Fowlerによって作成された継続的な配信は、次のように定義されています。

ソフトウェア開発分野では、ソフトウェアをいつでも生産環境に公開できるようにソフトウェアを構築します。

それを実装するには多くの方法がありますが、CodeshipやBeanStalkなどのサービスは大部分が痛みを排除します。

以下は、どのように機能するかについての大まかな比phorです。テストコードや展開スクリプトを含むソフトウェアプロジェクトを設定し、これらすべてをバージョン制御下に保存します。 GithubやBitbucketなどのオンラインサービスを使用していると仮定しています。

コードブランチでコミットまたは公開した後、サービスはこれらのサービスのいずれかにプッシュされるたびにアプリケーションのテストを実行します。テストが合格した場合、アプリケーションはテストであろうと生産であろうと展開されます。

すべてがうまくいく限り、それはあなたのための展開を自動的に処理します。その後、展開が成功または失敗するという通知を受け取ります。

成功した場合は、次の機能またはバグ修正に進むことができます。何かがうまくいかない場合は、問題の原因を見つけるためにそれをチェックできます。コードシップを使用して実際にテストリポジトリを展開するプロセスを示す短いビデオをご覧ください。

何をしなければならないの? Githubリポジトリへのプッシュコミット - それだけです!スクリプトを実行することを覚えておく必要はありません。スクリプトは、スクリプトが渡すオプションとスイッチを渡すことを覚えておく必要はありません(特に金曜日の夜に遅くなる場合は、仕事よりもどこにでもあります)。

これはかなり単純であり、すべてのオプションや微妙さをカバーしていないことを理解していますが、私が意味することを理解しています。

ヒューマンエラーの問題

最後に、FTPを使用することの基本的なセキュリティ問題から、日常の使用の有効性に移行しましょう。たとえば、eコマースストアなどのウェブサイトを開発しているとし、展開プロセスではFTP、特にFilezillaを使用しているとします。 ここに、ヒューマンエラーに関連するいくつかの固有の問題があります:

すべてのファイルは正しい場所にアップロードされていますか?
  • ファイルは必要な権限を保持または取得しますか?
  • 1つまたは2つのファイルを忘れますか?
  • 生産の開発名を変更する必要がありますか?
  • 展開後のスクリプトを実行する必要がありますか?
  • これらはすべて有効な懸念事項ですが、それらのすべては、連続配信ツールを使用する場合に簡単に軽減できます。遅れている場合、プレッシャーが高い場合、関連する人が会社を去ろうとしている場合、または休暇を取ることを切望している場合、FTPを介してファイルを手動で転送することが問題を求めています。
わかりました、ファイルを手動で転送することは、要するに、トラブルを求めているだけです。ヒューマンエラーを避けるのは難しすぎます。

filezilla

に謝罪します

filezillaをターゲットにしているかのように表示したくありません。それは私が何年も使用してきた非常に良いアプリです。そして、テクノロジーはそれをより安全にしようとするために使用されてきました。

私の重要なポイントは、Filezillaだけでなく、FTP自体です。

要約

これは、FTPセキュリティの議論に関する私の意見です。私のアドバイス - それを使用しないでください。展開を管理するときはセキュリティに留意してください。結局のところ、これはあなたのデータです。

しかし、あなたのアイデアは何ですか?まだFTPを使用していますか?移行を検討しましたか?あなたの経験とあなたが試したソリューションをコメントで共有して、私たち全員が実用的で使いやすいソリューションを見つけるために一生懸命働くことができるようにします。

さらなる読み取りとリソース

  • zendcryptpassword
  • パスワード(in)security(slide)
  • なぜFTPが安全ではないのか
  • wireshark(ネットワークプロトコルアナライザー)
  • パスワード4
  • でのセキュリティを進化させる
  • 注意:filezillaはパスワードを保護できません
  • Linux制限シェル:RSSHおよびSCPONLY
FTPプログラムのセキュリティに関するよくある質問

FTPプログラムに関連する主なセキュリティリスクは何ですか?

FTPプログラムはファイル転送に役立ちますが、セキュリティリスクもあります。主な問題は、FTPがデータを暗号化しないことです。つまり、機密データ(ユーザー名やパスワードなど)を含むすべての送信された情報がプレーンテキストで送信されることです。これにより、サイバー犯罪者はこの情報を傍受して乱用しやすくなります。さらに、FTPは、ブルートフォース攻撃、パケットキャプチャ、スプーフィング攻撃などの攻撃に対して脆弱です。これらのリスクは、データ侵害、不正アクセス、その他の深刻なセキュリティの問題につながる可能性があります。

FTPプログラムを使用するリスクを軽減する方法は?

FTPプログラムに関連するリスクを軽減する方法はいくつかあります。最も効果的な方法の1つは、SFTPやFTPなどのFTPの安全なバージョンを使用することです。これらのプロトコルは送信中にデータを暗号化し、サイバー犯罪者が傍受することを困難にします。さらに、強力でユニークなパスワードを使用して定期的に更新すると、ブルートフォース攻撃を防ぐことができます。また、更新にはセキュリティパッチが含まれているため、FTPプログラムを更新することも重要です。

FTP、SFTP、FTPSの違いは何ですか?

FTPまたはファイル転送プロトコルは、インターネット上でファイルをあるホストから別のホストにファイルを転送するために使用される標準のネットワークプロトコルです。ただし、暗号化は提供されません。 SFTPまたはセキュアファイル転送プロトコルは、SSH(セキュリティシェル)を使用して送信中にデータを暗号化するFTPの安全なバージョンです。 FTPまたはFTP Secureは、SSL(Secure Socketsレイヤー)またはTLS(輸送層セキュリティ)を使用して暗号化されたFTPの別の安全なバージョンです。

今日でもFTPを使用していますか?

はい、FTPは今日でも広く使用されています。特に、大規模なファイルまたはバッチファイルを転送するためのエンタープライズ環境では広く使用されています。ただし、セキュリティ侵害により、多くの組織はSFTPやFTPなどのより安全な代替案に目を向けています。

私のFTPプログラムが安全かどうかを見分ける方法は?

FTPプログラムが安全かどうかを判断するには、ファイル転送中に暗号化を使用するかどうかを確認する必要があります。 SFTPやFTPなどのFTPの安全なバージョンは、送信中にデータを暗号化します。通常、この情報はプログラムのドキュメントまたは設定で見つけることができます。さらに、Secure FTPプログラムは、強力なパスワードを必須、2要素認証、定期的な更新などの機能を提供する必要があります。

FTPプログラムでVPNを使用してセキュリティを強化できますか?

はい、FTPプログラムでVPN(仮想プライベートネットワーク)を使用すると、セキュリティが強化されます。 VPNは、FTPトラフィックを含むインターネット上で送信されるすべてのデータを暗号化します。これは、サイバー犯罪者によって傍受されることからデータを保護するのに役立ちます。

FTPのセキュリティの代替品は何ですか?

FTPのセキュリティの代替品には、SFTP、FTP、SCP(セキュアレプリケーションプロトコル)が含まれます。これらのプロトコルはすべて、暗号化を使用して送信中のデータを保護します。さらに、クラウドベースのファイル転送サービスは、暗号化、2要素認証、アクセス制御などの強力なセキュリティ対策を提供することがよくあります。

ブルートフォース攻撃とは何ですか?また、FTPにどのように影響しますか?

ブルートフォース攻撃は、攻撃者がパスワードを推測してシステムにアクセスしようとするサイバー攻撃の一種です。 FTPはPlantextでパスワードを送信するため、特にブルートフォース攻撃に対して脆弱です。攻撃者がパスワードを正常に推測すると、許可なしにシステムにアクセスでき、データを盗んだり操作したりできます。

FTPプログラムをスプーフィング攻撃から保護する方法は?

スプーフィング攻撃(攻撃者は正当なユーザーまたはデバイスのふりをする)は、FTPプログラムにとって深刻な脅威になる可能性があります。これらの攻撃を防ぐために、SFTPやFTPなどの暗号化された暗号化を使用してFTPの安全なバージョンを使用できます。さらに、強力でユニークなパスワードを使用して定期的に更新すると、攻撃のスプーフィングを防ぐことができます。

パケットキャプチャとは何ですか?また、FTPにどのように影響しますか?

パケットスニッフィングとも呼ばれるパケットキャプチャは、ネットワーク上にパケットが送信されるときに傍受および分析するためにサイバー犯罪者が使用する方法です。 FTPはデータを暗号化しないため、特にパケットキャプチャの影響を受けやすくなります。攻撃者は、この方法を使用して、ユーザー名やパスワードなどの機密情報を盗むことができます。パケットキャプチャを防ぐには、SFTPやFTPなどの暗号化を使用してFTPの安全なバージョンを使用する必要があります。

以上がFTPプログラムは安全ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート