2016-10-19 9 views
0

내부 회사 사용자 용 셀프 서비스 비밀번호 재설정 도구를 C# Winform으로 작성했습니다.셀프 서비스 실행 Windows 로그인 화면에서 C# Winform

이 응용 프로그램은 HTTPS 및 클라이언트 인증서 기반 인증을 사용하여 임의의 6 자리 코드를 생성하고 모바일 장치로 보내거나 사용자가 설정 한 3 가지 보안 질문을 검색하기 위해 다른 사용자 지정 Asp.net 웹 서비스를 사용합니다 셀프 서비스에 등록했습니다.

코드/답변이 웹 서비스로 다시 전송되면 확인되면 사용자 AD 계정의 잠금이 해제되고 비밀번호가 서버 측으로 재설정됩니다.

나는이 어떤 SSPR 도구의 모든 매우 일반적이고 생각하는 모든 작업을 미세 다른 사용자의 컴퓨터에서 액세스 할 경우, 그러나 ... 때문에 사용자가 캔트 자신의 컴퓨터에 액세스하는 것을되는 문제의 성격의

암호를 재설정해야 할 때이 응용 프로그램을 Windows 로그인 화면에서 시작할 수 있는지 묻는 질문을 받았습니다.

필자는 Windows 7 로그인 화면에 새로운 "타일"을 추가하고 클릭 할 때 내 앱을 시작하는 POC 맞춤 자격 정보 제공자를 작성했지만 도움이되지 않지만 실제로는 좋지 않을 수 있다고 생각합니다.

어디에서 시작 되었기 때문에 앱은 이미 긴장하고있는 로컬 SYSTEM 사용자의 컨텍스트에서 실행됩니다!

다른 "유료"SSPR 도구를 보면 액면 가격으로 로그인 화면에서 외부 앱을 실행하고있는 것처럼 보입니다.

  • winlogin 화면에서 SYSTEM으로 실행중인 앱이 있습니까?

  • 그렇지 않은 경우 취약점을 설치하기 위해 따라야 할 권장 사항이 있습니까?

  • 내가 위험을 줄이기 위해 할 수있는 아무것도 거기에 (내 프로그램을 처음 실행할 때 가장/디 고도의 어떤 종류는?) 당신이 중 하나에 그것을 얻을 수있는 Windows 자격 증명 공급자에

+0

기본 로그온 UI는 SYSTEM으로 실행되므로 완전히 우스운 일이 아닙니다. 사실, 보안 로그온 화면에 UI를 표시하려면 SYSTEM으로 실행해야합니다. (나는 확실하지 않다.) 어떤 경우에도 최소한의 권한으로 실행되는 서브 프로세스에서 네트워크 공격을 가장 취약하게하는 것은 나쁜 생각이 아닐 수도있다. –

+0

이 질문의 대답은 이것이 정말 나쁜 생각이지만 구체적으로 들어 가지 않는다고 말합니다. http://stackoverflow.com/questions/13292060/adding-a-button-to-the-windows-7-logon- screen 거기에 제안 된 경로를 따라 내려 가서 일반 도메인 사용자를 설정하고 해당 사용자의 셸을 내 응용 프로그램으로 바꿔야한다는 유혹에 빠져 있습니다. 내 앱을 시작해야하는 타일을 클릭했을 때 일반 사용자와 자동으로 로그온하지만 시스템이 아닌 표준 도메인 사용자의 컨텍스트에서 자격 증명 제공자를 수정할 수 있어야합니다. – prwilliams1982

+0

그룹 정책을 사용하여 원래 타일을 숨기면 CP 샘플은 각 공급자에 대해 새 타일을 만듭니다. 당신은 원래의 마이크로 소프트 타일 guid가 필요합니다 – n981x

답변

0

로그인 후 셀프 서비스 앱을 시작하십시오. 우리는 이것을 시도했고 프로세스 자체가 너무 오래 걸린다.

대신에 우리는 다음과 같은

당신은 셀프 서비스에 등록 할 수있는 웹 응용 프로그램을 작성했다. 질문에 답변하거나 보조 이메일 주소를 등록하십시오. 이것은 모두 사소한 것들입니다.

재미있는 점은 해당 URL에 대해서만 브라우저 구성 요소가있는 Winform 앱을 만들었 기 때문입니다. 그런 다음 클릭하면 winform 앱을 열 수있는 링크가있는 자격증 명 공급자를 만들었습니다. 우리는 Winform을 이와 같이 구성하여 새로운 창을 시작하는 기능이나 오른쪽 클릭을 보장하지 않았습니다.

이제 사용자가 비밀번호를 잊어 버린 경우 사전 로그온시 링크를 클릭하기 만하면됩니다. Winform은로드되며 비즈니스를 수행합니다. Winform 닫습니다. 그것은 모두 로그온 화면에서 완료됩니다.

참고. Winforms 대신 wpf를 사용하여 구현하려고하면 응용 프로그램을로드하는 데 꽤 많은 시간이 걸립니다.

코드를 공유해주십시오.너에게 필요한게 뭔지 말해줘. 또한 Microsoft 샘플을 사용하는 것이 아니라 고유 한 ID를 제공하는 자격 증명 공급자를 만들 때 반드시 확인하십시오. 원래 자격증 명 공급자를 비활성화해야합니다. 그렇지 않으면 중복으로 끝납니다. 그룹 정책을 사용하여 사용 중지했습니다.

+0

안녕하세요, 나는 당신의 의견이 좋았던 전에 알았지 만, 나는 단지 그것을 가로 질러 왔습니다. – prwilliams1982

+0

우리는 모든 기계에 내 앱과 자격 정보 제공자를 배포하는 중일뿐입니다. 사용자가 "사용자 전환"을 클릭하지 않으면 항상 표시되지 않는 별도의 "타일"로 표시됩니다. 기본 로그인 화면이 통합 된 CP를 살펴보고 가능하다면 거기에서 앱을 시작하는 데 관심이 있으십니까? – prwilliams1982