oracle technical notes유니원아이앤씨... · 2015-08-19 · 4 profile resource ... the...
TRANSCRIPT
Oracle
Technical Notes
본 기술문서는 유니원아이앤씨㈜의 오라클 유지보수 고객사에 대한 감사의
마음과 함께 오라클 기술 지원의 서비스 만족도 향상을 위해 DB사업부에서
작성된 오라클 기술 문서입니다.
1. DBA_PROFILE
- 데이터베이스 보안 설정 중 PROFILE 변경 방법에 대해
알아 보겠습니다.
.
DBA_PROFILE 설정가이드
유니원아이앤씨 DB사업부 이 제 홍
2015년 08월 19일
문서정보
프로젝트명 DBA_PROFILE 설정가이드
서브 시스템명 버전 1.0
문서명 DBA_PROFILE 설정가이드 작성일 2015-08-11
작성자 DB사업부 최종수정일 2015-08-19
문서번호 UNIONE-201508191330-LJH
재개정 이력
일자 내용 수정인 버전
문서배포 이력
발신자 수신자 배포목적 일자 비고
유니원아이앤씨
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
유니원아이앤씨
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 개의 행이 선택되었습니다.
유니원아이앤씨
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 에 지정된 기간동안 경
유니원아이앤씨
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',
유니원아이앤씨
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
유니원아이앤씨
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
유니원아이앤씨
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
유니원아이앤씨
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
유니원아이앤씨
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 개의 행이 선택되었습니다.
유니원아이앤씨
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 로 변경됨
# 테스트 접속 세션의 확인
유니원아이앤씨
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 설정 시 업무 영향도를
먼저 확인 하시고 적용 해야 합니다.