본문 바로가기

Oracle/admin

Oracle User Password Policy Configuration

오라클 사용자에게 패스워드 정책을 적용

Oracle 서버 접속 후 명령 수행


$ vi $ORACLE_HOME/rdbms/admin/utlpwdmg.sql
$ORACLE_HOME/rdbms/admin/utlpwdmg.sql

// 아래 길이를 4에서 7로 수정
   -- Check for the minimum length of the password
   IF length(password) < 7 THEN
      raise_application_error(-20002, 'Password length less than 7');
   END IF;
 
// system의 기본 profile 설정은 주석처리
-- ALTER PROFILE DEFAULT LIMIT
-- PASSWORD_LIFE_TIME 60
-- PASSWORD_GRACE_TIME 10
-- PASSWORD_REUSE_TIME 1800
-- PASSWORD_REUSE_MAX UNLIMITED
-- FAILED_LOGIN_ATTEMPTS 3
-- PASSWORD_LOCK_TIME 1/1440
-- PASSWORD_VERIFY_FUNCTION verify_function; 

수정한 쿼리 수행


$ sqlplus / as sysdba
 
SQL> @$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 
 
Function created.
 
SQL> CREATE PROFILE OracleUsers LIMIT
PASSWORD_LIFE_TIME 90
PASSWORD_GRACE_TIME 2
PASSWORD_REUSE_TIME 180
PASSWORD_REUSE_MAX 4
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 30/1440
PASSWORD_VERIFY_FUNCTION verify_function;
 
Profile created.

옵션

  • PASSWORD_LIFE_TIME: 비밀번호 사용기간 90일
  • PASSWORD_GRACE_TIME: 비밀번호 만료후 유예회수, 2번 로그 출력 후 그 이후 잠김
  • PASSWORD_REUSE_TIME: 한번 사용한 비밀번호는 180일 이후 사용가능
  • PASSWORD_REUSE_MAX: 비밀번호를 다시 사용하기 위해 변경해야하는 횟수 (4번이상) 
  • FAILED_LOGIN_ATTEMPTS: 비밀번호 5회 실패시 30분 계정잠김
  • PASSWORD_LOCK_TIME: 잠김이 유지되는 시간 30/1440 (30분)
    • 하루를 기준으로 함
    • 하루를 분단위로 표시 60분 * 24시간 = 1440
  • PASSWORD_VERIFY_FUNCTION verify_function: 복잡도는 verify_function로 검증
    • 7자리 이상
    • 문자,숫자,특수문자 1자리 이상
    • 사용자ID 사용불가
    • 단순한 단어 사용불가
    • 이전 비밀번호와 3자리 이상 겹치면 사용불가

새로 추가된 profile 확인


SQL> select * from dba_profiles where profile = 'ORACLEUSERS'

신규 사용자 profile 적용


SQL> create user user1 identified by korea1$23AB profile OracleUsers; 

기존 사용자 profile 적용


SQL> alter user user1 profile OracleUsers;


'Oracle > admin' 카테고리의 다른 글

11gR2 RAC 권장 파라미터 정리  (0) 2016.06.03
Redo log file의 장애 처리 유형  (0) 2016.06.03
Oracle CPU Patch for Linux  (0) 2016.05.11
MOVE vs SHRINK Commands  (0) 2016.05.02
Oracle11gR2 RAC(NFS) VOTE DISK, OCR FILE Multiplexing  (0) 2016.04.28