Server1 및 Server2의 ASP.NET 4 (4.0.30319) 응용 프로그램 풀에 배포 된 웹 폼의 코드에서 다음 C# 코드를 사용하고 있습니다.안전한 LDAP 인증 문제
PrincipalContext pc = new PrincipalContext(ContextType.Domain, "testnet.testad.org:636", "dc=testnet,dc=testad,dc=org");
bool validated = pc.ValidateCredentials(username, password, ContextOptions.Negotiate);
서버 1이 실행되는 : 윈도우 서버 2003 SP2
는 ASP.NET 버전 4.0.30319
그것은 옵션에 따라 인증 30 ~ 60 초까지 걸리는 6.0
IIS.
는 (참고 : 지연없이 즉시 인증 일반 LDAP 사용)
서버 2가 실행 : 윈도우 서버 2008 SP2
은 IIS 7.0
ASP.NET 버전 4.0.30319
동일한 실행 코드는 Server1로, Server2는 거의 즉시 인증합니다.
(동일한 결과를 가진 다른 IIS 7.0 서버에 대한 코드도 시도했습니다.)
누구든지이 문제를 전에 경험해 봤습니까?
IIS 7.0 서버 대 IIS 7.0 서버에서 인증하는 다른 방법이 있습니까?
구성, 추가, 제거 등의 작업이 필요합니까?
감사합니다.
.............................................. .................................................. ..............................................
[업데이트]
ldaps 인증 요청을하는 동안 wireshark를 사용하도록 설정했습니다.
나는 636
을 통해 모든 요청을 포함하는 파일을 만든 그것은 여기 볼 수 있습니다 : Server1 636 traffic
가장 큰 차이는 사이에 발견된다 :
번호 1949 1.115583 초에서 - 제 06788 14.501754 초에 14.64297 초에서
및
호 6803-27.921379 초
해당 포트에서 다른 모든 트래픽을 11742 호 동일한 초 내에 발생한다.
참고 : Server2에는 대략 동일한 양의 트래픽이 있지만 모두 2 ~ 3 초 사이에 발생합니다.
은 여기에서 볼 수 있습니다 :
프로토 로컬 주소 외국인 주소 상태 PID
TCP 10.1.72.74:1761을 : 내가 로그인 할 때 Server2 636 traffic
내가 LDAPS에 대해 다음 연결에서 netstat -ano "명령을 실행 발견 10.1.72.54:636 설립 3688
TCP 10.1.72.74:1800 10.1.72.54:636 확정 3688
TCP 10.1.72.74:1825 10.1.72.54 : 636 ESTABLISHED 3688
포트 389를 사용하면 인증 호출이 즉시 발생합니다. 636을 통해 연결할 때 두 서버에서 발급 한 인증서는 동일합니까? 내가 느낀 또 다른 유일한 이유는 추천 속도가 느려지는 이유는 참조 바인딩이 권한을 부여 할 때 올바르게 억제되지 않기 때문입니다. 트래픽의 소강 상태를 확인하기 위해 Server1의 인증 시도를 Wireshark 할 수 있습니까? – X3074861X
@ X3074861X 예, 포트 389를 사용하면 인증 호출이 즉시 발생합니다. 나는 증명서에 대해 확신 할 수 없지만, 나의 dev 랩탑에는 특별한 인증서가 없으며, 디버깅 중에는 636 이상을 인증한다. Wireshark를 실행하고 Server1에 대한 인증 시도를했습니다. 위 결과를 636 이상의 모든 트래픽을 포함한 전체 로그 파일의 위치와 결과로 업데이트했습니다. – Baxter
나는 Wireshark 로그를 살펴 보았을 것입니다. TLS 중에 트래픽이 가장 많이 걸리는 것을 보았을 것입니다. 핸드 셰이크 시퀀스. 이벤트 뷰어의 Server1에서 시스템 로그 아래에 Schannel의 경고 또는 오류가 표시됩니까? 협상 외에도 SSL 연결을 정의해야 할 수도 있습니다 : bool validated = pc.ValidateCredentials (사용자 이름, 암호, ContextOptions.Negotiate | ContextOptions.SecureSocketLayer); ' – X3074861X