소소한 일상에서 책읽기 중

프로파일을 통한 비밀번호 관리 본문

DB까다롭다

프로파일을 통한 비밀번호 관리

다솜여우 2011. 6. 3. 16:39


프로파일을 통한 비밀번호 관리

1. 정의
  1) profile : system resource와 password를 제한하기 위하여 사용되는 요소들의 group
      ① system resource : memory, process 등 system이 사용할 수 있는 resource의 한정으로 인하여 많은 user들이 동시에 DB에 접속해서 사용할 때 resource의 배분 가능
      ② password : 특정 user 혹은 해당 프로파일의 비밀번호 관리 가능

  2) 프로파일 구성
SELECT * FROM DBA_PROFILES order by PROFILE,RESOURCE_TYPE,RESOURCE_NAME;
PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ------------
DEFAULT                        COMPOSITE_LIMIT                  KERNEL   UNLIMITED
DEFAULT                        CONNECT_TIME                     KERNEL   UNLIMITED
DEFAULT                        CPU_PER_CALL                     KERNEL   UNLIMITED
DEFAULT                        CPU_PER_SESSION                  KERNEL   UNLIMITED
DEFAULT                        IDLE_TIME                        KERNEL   UNLIMITED
DEFAULT                        LOGICAL_READS_PER_CALL           KERNEL   UNLIMITED
DEFAULT                        LOGICAL_READS_PER_SESSION        KERNEL   UNLIMITED
DEFAULT                        PRIVATE_SGA                      KERNEL   UNLIMITED
DEFAULT                        SESSIONS_PER_USER                KERNEL   UNLIMITED
==> setting profile resource limits
DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD 10
DEFAULT                        PASSWORD_GRACE_TIME              PASSWORD 7
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD 180
DEFAULT                        PASSWORD_LOCK_TIME               PASSWORD 1
DEFAULT                        PASSWORD_REUSE_MAX               PASSWORD UNLIMITED
DEFAULT                        PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
DEFAULT                        PASSWORD_VERIFY_FUNCTION         PASSWORD NULL
==> setting profile password limits

  3) 비밀번호 관련 PARAMETER 설명
    ① FAILED_LOGIN_ATTEMPTS : log on 시도 반복 허용 횟수
    ② PASSWORD_LIFE_TIME : password의 수명 날짜 기간
    ③ PASSWORD_REUSE_TIME : password의 재사용 금지 날짜 기간
    ④ PASSWORD_REUSE_MAX : password의 재사용 가능한 최대 횟수
    ⑤ PASSWORD_VERIFY_FUNCTION : password의 검증 함수로 검증진행
    ⑥ PASSWORD_LOCK_TIME : password의 log on 허용 횟수 실패후 계정이 잠기는 날짜 기간
    ⑦ PASSWORD_GRACE_TIME : password가 만료된 후 password_life_time이 경과 후 비밀번호 변경해야 할 경우, password를 변경할 수 있는 기간을 날수로 지정
       ⓐ PASSWORD_GRACE_TIME에 지정한 날짜 이내에 password를 변경할 수 있다. 만약 이기간내에 변경하지 않으면 계정이 잠긴다. 비밀번호가 바뀐 후 첫 login 후부터 PASSWORD_LIFE_TIME이 다시 계산된다.
    ⑧ FAILED_LOGIN_ATTEMPTS : 설정된 횟수만큼 login을 실패한 후 자동적으로 계정이 잠김. 즉, FAILED_LOGIN_ATTEMPT에 설정한 값에 도달하면 자동적으로 계정이 잠김
       ⓐ FAILED_LOGIN_ATTEMPTS의 설정 횟수는 GROUP 단위나 USER 단위로 설정 가능
       ⓑ FAILED_LOGIN_ATTEMPTS에서 설정된 횟수를 재조정한 후 또는 설정을 하는 보안 관리자에 따라 잠김 해제


2. 프로파일 생성 하기
CREATE PROFILE sys_profile LIMIT
  COMPOSITE_LIMIT UNLIMITED
  SESSIONS_PER_USER UNLIMITED
  CPU_PER_SESSION UNLIMITED
  CPU_PER_CALL UNLIMITED
  LOGICAL_READS_PER_SESSION UNLIMITED
  LOGICAL_READS_PER_CALL UNLIMITED
  IDLE_TIME UNLIMITED
  CONNECT_TIME UNLIMITED
  PRIVATE_SGA UNLIMITED
  FAILED_LOGIN_ATTEMPTS 10
  PASSWORD_LIFE_TIME UNLIMITED
  PASSWORD_REUSE_TIME UNLIMITED
  PASSWORD_REUSE_MAX UNLIMITED
  PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION_11G
  PASSWORD_LOCK_TIME 1
  PASSWORD_GRACE_TIME 7;

3. 프로파일 설정 값 변경하기
  ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 180;
  ALTER PROFILE sys_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED;

4. 프로파일 적용하기
  ALTER USER sys PROFILE sys_profile;
  ALTER USER sys PROFILE DEFAULT;

5. 계정 변경
  1) 강제 잠금
     Alter user 사용자명 account lock ;
  2) 강제 만료
     Alter user 사용자명 password expire ;
  3) 잠금 해제
      Alter user 사용자명 account unlock ;
  4) 잠금 해제 및 만료 해제
     Alter user 사용자명 identified by 비밀번호 account unlock ;
  5) 비밀번호 변경
     Alter user 사용자명 identified by 비밀번호;