Top Banner
Oracle Technical Notes 본 기술문서는 유니원아이앤씨㈜의 오라클 유지보수 고객사에 대한 감사의 마음과 함께 오라클 기술 지원의 서비스 만족도 향상을 위해 DB사업부에서 작성된 오라클 기술 문서입니다. 1. DBA_PROFILE - 데이터베이스 보안 설정 중 PROFILE 변경 방법에 대해 알아 보겠습니다.
13

Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

Mar 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

Oracle

Technical Notes

본 기술문서는 유니원아이앤씨㈜의 오라클 유지보수 고객사에 대한 감사의

마음과 함께 오라클 기술 지원의 서비스 만족도 향상을 위해 DB사업부에서

작성된 오라클 기술 문서입니다.

1. DBA_PROFILE

- 데이터베이스 보안 설정 중 PROFILE 변경 방법에 대해

알아 보겠습니다.

Page 2: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

.

DBA_PROFILE 설정가이드

유니원아이앤씨 DB사업부 이 제 홍

2015년 08월 19일

문서정보

프로젝트명 DBA_PROFILE 설정가이드

서브 시스템명 버전 1.0

문서명 DBA_PROFILE 설정가이드 작성일 2015-08-11

작성자 DB사업부 최종수정일 2015-08-19

문서번호 UNIONE-201508191330-LJH

재개정 이력

일자 내용 수정인 버전

문서배포 이력

발신자 수신자 배포목적 일자 비고

Page 3: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

3/13

Table of Contents

1 개요 ............................................................................................................................................................ 4

2 PROFILE 이란 ?....................................................................................................................................... 4

3 DEFAULT PROFILE 확인 ......................................................................................................................... 4

4 PROFILE RESOURCE 설명 ..................................................................................................................... 5

5 PROFILE 분리 적용 테스트 ..................................................................................................................... 7

5.1 새로운 PROFILE 생성 .................................................................................................................... 7

5.2 PROFILE 적용계정 분리 ................................................................................................................ 8

5.3 PROFILE 적용 ................................................................................................................................ 9

5.4 IDLE_DEFAULT PROFILE 적용 테스트 ....................................................................................... 10

6 PROFILE 적용시 주의사항 ..................................................................................................................... 13

6.1 RESOURCE PARAMTER 적용관련 ............................................................................................. 13

6.2 PASSWORD PARAMTER 적용관련 ............................................................................................. 13

Page 4: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

4/13

1 개요

오라클 보안 정책 강화에 따라 사용자 별 Resource 제한이나 Password 관련 정책설정 등.. 권한이 있

는 사용자에 대해서도 보다 강화된 보안 정책 적용이 이슈가 되고 있습니다. 이에 따라 오라클

Profile에 대한 이해와 적용 가이드를 위해 문서를 작성 하였습니다.

2 PROFILE 이란 ?

Profile 은 Database 에 접속하는 모든 계정들을 관리 하기 위한 방안으로 Resource 제한, Password 의

변경주기, 잘못된 비밀번호로 접속 시도시 계정잠금 , Password 재사용 할 수 있는 기간 / 횟수제한,

Password 복잡도 등을 제한 할 수 있는 설정 입니다.

3 DEFAULT PROFILE 확인

SYS @PRODW >select * from dba_profiles where profile='DEFAULT';

PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT

---------------------------------------- ----------------------------------------------- -------------------------------- ---------------

DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED

DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED

DEFAULT CPU_PER_SESSION KERNEL UNLIMITED

DEFAULT CPU_PER_CALL KERNEL UNLIMITED

DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED

DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED

DEFAULT IDLE_TIME KERNEL UNLIMITED

DEFAULT CONNECT_TIME KERNEL UNLIMITED

DEFAULT PRIVATE_SGA KERNEL UNLIMITED

DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10

DEFAULT PASSWORD_LIFE_TIME PASSWORD 90

DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED

DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL

DEFAULT PASSWORD_LOCK_TIME PASSWORD 1

DEFAULT PASSWORD_GRACE_TIME PASSWORD 7

16 개의 행이 선택되었습니다.

Page 5: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

5/13

SYS @PRODW >

4 PROFILE RESOURCE 설명

RESOURCE_NAME 11g 기본값 단위 설명

COMPOSITE_LIMIT UNLIMITED

cpu/session, reads/session,connect/time,

private SGA 의 합을 composite limits 로

제한

SESSIONS_PER_USER UNLIMITED 세션 수 동일계정으로 동시 접속 session 수 제한

CPU_PER_SESSION UNLIMITED 1/100 초 cpu 사용량이 설정된 시간을 넘으면 log off

CPU_PER_CALL UNLIMITED 1/100 초 CALL 의 CPU 사용량이 설정된 시간을

넘으면 실행하지 않음

LOGICAL_READS_PER_SESSION UNLIMITED 블록 수 접속 세션에서 과도한 block I/O 제한

LOGICAL_READS_PER_CALL UNLIMITED 블록 수 CALL 의 Logical Read 제한

IDLE_TIME UNLIMITED 분 서버프로세스가 idle 한 시간이 설정 시간을

넘으면 자동 log off

CONNECT_TIME UNLIMITED 분 접속 session 이 설정 시간을 넘기면 자동

log off

PRIVATE_SGA UNLIMITED Kbytes shared server 환경일때 sga 내에서 정렬,

bitmap 병합등에 사용되는 메모리량 제한

FAILED_LOGIN_ATTEMPTS 10 횟수 설정된 횟수만큼 접속 실패 시 로그인 제한

(계정 잠김)

PASSWORD_LIFE_TIME 180 일 현재 password 를 사용할 수 있는 기간

PASSWORD_REUSE_TIME UNLIMITED 일 현재 password 를 설정된 날짜 동안 재사용

하지 못하게 한다

PASSWORD_REUSE_MAX UNLIMITED 횟수

현재 password 를 재사용 하려면 설정된

횟수 만큼의 다른 password 를 사용해야

현재 password 를 재사용 할 수 있다

PASSWORD_VERIFY_FUNCTION NULL Password 복잡도 설정

PASSWORD_LOCK_TIME 1 일 login 실패 시 접근 제한되는 시간

PASSWORD_GRACE_TIME 7 일 password 만료 날짜에 가까워 졌음을

알려주는 기간

PASSWORD_LIFE_TIME

- 180 이 지나면 패스워드가 만료되며 PASSWORD_GRACE_TIME 에 지정된 기간동안 경

Page 6: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

6/13

고 메세지가 출력 된 후 계정이 잠기게 된다. UNLIMITED 로 변경 할 것을 권고 한다.

SQL> alter profile default limit password_life_time unlimited;

Profile altered

PASSWORD_LOCK_TIME

- 패스워드를 10번 잘못 입력 할 경우 계정이 잠기게 되는데 지정한 일자 이후에는 자동으

로 잠김이 풀리게 된다. 문제 해결 후 사용자가 잠김을 수동으로 해제 하는것이 올바

를 수 있기 때문에 UNLIMITED 로 변경 한다.

FAILED_LOGIN_ATTEMPTS

- 비밀번호를 잘못 입력 하거나 하여 10번의 접속 실패가 있을 경우 계정이 잠기게 된다.

계정이 잠기는 것을 원치 않을 경우 UNLIMITED 로 변경 한다.

PASSWORD_VERIFY_FUNCTION

The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be passed as an

argument to the CREATE PROFILE statement. Oracle Database provides a default script, but you can create your own

routine or use third-party software instead.

$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 내용 참고하여 정책에 맞게 수정하여 사용합니다.

utlpwdmg.sql

password 복잡도 설정 테스트(10자리이상).txt

** Utlpwdmg.sql 의 2가지 function 비교 **

verify_function verify_function_11G

# 4자리 이상 사용해야 한다

# username과 같거나 비슷해서는 안된다

# username를 반대로 해서는 안된다

# server name 과 같거나 비슷해서는 안된다

# 너무 단순해서는 안된다

('welcome', 'database', 'account', 'user', 'password', 'oracle',

'computer', 'abcd')

# 8자리 이상 사용해야 한다

# username과 같거나 비슷해서는 안된다

# username를 반대로 해서는 안된다

# server name 과 같거나 비슷해서는 안된다

# 너무 단순해서는 안된다

('welcome1', 'database1', 'account1', 'user1234', 'password1',

Page 7: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

7/13

# password 를 oracle 로 설정 할수 없다

# 최소한 1개의 영문자와 1개의 숫자, 1개의 특수문자를

포함해야 한다

# 이전 password와 3자 이상 다르게 설정 해야 한다

'oracle123', 'computer1', 'abcdefg1', 'change_on_install')

# password 를 oracle 로 설정 할 수 없다

# 최소한 1개의 영문자와 1개의 숫자를 포함해야 한다

# 이전 password와 3자 이상 다르게 설정 해야 한다

5 PROFILE 분리 적용 테스트

5.1 새로운 PROFILE 생성

CREATE PROFILE IDLE_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;

# 새로 생성한 Profile 확인

SYS @PRODW >select * from dba_profiles where profile='IDLE_DEFAULT';

PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT

------------------------- ----------------------------------------------------------------------- ------------------------------ ---------------

IDLE_DEFAULT COMPOSITE_LIMIT KERNEL DEFAULT

IDLE_DEFAULT SESSIONS_PER_USER KERNEL DEFAULT

IDLE_DEFAULT CPU_PER_SESSION KERNEL DEFAULT

IDLE_DEFAULT CPU_PER_CALL KERNEL DEFAULT

IDLE_DEFAULT LOGICAL_READS_PER_SESSION KERNEL DEFAULT

IDLE_DEFAULT LOGICAL_READS_PER_CALL KERNEL DEFAULT

IDLE_DEFAULT IDLE_TIME KERNEL 10

IDLE_DEFAULT CONNECT_TIME KERNEL DEFAULT

IDLE_DEFAULT PRIVATE_SGA KERNEL DEFAULT

IDLE_DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 3

IDLE_DEFAULT PASSWORD_LIFE_TIME PASSWORD 60

Page 8: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

8/13

IDLE_DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED

IDLE_DEFAULT PASSWORD_REUSE_MAX PASSWORD 10

IDLE_DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION

IDLE_DEFAULT PASSWORD_LOCK_TIME PASSWORD .0006

IDLE_DEFAULT PASSWORD_GRACE_TIME PASSWORD 10

16 개의 행이 선택되었습니다.

SYS @PRODW >

Profile 생성시 설정해주지 않은 Resource 값은 DEFAULT profile 의 설정값을 따르게 된다.

참조 : How to get the Values Assigned by Default to a Profile ? (문서 ID 157702.1)

5.2 PROFILE 적용계정 분리

SYS @PRODW >select username,profile from dba_users;

USERNAME PROFILE

--------------------------------------------------------------- -------------------------

MGMT_VIEW DEFAULT

SYS DEFAULT

SYSTEM DEFAULT

DBSNMP DEFAULT

SYSMAN DEFAULT

DBMON1 DEFAULT

SCOTT DEFAULT IDLE_DEFAULT 적용예정

TEST DEFAULT IDLE_DEFAULT 적용예정

SHS DEFAULT

HANARO DEFAULT

JHONG DEFAULT IDLE_DEFAULT 적용예정

TEST123456789123456789 DEFAULT

TEST123456789 DEFAULT

OUTLN DEFAULT

CTXSYS DEFAULT

WMSYS DEFAULT

APPQOSSYS DEFAULT

DIP DEFAULT

Page 9: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

9/13

ORACLE_OCM DEFAULT

19 개의 행이 선택되었습니다.

SYS @PRODW >

Password 변경이 자유롭지 않거나, Password 복잡도 적용 여부등.. 정책에 따라 적용할

PROFILE 을 선택 한다.

5.3 PROFILE 적용

SYS @PRODW >alter user scott profile idle_default;

사용자가 변경되었습니다.

SYS @PRODW >alter user test profile idle_default;

사용자가 변경되었습니다.

SYS @PRODW >alter user jhong profile idle_default;

사용자가 변경되었습니다.

SYS @PRODW >select username,profile from dba_users;

USERNAME PROFILE

--------------------------------------------------------------- -----------------------

MGMT_VIEW DEFAULT

SYS DEFAULT

SYSTEM DEFAULT

DBSNMP DEFAULT

SYSMAN DEFAULT

DBMON1 DEFAULT

SCOTT IDLE_DEFAULT

TEST IDLE_DEFAULT

SHS DEFAULT

HANARO DEFAULT

Page 10: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

10/13

JHONG IDLE_DEFAULT

TEST123456789123456789 DEFAULT

TEST123456789 DEFAULT

OUTLN DEFAULT

CTXSYS DEFAULT

WMSYS DEFAULT

APPQOSSYS DEFAULT

DIP DEFAULT

ORACLE_OCM DEFAULT

19 개의 행이 선택되었습니다.

SYS @PRODW >

5.4 IDLE_DEFAULT PROFILE 적용 테스트

SYS @PRODW >show parameter resource_limit

NAME TYPE VALUE

---------------------------------------------------- ------------------------------- --------------

resource_limit boolean FALSE

SYS @PRODW >

SYS @PRODW > alter system set resource_limit=true; Resource_limit 사용 설정

SYS @PRODW >show parameter resource_limit

NAME TYPE VALUE

---------------------------------------------------- ------------------------------- --------------

resource_limit Boolean TRUE

SYS @PRODW >

# profile 설정 후 접속

C:\Users\Administrator>sqlplus scott/tiger

SQL*Plus: Release 11.2.0.3.0 Production on 목 3월 13 14:40:52 2014

Page 11: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

11/13

Copyright (c) 1982, 2011, Oracle. All rights reserved.

다음에 접속됨:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning and Real Application Testing options

SCOTT @PRODW >

SCOTT @PRODW >select * from tab;

TNAME TABTYPE CLUSTERID

------------------------------------------------------------------------------------------- ----------------- -------------------------

BONUS TABLE

DEPT TABLE

EMP TABLE

EMP_NORMAL_TB1 TABLE

EMP_NORMAL_TB2 TABLE

EMP_PART TABLE

SALGRADE TABLE

X_ACTIVE_SESSION_HISTORY TABLE

X_AWR_REPORTS TABLE

X_AWR_SQLBIND TABLE

X_MY_SNAP_DETAIL TABLE

X_MY_SNAP_MASTER TABLE

X_PARAMETER TABLE

X_SNAP_MASTER TABLE

X_SQL TABLE

X_SQLAREA TABLE

X_SQL_BIND_CAPTURE TABLE

X_SQL_PLAN TABLE

X_SQL_WORKAREA TABLE

X_SYSSTAT TABLE

X_SYSTEM_EVENT TABLE

21 개의 행이 선택되었습니다.

Page 12: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

12/13

SCOTT @PRODW >

C:\Users\Administrator>sqlplus scott/tiger

SQL*Plus: Release 11.2.0.3.0 Production on 목 3월 13 14:49:41 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

다음에 접속됨:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning and Real Application Testing options

SCOTT @PRODW >set time on

14:51:18 SCOTT @PRODW >

14:51:20 SCOTT @PRODW >

# 1분 경과후 확인

14:52:01 SYS @PRODW >select status from v$session where username='SCOTT';

STATUS

----------------

INACTIVE

14:52:22 SYS @PRODW >/

STATUS

----------------

SNIPED

=> 접속 상태가 INACTIVE 에서 SNIPED 로 변경됨

# 테스트 접속 세션의 확인

Page 13: Oracle Technical Notes유니원아이앤씨... · 2015-08-19 · 4 PROFILE RESOURCE ... The PASSWORD_VERIFY_FUNCTION clause lets a PL/SQL password complexity verification script be

유니원아이앤씨

DBA_PROFILE 설정가이드

작성자 : 이 제 홍 Version : 1.0 최종수정일 : 2015-08-19

13/13

14:51:18 SCOTT @PRODW >

14:51:20 SCOTT @PRODW >

14:58:56 SCOTT @PRODW >

14:58:56 SCOTT @PRODW >select * from tab;

select * from tab

*

1행에 오류:

ORA-02396: 최대 유휴(idle) 시간을 초과했음. 다시 연결하십시오

14:58:59 SCOTT @PRODW >

==> 접속은 되어 있으나 dml 작업시 오류 발생하며 session disconnect 됨

6 PROFILE 적용시 주의사항

6.1 RESOURCE PARAMTER 적용관련

PROFILE 분리 생성시 설정해주지 않은 Resource 값은 DEFAULT profile 의 설정값을 따르게 됩니다.

참조 : How to get the Values Assigned by Default to a Profile ? (문서 ID 157702.1)

Resource_limit parameter 설정이 true 로 되어 있어야 적용 됩니다

IDLE_TIME 설정 시 업무 로직 확인 후 적용 해야 합니다.

WAS 설정에서 기본적으로 Reconnect 설정이 되어 있다면 connection pool 연결을 자동 재연결 하

기 때문에 문제가 되지 않지만, 자동 재접속 설정이 없는 LOGIC으로 구현된 PROC 나 , WAS를

통하지 않고 접속하는 다른 application 이 있다면 IDLE_TIME의 설정을 심각하게 고려해 보아야

합니다

6.2 PASSWORD PARAMTER 적용관련

PASSWORD 적용 설정 시 정책을 수립 후 적용해야 합니다.

APPLICATION 계정의 PASSWORD_LIFE_TIME, FAILED_LOGIN_ATTEMPTS 설정 시 업무 영향도를

먼저 확인 하시고 적용 해야 합니다.