Active Directory 환경에서 사용자 계정의 암호 변경 주기를 관리하는 것은 보안 정책의 핵심 요소입니다. 이 글에서 Group Policy Objects(GPO)를 통해 암호 변경 주기를 설정하는 구체적인 방법들을 알아보겠습니다.


 

1. 기본 개념

비밀번호 정책 유형

Active Directory에서 암호 정책은 다음 두 가지 방식으로 적용됩니다:

정책 유형 적용 범위 특징
도메인 정책 전체 도메인 Default Domain Policy를 통해 일괄 적용
세분화된 정책 특정 사용자/그룹 Windows Server 2008 이상에서 지원

주요 비밀번호 정책 설정값

설정 항목 설명 권장값
최대 암호 사용 기간 암호 변경이 강제되는 주기 (일) 미설정 (0)
최소 암호 사용 기간 암호 변경 후 재변경 금지 기간 (일) 미설정 (0)
최소 암호 길이 암호 최소 문자 수 14자
암호 기록 적용 이전 암호 재사용 방지 개수 24개
복잡성 요구사항 대소문자, 숫자, 특수문자 조합 사용

 

 

2. GUI를 통한 설정 방법

1단계: Group Policy Management Console 실행

gpmc.msc

또는 서버 관리자 → 도구 → 그룹 정책 관리

2단계: 정책 편집 접근

  1. 포리스트도메인도메인명 확장
  2. 그룹 정책 개체Default Domain Policy 우클릭
  3. 편집 선택

3단계: 암호 정책 설정

그룹 정책 관리 편집기에서:

컴퓨터 구성
└── 정책
    └── Windows 설정
        └── 보안 설정
            └── 계정 정책
                └── 암호 정책

4단계: 개별 정책 설정

최대 암호 사용 기간 설정

  • 정책 항목: “최대 암호 사용 기간”
  • 설정값:
    • 0 = 만료 없음 (권장)
    • 1-999 = 일 수 지정

최소 암호 사용 기간 설정

  • 정책 항목: “최소 암호 사용 기간”
  • 설정값:
    • 0 = 즉시 변경 가능 (권장)
    • 1-998 = 일 수 지정

 

 

3. PowerShell을 통한 설정 방법

현재 도메인 암호 정책 확인

Get-ADDefaultDomainPasswordPolicy

도메인 암호 정책 수정

# 최대 암호 사용 기간을 0으로 설정 (만료 없음)
Set-ADDefaultDomainPasswordPolicy -MaxPasswordAge "00:00:00"

# 최소 암호 사용 기간을 0으로 설정 (즉시 변경 가능)
Set-ADDefaultDomainPasswordPolicy -MinPasswordAge "00:00:00"

# 최소 암호 길이를 14자로 설정
Set-ADDefaultDomainPasswordPolicy -MinPasswordLength 14

# 암호 기록을 24개로 설정
Set-ADDefaultDomainPasswordPolicy -PasswordHistoryCount 24

# 복잡성 요구사항 활성화
Set-ADDefaultDomainPasswordPolicy -ComplexityEnabled $true

특정 사용자 암호 만료 정보 확인

# 단일 사용자 암호 만료일 확인
(Get-ADUser -Identity "username" -Properties msDS-UserPasswordExpiryTimeComputed).'msDS-UserPasswordExpiryTimeComputed' | 
ForEach-Object {[datetime]::FromFileTime($_)}

# 전체 사용자 암호 만료일 조회
Get-ADUser -Filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} `
-Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" | 
Select-Object DisplayName, @{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}

 

 

4. 세분화된 비밀번호 정책

Windows Server 2008 이상에서는 도메인 내에서 사용자별/그룹별로 다른 암호 정책을 적용할 수 있습니다.

Active Directory 관리 센터를 통한 설정

1단계: ADAC 실행

dsac.exe

2단계: 세분화된 암호 정책 생성

  1. 시스템 컨테이너 확장
  2. 암호 설정 컨테이너 선택
  3. 작업 창에서 새로 만들기암호 설정 클릭

3단계: 정책 설정

  • 이름: 정책 식별명
  • 우선 순위: 낮은 숫자가 높은 우선 순위
  • 암호 설정: 개별 요구사항에 따라 구성
  • 직접 적용 대상: 사용자 또는 그룹 지정

PowerShell을 통한 세분화된 정책 관리

새 정책 생성

New-ADFineGrainedPasswordPolicy -Name "ExecutivePolicy" `
-ComplexityEnabled $true `
-LockoutDuration "00:30:00" `
-LockoutObservationWindow "00:02:00" `
-LockoutThreshold 5 `
-MaxPasswordAge "90.00:00:00" `
-MinPasswordAge "1.00:00:00" `
-MinPasswordLength 12 `
-PasswordHistoryCount 24 `
-Precedence 10

정책 사용자/그룹에 적용

Add-ADFineGrainedPasswordPolicySubject -Identity "ExecutivePolicy" -Subjects "Executives"

사용자별 결과 정책 확인

Get-ADUserResultantPasswordPolicy -Identity "username"

 

 

5. 정책 적용 및 확인

정책 강제 업데이트

gpupdate /force

정책 적용 상태 확인

# 클라이언트에서 정책 결과 확인
gpresult /r

# 세부 정보 HTML 보고서 생성
gpresult /h "C:\gpresult.html"

도메인 컨트롤러에서 정책 복제 확인

repadmin /showrepl

 

 

6. 권장 설정값

Microsoft 권장사항 (Windows 10 1903 이후)

설정 권장값 이유
암호 기록 적용 24개 이전 암호 재사용 방지
최대 암호 사용 기간 미설정 (0) 강제 변경시 약한 암호 선택 우려
최소 암호 사용 기간 미설정 (0) 사용자 편의성 향상
최소 암호 길이 14자 충분한 복잡성 확보
복잡성 요구사항 사용 강력한 암호 생성
해독 가능한 암호화 사용 안 함 보안성 확보

보안 강화 조직용 설정

설정 강화값 적용 대상
최소 암호 길이 16자 관리자 계정
최대 암호 사용 기간 60일 특권 사용자
계정 잠금 임계값 3회 모든 사용자
계정 잠금 기간 30분 모든 사용자

 

 

7. 자주 접하는 문제 및 해결방법

정책 적용이 안 되는 경우

원인 1: 도메인 정책 위치 문제

  • 해결: Default Domain Policy에서만 암호 정책 설정 유효

원인 2: 그룹 정책 상속 문제

# 정책 상속 상태 확인
Get-GPInheritance -Target "OU=Users,DC=domain,DC=com"

# 정책 링크 상태 확인
Get-GPO -All | Where-Object {$_.GpoStatus -eq "AllSettingsEnabled"}

원인 3: 정책 복제 지연

# 즉시 복제 강제 실행
repadmin /syncall /AdeP

사용자별 정책 충돌 해결

# 사용자에게 적용된 최종 정책 확인
Get-ADUserResultantPasswordPolicy -Identity "problematic_user"

# 세분화된 정책 우선순위 조정
Set-ADFineGrainedPasswordPolicy -Identity "PolicyName" -Precedence 5

 

 

관련 링크

 

댓글 남기기