DB (데이터베이스)/Oracle (오라클)

[Oracle] oracle verify function 적용방법

뜽배 2024. 5. 31. 10:58
728x90
반응형

PASSWORD_VERIFY_FUNCTION 은 ORACLE에서 제공하는 암호의 복잡합성과 타당성을 인증하는 함수이다.

 

PASSWORD_VERIFY_FUNCTION을 적용하는 방법에 대해서 알아보자

 

1. verify_function_19c 함수 생성

 

sql> @?/rdbms/admin/utlpwdmg.sql


위 sql을 실행시켜 verify_function_19c를 생성한다. 이때 @?는 $ORACLE_HOME을 지정해주는 문자이다.

@? 대신에 $ORACLE_HOME의 위치를 직접 지정해 주어도된다.

 

※중요!!  utlpwdmg.sql을 실행시키면 DEFAULT PROFILE의 값이 변경된다.
예를들어 DEFAULT PROFILE의 PASSWORD_LIFE_TIME이 UNLIMITED였는데 utlpwdmg.sql을 실행시키면 값이 변경되기 때문에 
DEFAULT PROFILE의 값을 변경시키고 싶지 않다면 utlpwdmg.sql의 값을 변경시켜줘야 한다.

 

ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX  UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1
INACTIVE_ACCOUNT_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION ora12c_verify_function;

이 부분을
/*
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX  UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1
INACTIVE_ACCOUNT_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION ora12c_verify_function;
*/
위 처럼 주석처리 해준다.

 

 

2. verify_function 설치 확인

 

SELECT *
FROM DBA_objects
WHERE object_name LIKE '%VERIFY_FUNCTION%';


이 SQL문을 통해 verify_function 설치 내용을 확인할 수 있다.

 

 

각 verify function을 설명하자면

 

* ORA12C_VERIFY_FUNCTION : oracle 12c에서 기본 제공되는 password 검증 함수
* VERIFY_FUNCTION_11G : oracle 11g에서 기본 제공되는 password 검증 함수
* VERIFY_FUNCTION : 기본제공되는 password 검증 함수
* ORA12C_STRONG_VERIFY_FUNCTION : oracle 12c에서 제공되는 강화된 password 검증 함수
* ORA12C_STIG_VERIFY_FUNCTION : STIG(Security Technical Implementation Guide)를 준수한 password 검증 함수.

 

위와 같다.

 

3. verify_function적용

 

-- alter profile <profile명> limit PASSWORD_VERIFY_FUNCTION <verify_function명>
ALTER profile application_profile LIMIT password_verify_function verify_function;



으로 설정 할 수 있다.

728x90
반응형