로컬 관리자 암호 관리 솔루션

2018. 6. 7. 04:33Windows Server

개요

이 샘플은 도메인에 가입 된 컴퓨터에서 기본 또는 사용자 지정 관리자 계정의 암호를 자동으로 관리하는 완벽하게 작동하는 솔루션입니다.

플랫폼의 Out of Box 기능 (그룹 정책 기본 설정)은 일반적인 보안 요구 사항을 충족시키지 못했습니다. GPO 환경 설정을 통한 관리자 암호 관리의 주요 문제점은 다음과 같습니다. 이러한 문제로 인해 기능이 OS에서 더 이상 사용되지 않습니다.

  • 많은 워크 스테이션에서 암호가 동일합니다.
  • GPO에 저장되고 네트워크를 통해 전송되는 암호는 암호화되지 않지만 난독 화 알고리즘 (및 난독 처리 알고리즘은 MSDN에 게시 됨)이므로 보안 솔루션이 아닙니다.

이 샘플로 구현 된 솔루션에는 그러한 단점이 없습니다.

중요 업데이트 (2014 년 11 월 26 일)

소스와 컴파일 된 바이너리 / 설치 프로그램이 Github으로 옮겨졌으며 거기에서 계속 유지 될 것입니다. 링크 :  https://github.com/jformacek/admpwd

LAPS.E 솔루션이 AdmPwd.E로 대체됨에 따라 LAPS.E 설치 프로그램이 제거되었습니다 . 자세한 내용 은 www.admpwd.com 을 참조하십시오.

 

업데이트 (2016 년 3 월 26 일)

고용주가 전용 웹 사이트에 LAPS.E를 호스트하지 말 것을 요청했습니다. http://www.laps-e.net은 이제 폐쇄되어 있으며 여기에 내용이 첨부되어 있습니다 -  LAPS.E_7.2.1.0.zip

---

중요 업데이트 (2013 년 3 월 1 일)

LAPS.E 관련 콘텐츠는 이제 전용 웹 사이트 ( http://www.laps-e.net) 에서 호스팅됩니다 바이너리와 문서는 더 이상 여기에 게시되지 않습니다. 링크를 업데이트하십시오.
또한 솔루션 및 코드 샘플의 일부는 GitHub에서 호스팅됩니다 ( http://github.com/jformacek/laps-e) . 여기에는 미리 컴파일 된 웹 UI도 포함됩니다.
코드 및 문서의 기여에 대한 자원 봉사자를 찾고 있습니다. 지금까지 지원해 주셔서 감사합니다!
---

업데이트 (2015 년 9 월 19 일)

  • 문서 : CSE가 PDS 서버에 설치되어있을 때 업데이트 된 LAPS.E Ops 가이드가 시나리오를 설명합니다.

---

중요 업데이트 (10/10/2015) :이 기사에는 이제 고급 버전 - LAPS.E (LAPS-E 또는 LAPS / E라고도 함) -이 프로젝트를 기반으로 구축 된 완전한 기능의 솔루션 설치 관리자가 포함되어 있습니다. 또한 기술 사양서도 첨부되어 있습니다. 사용해 보시고 laps-e@outlook.com에 귀하의 경험을 알려주십시오.

이 프로젝트는 Microsoft에서 공식적으로 지원하지 않는 개인 프로젝트입니다. 또한 솔루션에 대한 공식적인 지원에 관심이 있다면 laps-e (at) outlook.com에 알려주십시오.

너 개발자 야? https://github.com/jformacek/laps-e - LAPS.E 지원 도구 및 클라이언트 응용 프로그램을 개발하는 방법을 보여주는 오픈 소스 프로젝트에 관심이있을 수 있습니다  현재 샘플 콘솔 클라이언트와 웹 UI 시작 버전이 포함되어 있습니다.

---

중요 업데이트 (2011 년 1 월 5 일) :이 솔루션은 현재 MS 제품 포트폴리오의 일부이며 MS 다운로드 센터에서 무료로 다운로드 할 수 있습니다. 자세한 내용은 MS Secuirty Advisory 3062591 ( 영문)을 참조하십시오.  http://technet.microsoft.com/en-us/library/security/3062591 

MSI 설치 관리자 및 설명서에 대한 직접 다운로드 링크 :  http://www.microsoft.com/downloads/details.aspx?FamilyID=6e424d9b-e6dd-41c8-8523-6818fc2f07ec 

이 공식 MS 릴리스의 변경 사항에 대한 중요 정보 :

  • 버전 5.1.0.0의 코드를 기반으로 여기에 게시
  • 버전 번호는 6.0.0.0이므로 여기에 게시 된 모든 버전을 업그레이드합니다
  • 새로운 기능 / 변경 사항 :
    • CSE 및 관리 도구 모두에 대한 RODC 지원 (솔루션은 항상 쓰기 가능한 DC에 연결됨)
    • 새로 생성 된 암호가 시스템의 현재 암호 정책에 대해 유효성이 검사되어 암호와 암호 정책의 비 호환성으로 인해 관리자 계정의 암호를 다시 설정할 수없는 위험을 줄입니다.
    • 설치 프로그램에 EULA가 포함됨
    • installer는 x64 플랫폼에 x86 버전 설치를 차단합니다.
  • CSE는 Windows XP에서 지원되지 않으며 거기에서 실행되지 않습니다. MS 제품 수명주기와 일치합니다.

현재 설치 관리자는 XP에서 CSE를 실행하려는 사용자를 위해 여기에 있습니다.

앞으로이 장소를 사용하여 공식 배포되기 전에 검토 / 테스트를위한 새로운 기능을 게시 할 수 있습니다. 여기에서 업데이트를 게시 할 것입니다.

지원과 솔루션 개선에 도움을 주신 모든 분들께 감사드립니다!

----

참고 : 현재 버전의 솔루션은 AD의 기밀 특성에 암호를 일반 텍스트로 저장합니다. 암호화 된 암호를 저장하는 버전을 게시 할 생각입니다. 아이디어는 다음과 같습니다.

  • AD 스키마는 현재 솔루션과 동일합니다.
  • powershell cmdlet은 키 쌍을 만듭니다.
  • 공개 키가있는 파일이 클라이언트로 전송됩니다 (키 파일을 구성 할 수있는 GPO 경로)
  • 개인 키가있는 파일은 웹 서비스의 중심에 보관됩니다.
  • powershell cmdlet은 암호화 된 암호를 검색하고 개인 키로 암호를 해독하는 웹 서비스를 호출합니다.

웹 서비스는 전제 또는 Azure에있을 수 있습니다. Powershell은 웹 서비스의 클라이언트 일 필요는 없습니다. 대체 UI (웹, .net 양식 등)가 지원 될 수 있습니다. 관심이 있거나 암호화를 지원하는 방법에 대해 더 잘 알고 있다면 알려 주시기 바랍니다.

업데이트 : 암호화, 암호 기록, 더 나은 감사 및 기타 기능을 지원하는 버전을 업데이트했습니다. 아키텍처 및 화면 인쇄에 대한 간단한 설명은 https://sway.com/OFNqS4N9i5d3neb_ 를 참조  하십시오 . 
가용성 : MS 프리미어 고객이이 솔루션을 사전 패키지로 사용할 수 있도록 배포 및 배포 후 지원을 계획합니다.

---

버전 기록

2015 년 2 월 1 일 업데이트 (5.1.0.0)

  • AdmPwd :
    • ms-MCS-AdmPwd의 기본 searchFlags 값을 904 - 세부 감사가 구성 될 때 변경된 특성 값을 도메인 컨트롤러 감사 로그에 저장하지 못하도록하는 플래그가 변경되었습니다. 팁을 주신 Adam Stasiniewicz에게 감사드립니다.
  • ADMX :
    • GPO로 CSE 등록 방법 변경 - 이제 관련 GPO 설정을 편집 할 때 CSE가 자동으로 등록됩니다. 결과적으로 cmdlets (Un) Register-AdmPwdWithGPO가 더 이상 필요하지 않게 제거되었습니다. 대신 클라이언트 측에서 솔루션을 트리거하려면 GPO에서 솔루션을 켜야합니다.
      • 관리 템플릿 / AdmPwd / 로컬 관리자 암호 관리 사용 설정 참조 CSE가 트리거되고 로컬 관리자 암호를 관리하도록 허용 된 결과 정책  이 설정을 사용으로 설정 해야 합니다.
      • 팁에 대한 Mark Heitbrink에게 감사드립니다.
  • AdmPwd.PS :
    • 제거 된 cmdlet (Un) Register-AdmPwdWithGPO - 자세한 내용은 위를 참조하십시오.
  • AdmPwd.Setup :
    • 설치 프로그램은 설치 중에 사용자 지정 관리자 계정을 만들 수 있습니다.
      • 설치 관리자 변수 CUSTOMADMINNAME에 의해 관리 : 명령 줄 또는 MST 변환을 통해 원하는 계정 이름으로 설정할 수 있습니다
      • 계정에 임의의 복잡한 암호가 입력되고 로컬 Administrators 그룹의 구성원이됩니다.
  • VS2013으로 업그레이드 된 솔루션
  • 그에 따라 업데이트 된 문서

2014 년 11 월 19 일 UPDATE (5.0.3.0)

  • AdmPwd : 암호의 만료 시간이 너무 길어서 보호 기능이 추가되었습니다.이 기능을 사용하면 CSE는 정책에서 허용하는 것보다 만료 시간을 길게 허용하지 않습니다. 만료 시간이 길어지면 암호가 즉시 변경되고 만료 시간은 정책에 따라 재설정됩니다.
  • 이 보호 기능을 켜기위한 UI가 포함되도록 GPO 템플릿이 업데이트되었습니다.
  • 그에 따라 업데이트 된 문서

2014 년 24 월 24 일 UPDATE (5.0.2.0)

  • AdmPwd : 사용되지 않는 이벤트 로그 메시지가 제거되었습니다.
  • AdmPwd.PS : cmdlet에 도움말 추가
  • AdmPwd.Setup : 설정 UI에서 그래픽이 약간 변경되었습니다.
  • 그에 따라 업데이트 된 문서

2014 년 13 월 8 일 UPDATE (5.0.1.0)

  • AdmPwd : AD의 빈 속성이 초기 암호 변경시 ERROR_NOT_FOUND에서보고 될 때의 버그 수정

2014 년 6 월 8 일 업데이트 (5.0.0.0)

코드 재 설계 및 재 작성. 제거 된 COM / ADSI 의존성 - 순수 LDAP 및 Windows API 호출로 대체되었습니다.

  • AdmPwd :
    • GPO를 통해 기능을 해제하는 옵션이 추가되었습니다. 이렇게하면 어디서나 CSE를 설치하고 컴퓨터의 하위 집합 만 관리 할 수 ​​있습니다.

2014 년 9 월 6 일 업데이트 (4.0.9.0)

  • AdmPwd.PS :
    • Register-AdmPwdWithGPO 및 Unregister-AdmPwdWithGPO cmdlet의 잘못된 출력을 일으키는 형식 지정자 파일의 버그 수정 (보고 용 Tom Ausburne 덕분)
  • 문서에 운영 가이드 추가 (Tom Ausburne에게 감사드립니다.)

2014 년 25 월 25 일 업데이트 (4.0.8.0)

  • AdmPwd.PS :
    • Windows UI에서 수동 작업의 필요성을 제거하고 감사를보다 쉽게 ​​설정할 수 있도록 cmdlet Set-AdmPwdAuditing을 추가했습니다.
    • 암호 읽기 권한이있는 누가 쉽게 분석 할 수 있도록 Add-AdmPwdExtendedRights cmdlet 추가
  • 그에 따라 업데이트 된 문서

2014 년 8 월 3 일 업데이트 (4.0.7.0)

  • AdmPwd :
    • 광고 컨테이너 이름에 특수 문자가있을 때 버그 수정 (Andrew Brinded에게 감사드립니다)

업데이트 29/12/12 (4.0.6.0)

  • AdmPwd.PS :
    • 비 orgUnits에 권한 위임에 대한 지원 추가
    • 관련 cmdlet에서 GPO 및 OU를 식별하기위한 별칭 'ID'추가
  • AdmPwd.Setup :
    • Fat 클라이언트, PowerShell 모듈 및 ADMX 템플릿은 이제 별도의 제품 기능입니다.
    • 업데이트 된 UI 아이콘과 프로그램 추가 / 제거에서

2013 년 5 월 25 일 UPDATE (4.0.4.0)

  • AdmPwd.PS : Update-AdmPwdADSchema에서 수정 된 버그로 인해 새롭게 추가 된 스키마가 may-Contain 컴퓨터 클래스 집합에 추가되지 않아서 AD에 암호를 저장할 때 오류가 발생했습니다. 이 문제를 해결하려면 버전 4.0.4.0에서 Update-AdmPwdADSchema cmdlet을 다시 실행하기 만하면됩니다.

2013 년 14 월 14 일 UPDATE (4.0.3.0)

  • AdmPwd.PS : AD 스키마 업데이트를 수행하는 새 cmdlet Update-AdmPwdADSchema이므로 ldifde를 통한 스키마 업데이트가 더 이상 필요하지 않습니다.
  • AdmPwd.Setup : 설치 프로그램에서 ADMX / ADML 파일을 관리 도구의 일부로 설치합니다.
  • 그에 따라 업데이트 된 문서

2013 년 7 월 29 일 UPDATE (4.0.2.0)

  • AdmPwd : 새 암호를 생성 할 때 핸들 누출 문제가 수정되었습니다.

2013 년 7 월 22 일 업데이트 (4.0.1.0)

  • AdmPwd : 일부 시나리오에서 FILE_NOT_FOUND 오류를 일으킨 고정 회귀. 보고 해 주신 Adam Simson 및 A. Kanounnikoff 에게 감사드립니다 
  • AdmPwd : 확장 로깅
  • 몇 가지 마이너 코드 최적화
  • AdmPwd.UI : 실행 파일 아이콘
  • 그에 따라 업데이트 된 문서

2013 년 6 월 16 일 업데이트 (4.0.0.6)

  • AdmPwd : GPO 설정이 구성되지 않은 경우 GPO 업데이트 중 FILE_NOT_FOUND 오류가 수정되었습니다. Tuna Gezer에게 감사의 말을 전합니다.

2013 년 5 월 5 일 업데이트 (4.0.0.5)

  • AdmPwd.Utils : OU 이름이 3 자보다 짧을 때 버그가 수정되었습니다. 보고 해 준 Tomas Rydl에게 감사드립니다.

2013 년 5 월 5 일 업데이트 (4.0.0.4)

  • AdmPwd : 사용자 정의 로컬 관리자 계정의 비밀번호 관리 지원 추가
    • 용법:
      • GPO를 통해 관리하려는 관리자 계정의 이름을 구성합니다 (업데이트 된 ADMX 참조).
      • 관리자 계정의 이름이 구성되지 않은 경우 솔루션은 내장 된 관리자 계정 (심지어 이름이 바뀐 것)
  • 솔루션에서 샘플 웹 페이지와 사용자 정의 설치 프로그램을 제거했습니다.
    • 요청시 소스 코드 / 바이너리를 제공 할 수 있습니다.
  • 파일 구조 변경 : 소스 코드에서 _Other 폴더 아래에있는 AD 스키마 정의, ADMX 및 문서)
    • 요청시에도이 기사의 추가 다운로드가 변경되었습니다. 다운로드에는 MSI 설치 관리자 ( Installers.zip )가 포함되어 있습니다.
  • 사용자 지정 로컬 계정 관리 기능을 포함하도록 ADMX가 업데이트되었습니다.
  • 그에 따라 업데이트 된 문서

2013 년 3 월 16 일 UPDATE (3.1.2.0)

  • GPO를 통한 CSE 구성 옵션 관리를위한 ADMX 템플릿 추가 (_ 기타 \ ADMX 참조 )

이 업데이트에서 코드가 변경되지 않았습니다.

2013 년 9 월 3 일 업데이트 (3.1.2.0)

  • 업데이트 된 기술 사양 문서
  • 첨부 된 MSI 설치 관리자는이 기사에 직접 설명되어 있으므로 소스 코드를 다운로드하지 않고도 쉽게 사용할 수 있습니다.

이 업데이트에서 코드가 변경되지 않았습니다.

중요 : 다음 코드 업데이트부터 솔루션에는 다음 구성 요소 만 포함됩니다.

  • CSE
  • Powershell 모듈
  • 샘플 뚱뚱한 클라이언트
  • MSI 설치 관리자

사용자 정의 설치 프로그램 및 샘플 웹 페이지는 솔루션에서 제거되며 더 이상 유지 관리되지 않습니다.

2013 년 2 월 2 일 업데이트 (3.1.2.0)

  • AdmPwd.UI : 사용자 친화적 인 비밀번호 재설정 UI 변경

2013 년 1 월 19 일 UPDATE (3.1.1.0)

  • GPO CSE + AdmPwd_Installer : 필요한 최소 Windows 버전이 예기치 않게 6.0으로 향상되는 문제를 수정했습니다. 새로운 최소 요구 사항 Windows 버전은 5.1로 돌아갑니다. 보고에 대한 Saida Aziri에게 감사드립니다.

2013 년 1 월 19 일 UPDATE (3.1.0.0)

  • 새 프로젝트 추가 :
    • AdmPwd.UI : 암호를 읽고 재설정 할 수있는 간단한 WinForm 앱. 이는 Kerberos 제한 위임을 구성하는 복잡성없이 프로젝트에 이미있는 웹 응용 프로그램의 대안으로 의미합니다.
    • AdmPwd.PS : 암호를 읽고 재설정 할 수있는 Powershell 모듈 (지금까지는  
      다른 UI 임)과 지금까지 수동으로 수행해야했던 구성 작업을 자동화합니다. Powershell 코드 샘플을 사용하는 방법을 아래에서 확인하거나 첨부 파일에서 샘플 스크립트를 다운로드하십시오.
    • AdmPwd.Utils : AdmPwd.UI 및 AdmPwd.PS 용 공유 라이브러리
    • AdmPwd.Setup : 기존 MSI 설치로 GPO CSE, AdmPwd.UI 및 AdmPwd.PS가 설치되어 있어야합니다. % ProgramFiles % \ AdmPwd에 설치됩니다. 설치 프로그램은 WiX 도구 세트 (http://www.wixtoolset.org/)를 사용하여 구축됩니다.
  • GPO CSE :
    • 구성 값의 레지스트리 경로를 HKLM \ Software \ Microsoft Services \ AdmPwd로 변경하여 GPO를 통해 더 잘 관리 할 수있게했습니다.
  • 업데이트 된 문서; 첨부 파일에서 다운로드 할 수있는 문서 (위 참조)
PowerShell
import - 모듈 admpwd. ps  
#COMMON TASKS  
# 컴퓨터 jiri-test에 내장 된 관리자의 비밀번호를 얻습니다.  
Get - AdmPwdPassword - ComputerName : jiri  - test 
 
# 컴퓨터에 내장 된 관리자 비밀번호의 즉각적인 변경을 요청합니다. jiri -test  
재설정 - AdmPwdPassword - ComputerName : jiri  - test 
 
 
#INSTALLATION TASKS  
#이 명령은 AD 스키마를  
갱신합니다. Update - AdmPwdADSchema 
 
#이 명령은 주어진 컨테이너에있는 컨테이너에 대한 모든 확장 권한 권한을 가진 모든 보안 사용자를 나열합니다.  
Find - AdmPwdExtendedRights  - OrgUnit : AdmPwd 
 
#이 명령은 주어진 GPO에 GPO CSE를 등록합니다.  
# GPO ID는 displayName, GUID 또는 distinguishedName으로 입력 할 수 있습니다.  
등록 - AdmPwdWithGPO  - GpoIdentity : AdmPwd 
 
#이 명령은 주어진 GPO에서 GPO CSE 등록을 취소합니다.  
# GPO ID는 displayName, GUID 또는 distinguishedName으로 입력 할 수 있습니다.  
Unregister - AdmPwdWithGPO  - GpoIdentity : AdmPwd 
 
#이 명령은 지정된 OU의 컴퓨터 개체에 대한 읽기 / 쓰기 타임 스탬프와 암호 쓰기 권한을 SELF에게 위임합니다. GPO CSE가 제대로 작동하는 데 필요합니다.  
# OrgUnit을 이름 또는 distinguishedName으로 입력 할 수 있습니다.  
Set - AdmPwdComputerSelfPermission  - OrgUnit : admpwd 
 
#이 명령은 지정된 OU에서 주어진 ID에 암호 및 타임 스탬프를 읽을 수있는 권한을 위임했습니다.  
# OrgUnit은 이름 또는 distinguishedName으로 입력 할 수 있습니다.  
Set - AdmPwdReadPasswordPermission  - OrgUnit : admPwd  - AllowedPrincipals : MyDomain \ MyIdentity 
 
# 주어진 OU에서 암호 및 타임 스탬프를 재설정 할 권한을 위임합니다  
# OrgUnit은 이름 또는 distinguishedName으로 입력 할 수 있습니다.  
Set - AdmPwdResetPasswordPermission  - OrgUnit : admpwd  - AllowedPrincipals : MyDomain \ MyIdentity 
 
#이 명령은 암호 읽기 감사를 설정합니다.  
Set - AdmPwdAuditing  - Identity : AdmPwd  - AuditedPrincipals : Everyone
 2012 년 16/11 일 UPDATE
  • 솔루션의 기술적 사양이 추가 된 문서 - LocalAdmPwd_TechnicalSpecification_1v0.docx 파일을 참조하십시오.
  • 쓸모 없거나 약한 API 대체 (솔루션이 Win 2000에서 더 이상 작동하지 않음을 의미)
  • SAL 표기법 추가
  • 바이너리가 / MT 스위치로 컴파일되어 VC ++ 2012 재배포 가능 패키지에 의존하지 않도록합니다.

2012 년 5 월 11 일 업데이트

  • GPO CSE :
    • 허용 된 경계 밖에서 레지스트리에 구성된 값이있을 때 암호 사용을 처리 할 때의 버그 수정

2012 년 4 월 11 일 업데이트

  • 솔루션을 Visual Studio 2012 RTM으로 옮겼습니다.
  • GPO CSE :
    • UpdateComputerAccount ()의 작은 버그가 수정되었습니다. 보고 해 준 Pascal Verbruggen에게 감사드립니다.
    • 암호 연령은 레지스트리를 통해 구성 할 수 있습니다. 
       HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ GPExtensions \ {D76B9641-3288-4f75-942D-087DE603E3EA} \ PasswordAgeDays (REG_DWORD)
      • 최소 : 1
      • 최대 : 365
      • 기본값 : 30
  • 이것은 Windows 2000을 지원하는 마지막 버전입니다. Windows 2000에서 사용할 수없는보다 안전한 API로 이동할 수 있도록이 솔루션의 이후 버전에서 WinXP / 2003 이상을 지원할 것입니다.

2012 년 21 월 21 일 업데이트

  • AdmPwd.Web \ web.config의 고정 된 속성 이름

2012 년 6 월 7 일 업데이트

  • Visual Studio 2012 RC로 솔루션 이동
  • GPO CSE :
    • 생성 된 암호의 복잡도는 레지스트리를 통해 구성 할 수 있습니다. HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ GPExtensions \ {D76B9641-3288-4f75-942D-087DE603E3EA} \ PasswordComplexity (REG_DWORD)
      • 1 : 큰 문자 만
      • 2 : 큰 문자 + 숫자
      • 3 : 큰 문자 + 숫자 + 작은 문자
      • 4 (기본값) : 큰 문자 + 숫자 + 작은 문자 + 특수 문자

2012 년 5 월 6 일 업데이트

  • 사용자 정의가 쉽고 패키지가 더 많아 진 솔루션이 추가되었습니다.
    • 더 쉬운 사용자 정의 : AD 속성 스키마 이름이 더 이상 코드에 없습니다. 여기에 위치 :
      • GPO CSE : 실행 가능한 리소스의 문자열 테이블
      • 샘플 웹 페이지 : web.config
      • 설치 프로그램 : 리소스의 문자열 테이블
    • 배포 준비가 된 컴파일 된 바이너리가 포함 된 샘플
      • 컴파일 된 바이너리의 속성 이름은 다음과 같습니다.
        • 암호 : ms-MCS-AdmPwd
        • 암호 만료 타임 스탬프 : ms-MCS-AdmPwdExpirationTime
  • GPO CSE :
    • 레지스트리를 통해 구성 할 수있는 생성 된 암호 길이 : HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Winlogon \ GPExtensions \ {D76B9641-3288-4f75-942D-087DE603E3EA} \ PasswordLength (REG_DWORD)
    • 최소 / 기본값 : 12 
    • 최대 : 64
  • AdmPwd.Web :
    • ADSI에 대한 종속성 제거. 현재 코드는 (내가 가장 좋아하는) System.DirectoryServices.Protols에 의존한다.
    • web.config의 포리스트 이름은 선택 사항입니다. 존재하지 않으면 웹에서 자체 포리스트를 감지합니다.

2012 년 3 월 21 일 업데이트

  • AdmPwd_SchemaUpdate.ldf의 오타 수정 - 속성의 dn에있는 잘못된 속성 이름

솔루션 요구 사항

솔루션은 다음 요구 사항을 충족 시키도록 설계되었습니다.

  • 암호는 각 워크 스테이션마다 달라야합니다.
  • 워크 스테이션 이름, MAC 주소 등에서 암호를 추측해서는 안됩니다.
  • 자격이있는 사람 (IT 지원 직원)이 필요할 때 쉽게 암호를 알 수있는 방법이 있어야합니다
  • 암호 관리 솔루션은 수천 대의 워크 스테이션을 지원하도록 확장해야합니다.
  • 암호 관리 솔루션은 쉽게 배치 및 관리 할 수 ​​있어야합니다.
  • 암호 관리 메커니즘은 다음과 같은 변조에 대해 내성을 가져야합니다.
  • 암호 관리 솔루션은 기본 관리자 계정의 이름 바꾸기를 지원해야합니다.
  • 암호 관리 솔루션은 필요한 경우 대량 암호 변경 메커니즘을 제공해야합니다.
  • 솔루션은 Windows 2000 이상을 지원해야합니다. Vista 및 Win7의 경우 x86 및 amd64 플랫폼 모두의 지원이 필요합니다.

기술

솔루션의 핵심은 다음 기능을 갖춘 클라이언트 측 GPO 확장 (CSE)입니다.

  • GPO 새로 고침 이벤트를 트리거하여 기본 Administrator 계정의 암호 사용 기간을 확인합니다.
  • 로컬 관리자의 암호가 구성된 것보다 오래되면 CSE는 구성된 기준 (길이, 복잡성)에 따라 새로운 임의의 암호를 생성하므로 각 컴퓨터마다 암호가 다릅니다
  • 그런 다음 CSE는 내장 관리자 계정의 비밀번호를 새로 생성 된 값으로 설정합니다
  • CSE는 AD에있는 컴퓨터 계정의 기밀 특성에 새 암호를보고합니다.
    • 암호는 네트워크를 통해 전송 될 때 Kerberos 암호화로 보호됩니다.
  • CSE는 또한 컴퓨터 계정 속성에 암호 만료 시간을보고합니다.

IT 지원 대상 사용자에게는 기밀 속성을 읽고 필요한 경우 암호를 알 수있는 권한이 부여됩니다

솔루션은 AD 스키마에 도입 된 2 개의 새로운 속성을 기반으로 컴퓨터 개체의 속성 집합에 추가됩니다.

  • 관리자 암호를 저장하는 기밀 속성
    • 참고 : 기밀 특성은 Windows 2003 SP1 이후 Active Directory의 기능이었습니다.
  • 마지막 암호 변경의 시간 소인을 저장하는 숫자 속성

따라서 컴퓨터 계정의 타임 스탬프 특성 값을 삭제하여 관리자 암호 재설정을 강제로 수행하는 것이 쉽습니다. 다음 GPO 새로 고침시 암호가 다시 설정됩니다.

적절한 권한을 가진 사람은 선택 도구 (adsiedit 등)를 사용하거나 사용자 정의 도구를 사용하여 AD에서 암호를 읽을 수 있습니다.이 샘플에는 암호를 읽는 다음 샘플이 들어 있습니다.

  • .NET 양식 UI
  • Powershell 모듈
  • 광고와 통신 할 때 Kerberos 제한 위임 (KCD)을 사용하는 웹 응용 프로그램

솔루션 사용 방법에 대한 자세한 설명과 지침 은이 문서의 첨부 문서 ( Documentation.zip )를 참조하십시오.