Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #W-05 해독 가능한 암호화를 사용하여 암호 저장 해제

반응형

## 1. 항목 설명

해독 가능한 암호 저장 정책을 사용하면 응용프로그램 호환성을 위해 비밀번호를 복호화 가능한 방식으로 보관할 수 있어 자격 증명 노출 위험이 커집니다.

판단 기준: 해독 가능한 암호 저장 정책이 사용 안 함이면 양호, 사용이면 취약입니다.

2026 가이드 근거

출처: 과학기술정보통신부·한국인터넷진흥원,「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」,W-05, p.181. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며,진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

2. 점검 목적

사용자 비밀번호가 복호화 가능한 형태로 저장되는 것을 방지하는 것이 목적입니다.

3. 실습 환경

- 운영체제: Microsoft Windows Server 2019 Standard Evaluation
- OS 버전: 10.0.17763
- 빌드: 17763
- 가상화 환경: VMware, Inc. VMware20,1
- 컴퓨터 이름: LAB-WINDOWS-SERVER
- 네트워크: VMware Host-only 격리망
- 실행 시각: 2026-06-08 10:57:31 +09:00

4. 취약 상태 구성

로컬 보안 정책의 ClearTextPassword 값을 1로 설정합니다.

이 구성은 인터넷과 분리된 실습 VM에서만 수행했습니다.

구성 방법

관리자 권한 PowerShell에서 로컬 보안 정책을 INF 파일로 내보낸 뒤 `ClearTextPassword` 값을 `1`로 변경하고 다시 적용했습니다. 값 `1`은 해독 가능한 암호 저장 정책이 사용 상태임을 의미합니다.

# 격리망 VM이라 GUI로 직접 설정해도 되나, 실제 정책 키 값 확인·반복 재현·증적 확보를 위해 INF 파일로 내보내 수정 후 재적용

$policyFile = Join-Path $env:TEMP 'W05-vulnerable.inf'
$policyDb = Join-Path $env:TEMP 'W05-vulnerable.sdb'

secedit /export /cfg $policyFile /areas SECURITYPOLICY

$policy = Get-Content -LiteralPath $policyFile
$policy = $policy -replace '^ClearTextPassword\s*=\s*\d+', 'ClearTextPassword = 1'
$policy | Set-Content -LiteralPath $policyFile -Encoding Unicode

secedit /configure /db $policyDb /cfg $policyFile /areas SECURITYPOLICY

구성 후 정책을 다시 내보내 ClearTextPassword 값을 확인했습니다.

$checkFile = Join-Path $env:TEMP 'W05-check.inf'
secedit /export /cfg $checkFile /areas SECURITYPOLICY
Select-String -LiteralPath $checkFile -Pattern '^ClearTextPassword'

확인 결과가 `ClearTextPassword = 1`이면 취약 상태입니다.

5. 최초진단 결과

- 판정: **취약**
- 자동 판정 근거: ClearTextPassword 정책이 사용(1)으로 설정되어 있습니다.

※ 본 화면은 실습용 VM에서 수집한 예시이며, 실제 운영환경에서는 SID, 계정명, 수집시각 등 식별 가능한 정보는 마스킹 후 사용해야 합니다.

Check: reversible password encryption policy  
ClearTextPassword: 1  
PasswordComplexity: 1  

6. 조치 방법

로컬 보안 정책의 ClearTextPassword 값을 0으로 설정합니다.

7. 이행진단 결과

- 판정: **양호**
- 자동 판정 근거: ClearTextPassword 정책이 사용 안 함(0)으로 설정되어 있습니다.

※ 본 화면은 실습용 VM에서 수집한 예시이며, 실제 운영환경에서는 SID, 계정명, 수집시각 등 식별 가능한 정보는 마스킹 후 사용해야 합니다.

Check: reversible password encryption policy  
ClearTextPassword: 0  
PasswordComplexity: 1  

8. 실무 주의사항

레거시 인증 프로토콜이나 응용프로그램이 해당 설정에 의존할 수 있으므로 운영 환경 적용 전 호환성 테스트가 필요합니다.

컨설턴트 조언

  • 로컬 보안 정책과 도메인 그룹 정책을 모두 확인하여 실제 적용값을 판정해야 하며, 설정 화면뿐 아니라 정책 내보내기 결과도 증적으로 확보하는 것이 좋습니다.
  • 정책이 사용 상태라면 담당자에게 어떤 응용프로그램이나 인증 방식이 이를 요구하는지 확인하고, 단순히 과거 호환성 문제 때문에 남아 있는 설정인지 검토합니다.
  • 비활성화 전에는 관련 응용프로그램의 인증 테스트와 변경 계획을 수립하고, 장애 발생 시 되돌릴 수 있는 절차를 준비해야 합니다.
  • 즉시 조치가 어려운 경우에는 대상 계정 최소화, 접근 통제, 자격 증명 보호 및 교체 계획을 보완 통제로 제시하고 예외 종료 기한을 명시합니다.

본 실습의 자동 판정은 일반적인 가이드 기준을 재현한 결과입니다. 실제 환경에서는 조직 정책, 시스템 역할, 예외 승인, 업무 영향을 확인한 뒤 최종 판정해야 합니다.

9. 마무리

해독 가능한 암호 저장은 특별한 호환성 요구가 없는 한 비활성화 상태로 유지해야 합니다.

반응형