0

現在、以下の状況です。

まず、Web アプリケーションがあり、ユーザーが Web アプリケーションにログインする必要がある場合、ユーザーは自分のアカウントのユーザー名とパスワードを提供します。

ユーザー名とパスワードは、次のコードを使用して AD で認証されます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;

namespace Access
{
  public partial class Login : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, txtboxDomain.Text))
        {
            bool isValid = pc.ValidateCredentials(txtboxUsername.Text, txtboxPassword.Text);
            if (isValid == true)
            {
                lblLogin.Text = "VALID";
                Session["Person"] = txtboxUsername.Text;
                Session.Timeout = 1;
            }
            else
            {
                lblLogin.Text = "INVALID";
            }
        }
    }


  }
}

しかし、同僚 'A' は、上記の方法はまったく安全ではないと述べています。

彼女が提供する理由は次のとおりです。

  • IIS には SSL セットアップはありません。
  • IIS に SSL セットアップがない場合でも、少なくとも IT 部門のセキュリティ DLL ファイルを使用して認証方法を提供してください。

しかし、別の同僚 'B' は彼女の答えを疑っており、コードは Active Directory (AD) に対して認証されるため、確実に安全であり、Web アプリケーションが存在する IIS で SSL をセットアップする必要はない、と述べています。がホストされています。

また、彼は、IT 部門のセキュリティ DLL ファイルは追加の安全性を提供しない可能性があると彼女に話しました。これは、第一に、これはクローズド ボックスであり、第二に、認証方法のコーディングの必要性を減らすだけだと考えているためです。

では、同僚 A がどの程度正しいか、同僚 B がどの程度正しいかを知ることができますか?

4

2 に答える 2

0

これを証明するために必要なツールはWiresharkだけです。

ポート443でWebサーバーに送信されているパケットをキャプチャしてからドリルダウンするようにフィルターを構成するだけです。

最初にHTTPSなしでフォームを投稿し(ポート80)、その後2つを比較します。

于 2012-12-14T08:02:11.627 に答える
0

最も安全な方法は統合 Windows 認証を使用することで、ユーザーはパスワードを入力する必要さえありません。

上記の SSL を使用しないコードでは、パスワードはクライアントのブラウザーから Web サーバーに平文で送信されます。クリアテキストのユーザー名とパスワードを Active Directory に送信できます。上記の構成で pc.ValidateCredentials の Web サーバーから LDAP サーバーへの接続が暗号化されている (または単に Wireshark などのパケット スニファーを使用している) 場合は、.NET ドキュメントを確認する必要があります。

于 2012-12-14T20:54:01.110 に答える