● 개요
● 데이터베이스 보안
- 법률적으로 정의되어 있다.
- 보안사고 : 내부자의 소행이 많음.
- DBA책임은 공유되어야 한다.: 실수방지, 상호감시
- 계정은 다르게 한다.
- DBA와 시스템 관리자는 다른 사람이어야 한다.
● 최소 권한의 원칙
◎ 정의
- 컴퓨터에 꼭 필요한 최소한의 소프트웨어만 설치
- 루트, 관리자 계정에 접근을 제한
- SYSDBA, SYSOPER 계정에 접근을 제한
- 일에 필요한 만큼만 유저의 접근을 제한
◎ 적용방법
※ EM의 All Policy Violations를 클릭하면 HAA의 기준대로 하지 않고 있는 것들의 목록이 나오고, 쉽게 수정할 수 있다.
● 감시(auditing)
◎ 정의
-
◎ 분류
- Mandatory :
주기적으로 아래의 파일들을 보는 것
?/rdbms/audit, alert_sid.log
- DB Auditing :
Audit_trail이란 파라미터에 값을 준다.(static parameter이므로 재기동 필요) -> 확인
유저가 insert, update의 명령을 수정한 기록은 남기나, 구체적인 값은 기록되지 않음.(9i까지, 10g부터는 기록가능)
파라미터(audit_trail)를 설정한다.
sp파라미터 파일에도 적용하고 싶을 경우에는 scope=both를 추가적으로 지정한다.
감사한 기록을 보자.(audit_trail = db로 설정시)
audit_file_dest에 지정된 경로에 audit된 기록이 남는다.
audit_file_dest 확인 방법은 다음과 같다.
감사 해제하는 방법
- Value-Based Auditing
: Trigger를 이용하여 구체적인 값을 남김(new와 old를 이용)
- FGA (Fine-grained auditing)
: 특정 컨텐츠를 볼 경우에만 auditing 하는 것 -> SQL문이 남는다.
정책을 설정 sal>3000 -> 조건에 맞을 경우 SQL문이 남는다.
DBMS_FGA 패키지를 이용하여 정책을 설정한다.
dba_fga_audit_trail의 경로에 저장된다.
- DBA auditing
: SYS유저가 하는 일을 auditing
audit된 기록은 반드시 OS에 남는다.(sys는 idle instance, nomount, mount에서도 작업을 하기 때문에)
audit_sys_operation=true : 일 경우 남는다.
audit_file_dest에 정의된 경로에 남는다.
기타참고사항
- audting은 가능한한 포커스를 좁히는 것이 중요하다.
- 감사기록은 aud$에 남는다.(system tablespace)
- audit 조건이 이상해 에러가 발생하면 그에 관한 쿼리문도 에러발생
참고 : 오라클 교재
- 보안에 대한 DBA의 책임을 기술할 수 있다.
- 최소 권한의 원리를 적용할 수 있다.
- audit 옵션을 명시할 수 있다.
- audit 정보를 검토할 수 있다.
- audit trail을 유지할 수 있다.
- user들이 날리는 쿼리문의 기록을 어떻게 남길까?
- 최소 권한의 원리를 적용할 수 있다.
- audit 옵션을 명시할 수 있다.
- audit 정보를 검토할 수 있다.
- audit trail을 유지할 수 있다.
- user들이 날리는 쿼리문의 기록을 어떻게 남길까?
● 데이터베이스 보안
- 법률적으로 정의되어 있다.
- 보안사고 : 내부자의 소행이 많음.
- DBA책임은 공유되어야 한다.: 실수방지, 상호감시
- 계정은 다르게 한다.
- DBA와 시스템 관리자는 다른 사람이어야 한다.
● 최소 권한의 원칙
◎ 정의
- 컴퓨터에 꼭 필요한 최소한의 소프트웨어만 설치
- 루트, 관리자 계정에 접근을 제한
- SYSDBA, SYSOPER 계정에 접근을 제한
- 일에 필요한 만큼만 유저의 접근을 제한
◎ 적용방법
SQL> 07_dictionary_accessibility=false -- 데이터 딕셔너리를 보호
SQL> revoke execute on utl_smtp, utl_tcp, utl_http, utl_file -- 필요없는 권한 뺏기
from public;
SQL> revoke execute on utl_smtp, utl_tcp, utl_http, utl_file -- 필요없는 권한 뺏기
from public;
※ EM의 All Policy Violations를 클릭하면 HAA의 기준대로 하지 않고 있는 것들의 목록이 나오고, 쉽게 수정할 수 있다.
● 감시(auditing)
◎ 정의
-
◎ 분류
- Mandatory :
주기적으로 아래의 파일들을 보는 것
?/rdbms/audit, alert_sid.log
- DB Auditing :
Audit_trail이란 파라미터에 값을 준다.(static parameter이므로 재기동 필요) -> 확인
유저가 insert, update의 명령을 수정한 기록은 남기나, 구체적인 값은 기록되지 않음.(9i까지, 10g부터는 기록가능)
파라미터(audit_trail)를 설정한다.
sp파라미터 파일에도 적용하고 싶을 경우에는 scope=both를 추가적으로 지정한다.
SQL> alter system set audit_trail = db scope=both; -- db내부에 쌓임
SQL> alter system set audit_trail = os scope=both; -- os내부에 쌓임
SQL> startup force -- shutdown후 startup
SQL> audit table; -- table이 대한 명령을 전부 auditing
SQL> audit select any table by session; -- table에 대한 모든 select는 auditing
세션에서 한번만 남김
SQL> audit select on phil.emp by access; -- phil.emp에 대한 모든 select 를 auditing
접근 할때마다 남김
SQL> alter system set audit_trail = os scope=both; -- os내부에 쌓임
SQL> startup force -- shutdown후 startup
SQL> audit table; -- table이 대한 명령을 전부 auditing
SQL> audit select any table by session; -- table에 대한 모든 select는 auditing
세션에서 한번만 남김
SQL> audit select on phil.emp by access; -- phil.emp에 대한 모든 select 를 auditing
접근 할때마다 남김
감사한 기록을 보자.(audit_trail = db로 설정시)
SQL> select * from dba_audit_trail;
audit_file_dest에 지정된 경로에 audit된 기록이 남는다.
audit_file_dest 확인 방법은 다음과 같다.
SQL> show parameter audit_file_dest
감사 해제하는 방법
SQL> noaudit all by <유저명>;
- Value-Based Auditing
: Trigger를 이용하여 구체적인 값을 남김(new와 old를 이용)
- FGA (Fine-grained auditing)
: 특정 컨텐츠를 볼 경우에만 auditing 하는 것 -> SQL문이 남는다.
정책을 설정 sal>3000 -> 조건에 맞을 경우 SQL문이 남는다.
DBMS_FGA 패키지를 이용하여 정책을 설정한다.
dba_fga_audit_trail의 경로에 저장된다.
- DBA auditing
: SYS유저가 하는 일을 auditing
audit된 기록은 반드시 OS에 남는다.(sys는 idle instance, nomount, mount에서도 작업을 하기 때문에)
audit_sys_operation=true : 일 경우 남는다.
audit_file_dest에 정의된 경로에 남는다.
기타참고사항
- audting은 가능한한 포커스를 좁히는 것이 중요하다.
- 감사기록은 aud$에 남는다.(system tablespace)
- audit 조건이 이상해 에러가 발생하면 그에 관한 쿼리문도 에러발생
참고 : 오라클 교재
'Oracle > Admin' 카테고리의 다른 글
Proactive Maintenance (0) | 2009.12.07 |
---|---|
Configuring the Oracle Network Environment (0) | 2009.12.04 |
Managing Undo Data (0) | 2009.12.03 |
Lock의 종류 (0) | 2009.12.03 |
Managing Schema Objects-2 (0) | 2009.12.02 |