1

次のコードを使用することで、クライアント アプリケーションはセキュア FTP サーバーに接続し、そこにファイルを正常にプッシュします。次のアプローチは、すべての証明書を受け入れることにより、セキュリティ ホールを残していると思いますか。もしそうなら、私がFTPサーバーに持っているクライアントから特定の証明書を渡すのを手伝ってくれる人はいますか?

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);

// Where AcceptAllCertifications is defined as...

public bool AcceptAllCertifications(object sender,
    System.Security.Cryptography.X509Certificates.X509Certificate certification,
    System.Security.Cryptography.X509Certificates.X509Chain chain,
    System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
    return true;
}
4

1 に答える 1

1

サーバーからの特定の証明書の検証についてはよくわかりませんが、このシナリオで導入されたセキュリティの問題は非常に簡単です。

この場合、攻撃者はあなたとサーバーの間に自分自身を配置し、トラフィックを自分自身にリダイレクトし、別の安全な FTP サイト (サーバーの資格情報を確認していないため区別できません) を装い、アップロードを取得したり、ダウンロードするファイル。特に狡猾な攻撃者は、すべてが正常に機能していると思わせるために、ファイルを実際に実サーバーに転送し、場合によっては小さな変更を加えます。

サーバーの証明書を検証することで、正しい宛先との間でファイルを FTP 転送していることを確認できます

于 2009-08-18T00:11:10.873 に答える