Database/ORACLE

[스크랩] 오라클 디폴트 계정

99iberty 2014. 9. 16. 15:44

 

http://oracle.tistory.com/173

 

출처: http://users.handysoft.co.kr/%7Ejelong/Oracle_users.htm



유저

디폴트 암호

용도 및 설명

SYS

change_on_install

오라클의 가장 기본적인 메타 데이터가 저장되는 스키마가 된다. SYS소유의 테이블, 뷰 등은 오라클 시스템에 의해 실시간으로 수정되며, 인위적으로 수정되어서는 않된다.
디폴트 암호는 오라클을 인스톨하자마자 수정해야 한다.

SYSTEM

manager

SYSTEM 스키마의 테이블과 뷰는 오라클 데이터베이스의 관리정보를 보여주고, 주변 관리도구를 위해 내부적으로 사용된다.

SYSTEM 유저는X$ 테이블 등에 접근할 수 없고, 데이터베이스를 startup/shutdown 시킬수는 없지만 DBA권한을 부여받았다. 따라서 일반 사용자의 모든 스키마를 접근 가능하다.

DBSNMP

dbsnmp

Oracle SNMP (Simple Network Management Protocol) 툴을 위한 유저로써, Oracle Intelligent Agent 등 에서 오라클 서버에 접근하기 위해 사용한다. 디폴트 암호를 수정하기 위해서는 아래와 같이 한다.

1. Remove all Jobs and Events currently registered against this database.

2. Stop the Intelligent Agent

Oracle7 - Oracle8i
% lsnrctl dbsnmp_stop

Oracle9i
% agentctl stop

3. Edit the $ORACLE_HOME/network/admin/snmp_rw.ora file. Add the following parameter:

SNMP.CONNECT.<connect_string>.NAME=<username>
SNMP.CONNECT.<connect_string>.PASSWORD=<password>

The variable <connect_string> is the exact listing of the database name as it appears in the snmp_ro.ora file.

If <username> is the default (DBSNMP), there is no need to specify the user here. only the password is required.

On UNIX, set the following permission on the "SNMP_RW.ORA" file:

% chmod 600 snmp_rw.ora

4. Change the DBSNMP password on the database. You can use either Security Manager, Sqlplus, or Server Manager. If you use SQLPlus or Server Manager, you can issue the following command:

SQL> alter user "dbsnmp" identified by "<newpassword>";

5. Stop and restart the Intelligent Agent.

OUTLN

outln

Oracle8i 이후 추가된 유저로, 옵티마이저의 실행계획을 고정시킬때 사용하는 OUTLINE 기능을 위해 사용된다. OUTLN 유저는 DBA 권한을 갖고 있다.

MDSYS

mdsys

지리 정보 저장을 위한 Oracle Spatial 기능을 위해 추가된 유저. 관련된 테이블, 프로시져등을 접근하고 분석할때 사용된다.

ORDSYS

ordsys

Oracle8i Time Series를 지원하기 위해 추가된 유저. TIMESTAMP 를 지원하는것이 주요 기능으로 Oracle 8i 때 추가되었다.

ORDPLUGINS

ordplugins

Oracle interMedia 기능을 위해 추가된 유저. Oracle interMedia 는 멀티미디어 저장을 위해 만들어진 추가툴이다.

CTXSYS

ctxsys

Oracle ConText Cartridge 기능을 위해 추가된 유저. 이 기능은 대량의 텍스트 정보에서 원하는 서치를 빠르게 해주는 기능이다.

DSSYS

dssys

Dynamic Services Secured Web Service 를 위해 추가된 유저. Dynamic Services supports content access from databases (SQL/PLSQL) as well as Internet applications (HTTP/HTTPS). DS Engine can interpret XML and HTML content along with the result sets returned from database access. DS Engine is integrated with Oracle Portal via a Web Provider mechanism. This integration allows all the services registered with DS Engine to be accessible as portlets.

PERFSTAT

perfstat

Oracle Statistics Package (STATSPACK) 를 지원하기 위한 유저. $ORACLE_HOME/rdbms/admin/spcusr.sql 스크립트로 생성시킨다.

WKPROXY

change_on_install

Oracle's Ultrasearch option 을 위한 유저로Oracle9i 에서 추가되었다. $ORACLE_HOME/ultrasearch/admin/wk0csys.sql 스크립트로 생성시킨다.

WKSYS

change_on_install

Oracle's Ultrasearch option 위한 또다른 유저.

This support account is assigned the following privileges in Oracle9i:

  • CONNECT
  • RESOURCE
  • DBA
  • ALL PRIVILEGES
  • CTXAPP
  • CREATE PUBLIC SYNONYM
  • DROP PUBLIC SYNONYM
  • CREATE ANY VIEW
  • DROP ANY VIEW
  • CREATE ANY TABLE
  • DROP ANY TABLE
  • CREATE ANY INDEX
  • DROP ANY INDEX
  • CREATE ANY SEQUENCE
  • DROP ANY SEQUENCE
  • CREATE ANY TRIGGER
  • DROP ANY TRIGGER
  • JAVAUSERPRIV
  • JAVASYSPRIV
  • SELECT on SYS.USER$
  • SELECT on SYS.V_$PARAMETER
  • SELECT on SYS.GV_$INSTANCE
  • SELECT on SYS.V_$DATABASE
  • SELECT on SYS.DBA_CONSTRAINTS
  • SELECT on SYS.DBA_JOBS
  • SELECT on SYS.DBA_DB_LINKS
  • SELECT on SYS.DBA_ROLE_PRIVS
  • SELECT on SYS.DBA_LOCK
  • SELECT on SYS.DBMS_LOCK_ALLOCATED
  • SELECT on SYS.PROCEDURE$
  • SELECT on SYS.DBA_TABLES
  • SELECT on SYS.DBA_VIEWS
  • SELECT on SYS.DBA_TAB_COLUMNS
  • EXECUTE on SYS.DBMS_LOCK
  • EXECUTE on SYS.DBMS_PIPE
  • EXECUTE on SYS.DBMS_REGISTRY

The default tablespace for this user will be "DRSYS" while its temporary tablespace will be "TEMP".

$ORACLE_HOME/ultrasearch/admin/wk0install.sql 로 생성한다

WMSYS

wmsys

Oracle Workspace Manager 에서 필요한 메타데이터를 저장하기 위해 사용되는 유저. Oracle9i 에서 추가되었다.

$ORACLE_HOME/rdbms/admin/owmctab.plb 로 생성한다.

XDB

change_on_install

SQL XML 기능을 위해 사용하는 유저. $ORACLE_HOME/rdbms/admin/catqm.sql 로 생성한다.

ANONYMOUS

...IDENTIFIED BY VALUES 'anonymous'

HTTP 를 통해Oracle XML DB를 접근하기 위해 사용되는 유저. $ORACLE_HOME/rdbms/admin/catqm.sql 로 생성한다.

ODM

odm

Oracle Data Mining 기능을 위해 생성된 유저. oracle9i 에서 추가되었다. $ORACLE_HOME/dm/admin/dmcrt.sql 로 생성한다.

ODM_MTR

mtrpw

Oracle Data Mining 기능을 위해 생성된 유저. oracle9i 에서 추가되었다. $ORACLE_HOME/dm/admin/dmcrt.sql

OLAPSYS

mtrpw

OLAP 메타데이터 저장을 위한 유저. oracle9i 에서 추가되었다. $ORACLE_HOME/dm/admin/dmcrt.sql

TRACESVR

trace

Oracle Trace for OEM in Oracle7 에서 추가됨. Oracle Trace Server 가 설치되어야 한다. Oracle 8 이후 버전에서 없어졌다.

REPADMIN

Managed by DBA when user is created.

Replication 유저. DBA가 수동으로 생성해 주어야 한다. $ORACLE_HOME/ldap/admin/oidrsrms.sql , $ORACLE_HOME/ldap/admin/oidrsms.sql.

 

 

 

 

 

 

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

http://acc.giro.or.kr/secu_view.asp?seq=8277

 

개인정보보호를 위한 DB 보안(1) [2006-07-27]
개인정보보호를 위한 DB 보안(1)
OEM(Oracle Enterprise Manager)를 이용한 오라클 계정 관리


최근 공공기관의 홈페이지 및 기업 내부의 비도적적 직원에 의한 대량의 개인정보유출 사고가 발생하고 있다. 이러한 정보유출 사고는 개인의 전화번호 및 주민등록번호와 같은 것이어서 사회적으로 큰 문제로 인식되고 있으며 이를 위해 국회에서는 현재 개인정보보호를 위한 법률이 심의중인 상태이다. 해당 법률에는 개인의 중요한 정보를 저장하기 위한 데이터베이스시스템(개인정보보호시스템)에 대해 다음과 같은 관리적/기술적 보호조치를 실행하도록 요구하고 있다.

① 개인정보관리계획의 수립?시행
② 접근통제 및 접근통제 기록보관
③ 접속기록의 위?변조 방지를 위한 로깅 및 백업
④ 보안시스템으로 보호
⑤ 개인정보의 암호화
⑥ 백신소프트웨어 설치
⑦ 출력 및 복사의 제한

앞서 언급한 개인정보유출사고의 원인으로 기업 및 공공기관의 개인정보시스템에 대한 내부 접근통제 소홀을 꼽을 수 있다. 여기서는 개인정보보호시스템인 데이터베이스의 접근통제를 설정하기 위해 오라클의 GUI(Graphical User Interface) 관리 툴인 OEM(Oracle Enterprise Manager)을 이용하여 데이터베이스의 계정관리를 통한 접근통제를 강화하는 방법을 알아보자.

1. 디폴트 사용자의 계정관리

Oracle 설치 시에는 디폴트로 생성되는 계정들이 존재한다. 이러한 계정들은 DB시스템 사용 시에 불필요하므로 디폴트로 생성된 모든 계정을 확인하고 불필요한 계정은 모두 확인하여 잠그고(Lock) 기간만료(Expire) 해야 한다.
Oracle 9i의 경우 디폴트 설치 시 DBCA(Database Configuration Assistant) 툴이 함께 설치되어 몇몇 계정을 제외한 모든 사용자 계정은 잠기고(Lock) 기간만료(Expire)한 상태로 설치되게 된다. 사용자 정의 설치 시 DBCA가 설치되지 않을 경우 모든 디폴트 사용자 계정은 활성화(OPEN) 상태로 설치되게 된다. 이럴 경우 불필요한 사용자 계정은 반드시 모두 잠그고(Lock) 기간만료(Expire) 시켜야 한다.
Oracle 9i R2 버전의 경우 다음과 같은 계정들이 디폴트로 활성화되어 설치되며 이외의 계정들은 모두 잠김(Lock) 상태로 설치된다.



OEM(Oracle Enterprise Manager)을 이용하여 설치된 계정정보를 확인하고 불필요한 계정을 삭제하기 위해서는 다음과 같은 방법을 이용한다.

① OEM의 [보안] -> [사용자] 탭을 선택하여 불필요하게 OPEN된 계정이 존재하는지 확인한다.




② 불필요한 계정이 존재할 경우 해당 계정에서 마우스 오른쪽 버튼을 이용하여 [세부 정보 보기/편집]을 선택하여 사용자 정보창을 연후 [지금암호완료] 와 상태의 [잠김]을 선택하여 해당 계정을 잠그고(Lock) 패스워드의 사용기간을 만료(Expire)시켜 해당 계정을 사용하지 못하게 한다.



③ 사용자의 계정 변경 및 삭제는 DBA 권한이 포함된 관리자계정으로 하여야 하며 사용자 계정이 불필요할 경우 계정을 선택하여 제거할 수도 있다.

2. 디폴트 계정의 패스워드 변경

Oracle 설치 시 생성된 디폴트 계정들은 패스워드가 사전에 정의되어 있어 패스워드를 변경하지 않으며 공개된 ID/Password를 통하여 임의의 사용자 접근이 가능하다. 따라서 디폴트 계정의 패스워드를 변경하여 내/외부에서 불필요한 접근으로 인한 보안문제 발생을 예방한다.
Oracle 9i 설치 시 활성화되어 있는 디폴트 사용자 계정은 SYS, SYSTEM, DBSNMP, SCOTT 이며 이에 대한 디폴트 패스워드는 다음과 같다. 이외에도 디폴트 계정 중 잠겨있는(Lock) 계정의 경우 활성화 시에(unlock) 패스워드가 사용자 계정과 같은 디폴트 패스워드로 설정되어 있으므로 반드시 새로운 패스워드로 변경하여 사용하여야 한다.



설치 시 DBCA(Database Configuration Assistant)가 같이 설치될 경우 SYS, SYSTEM 계정은 설치 마지막 단계에서 패스워드를 설정하도록 요구하고 있으며 새로운 패스워드를 입력하여야만 사용이 가능하다. Oracle 10g의 경우 설치 시 SCOTT 계정은 TIGER라는 디폴트 패스워드로 설치되지 않으며 SCOTT 및 DBSNMP 계정은 계정잠금(Lock) 및 패스워드 만료(Expire) 상태로 설치되도록 새로운 패스워드 정책이 설정되어 있다.
디폴트 계정 중 잠겨있는(Lock) 계정의 경우 활성화 시(Unlock) 패스워드가 사용자 계정과 같은 디폴트 패스워드이므로 OEM(Oracle Enterprise Manager)을 이용하여 잠겨있는(Lock)계정의 패스워드를 변경하기 위해서는 다음과 같은 방법을 이용한다.

① [보안] -> [사용자] -> [세부정보보기/편집] 탭을 선택하여 새로운 패스워드를 입력할 수 있다.



3. 패스워드 정책(Profile) 설정

패스워드는 최소길이가 설정되어 있지 않거나 복잡성을 만족하지 않게 설정되어 있을 경우 취약한 패스워드를 사용으로 인해 악의적인 사용자가 패스워드를 쉽게 유추하여 접근할 수 있으므로 패스워드 정책을 설정하여 패스워드의 관리가 이루어져야 한다.
Oracle에서는 사용되는 패스워드의 만료 시간 설정, 로그인 실패 시 계정 잠금, 패스워드의 최소 길이 설정 등의 정책을 적용할 수 있다.
패스워드 정책은 Oracle의 프로파일(Profile) 통해서 이루어지며 Oracle 설치 시 기본으로 Default 프로파일이 모든 계정에 대하여 설정되어 있다. Default 프로파일에는 패스워드 정책에 대한 제한이 없는 상태가 기본 설정이므로 설정변경을 통해 패스워드 정책을 적용하여야 한다. 또한 프로파일을 추가로 생성하여 사용자 계정별로 패스워드 정책을 다르게 적용할 수 도 있다
OEM(Oracle Enterprise Manager)을 이용하여 설정된 프로파일을 확인하고 설정하기 위해서는 다음과 같은 방법을 이용한다.

① OEM에서 [보안] -> [프로파일] -> [세부정보보기/편집] 을 연다.



② 다음과 같은 파라미터별 설명을 참조하고 권장값으로 패스워드의 정책을 설정한다.



** Oracle에서는 암호 복합성을 적용하기 위해 기본으로 VERIFY_FUNCTION 이라는 함수를 지원하며 이 함수는 oracle_home/rdbms/admin/utlpwdmg.sql 스크립트를 사용하여 함수를 생성하여야 한다.
지금까지 오라클의 계정관리를 통한 보안강화 방안을 살펴보았으며 다음 호에서는 네트워크상에서 데이터베이스 시스템을 보호하기 위한 "Parameter 설정을 통한 오라클 보안"에 대해 알아보도록 하겠다. (계속)


[관련글] 개인정보보호를 위한 DB 보안[2]