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

 

 

관련 링크

 

댓글 남기기