본문 바로가기
Oracle

[ORACLE] USER_PASSWORD_LIMITS : 사용자 패스워드 정책 확인과 보안 설정 전략

by Dev. Orion 2025. 7. 19.
반응형

사용자 패스워드 정책 확인과 보안 설정 전략
[ORACLE] USER_PASSWORD_LIMITS

 

Oracle 데이터베이스는 강력한 사용자 인증과 접근 제어 기능을 제공하며, 특히 패스워드 보안 정책은 전체 보안 전략의 핵심 요소 중 하나입니다. Oracle 12c 이후부터는 USER_PASSWORD_LIMITS 뷰를 통해 각 사용자의 패스워드 정책 제한 정보를 확인할 수 있도록 지원하며, 이는 보안 규정 준수 및 감사 대응 시 매우 유용한 정보를 제공합니다. 본 글에서는 이 뷰의 구조와 실무에서 어떻게 활용할 수 있는지를 깊이 있게 다루고, 실제 운영 환경에서 적용 가능한 보안 전략을 함께 제시합니다.

1. USER_PASSWORD_LIMITS란?

USER_PASSWORD_LIMITS는 Oracle 12c부터 도입된 Unified Auditing 및 보안 프로파일 관리 기능의 일환으로 제공되는 뷰입니다. 각 사용자가 연결된 프로파일(Profile)에 의해 설정된 패스워드 관련 제한값을 확인할 수 있습니다. 이 뷰는 DBA_USERS 또는 DBA_PROFILES보다 사용자 중심으로 구성되어 있어, 특정 계정의 정책을 빠르게 파악할 수 있는 장점이 있습니다.

2. 주요 컬럼 설명

컬럼명 설명
USERNAME 패스워드 정책이 적용된 사용자 이름
PROFILE 사용자가 속한 보안 프로파일 이름
LIMIT_NAME 제한 항목명 (예: PASSWORD_LIFE_TIME, FAILED_LOGIN_ATTEMPTS 등)
LIMIT_VALUE 설정된 제한값 (예: 90, UNLIMITED, 5 등)

3. 대표적인 제한 항목 비교

LIMIT_NAME 설명 권장값 (보안 기준)
PASSWORD_LIFE_TIME 패스워드 유효 기간 (일 단위) 90
PASSWORD_GRACE_TIME 패스워드 만료 전 경고 기간 7
PASSWORD_REUSE_TIME 이전 패스워드 재사용 제한 기간 365
PASSWORD_REUSE_MAX 재사용 전 최소 변경 횟수 5
FAILED_LOGIN_ATTEMPTS 로그인 실패 허용 횟수 5
ACCOUNT_LOCK_TIME 잠금 유지 시간 (일) 1

4. 사용자별 정책 확인 예시

-- 모든 사용자에 대한 패스워드 제한 정보 조회
SELECT username, profile, limit_name, limit_value
FROM user_password_limits
ORDER BY username, limit_name;

-- 특정 사용자 패스워드 정책 확인
SELECT limit_name, limit_value
FROM user_password_limits
WHERE username = 'APP_USER';
  

이러한 쿼리를 통해 운영자나 보안 담당자는 계정별로 적용된 패스워드 정책을 명확히 파악하고, 보안 정책 위반 또는 허술한 설정이 있는지를 빠르게 점검할 수 있습니다.

5. USER_PASSWORD_LIMITS vs DBA_PROFILES

구분 USER_PASSWORD_LIMITS DBA_PROFILES
조회 대상 사용자 기반 프로파일 기반
실무 활용성 계정별 정책 점검에 용이 정책 정의 기준으로 유용
복잡성 간단하고 직관적 JOIN 필요 (DBA_USERS 연동)

6. 실무 적용 전략

  • 보안 감사 대응: 사용자별 보안 정책 로그로 활용
  • 자동 점검 스크립트 구성: 비표준 정책 탐지 자동화
  • 패스워드 만료 알림 시스템 연동: 패스워드 변경 주기 도입
  • 공통 프로파일 사용 유도: 보안 정책 일관성 확보
  • 잠금 계정 관리: 실패 횟수 기반 계정 잠금 추적 및 경보 설정

7. 운영 자동화 예시

-- 보안 기준을 벗어난 사용자 탐지 (예: PASSWORD_LIFE_TIME이 UNLIMITED인 계정)
SELECT username
FROM user_password_limits
WHERE limit_name = 'PASSWORD_LIFE_TIME'
  AND limit_value = 'UNLIMITED';
  
-- 로그인 실패 제한이 없는 계정 탐지
SELECT username
FROM user_password_limits
WHERE limit_name = 'FAILED_LOGIN_ATTEMPTS'
  AND limit_value = 'UNLIMITED';
  

8. USER_PASSWORD_LIMITS 뷰를 활용한 보안 감사 체크리스트

체크 항목 기준 점검 방법
패스워드 만료 주기 90일 이하 PASSWORD_LIFE_TIME 확인
이전 패스워드 재사용 방지 최소 5회 변경 또는 365일 PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX
로그인 실패 제한 5회 이하 FAILED_LOGIN_ATTEMPTS
계정 잠금 지속 시간 1일 이하 ACCOUNT_LOCK_TIME

9. 결론

Oracle의 USER_PASSWORD_LIMITS 뷰는 사용자 단위의 패스워드 보안 정책을 명확하게 파악할 수 있는 실무 중심 도구입니다. 이 뷰를 적극적으로 활용하면 각 계정의 보안 정책 상태를 빠르게 점검하고, 조직의 보안 규정에 맞는 정책으로 통합 관리할 수 있습니다. 특히 점점 강화되는 내부 정보보호 기준 및 외부 컴플라이언스 대응에도 매우 효과적입니다.


출처:

  • Oracle Database 21c Security Guide - Oracle Corporation
  • Oracle DBA Security Audit Best Practices
  • 실제 금융권 DBA 운영 감사 대응 사례 기반
728x90
반응형