.

Oracle Database Vault (Access Control)

by 담배맛구마

0. Oracle Database Vault

SQL 작업을 강력하게 통제할 수 있는 접근 제어 솔루션이다.


기존의 접근 제어 솔루션은 추가적인 H/W와 Server 등이 필요했는데 Oracle Database Vault는 Oracle에서 제공해주기 때문에(?) Database 내부에서 동작한다. 따라서 설치하는데 추가적인 장비가 필요없고 그냥 기능만 추가해주면 된다.


Oracle Database 9.2.0.8 / 10.2.0.3 / 10.2.0.4 / 11gR1이상에서 지원한다.


가장 중요한 특징은 기존의 Oracle Database의 기본 접근 제어 기능인 VPD의 한계인 SYS사용자에 대한 접근제어도 가능하다는 것이다. 예를 들어 일반적인 상황에서는 임원들만 아는 각종 정보(DB에 저장된)들을 DBA(SYSTEM/SYS)들이 볼 수 있지만 Oracle Database Vault를 적용해서 접근 제어를 하면 모든 권한을 가진 DBA들도 조회가 불가능해진다.



1) DBCA(Database Configuration Assistance)를 실행해서 구성옵션을 변경해준다.



데이터베이스 옵션 구성을 누르고 다음




Oracle Label Security를 누르면 Oracle Database Vault가 선택가능해진다.




2) Oracle Database Vault 인증서

- Database Vault 소유자 : dbvowner / Oratest1#

- Database Valut 계정 관리자 - dbvaccmgr / Oratest1#



3) Database Vault 관리자 화면으로 로그인 (https://____:1158/dva)

em처럼 웹으로도 관리가 가능하다.



다음과 같은 관리 영역이 있다.




2. Database Vault 동작 과정의 이해


결론적으로 말하면 규칙 집합(Rule Sets)을 이용해서 보안 영역과 명령 규칙을 정의내려 접근 제어를 하겠다!


용어 정리를 하자면


보안 영역(Realm)

  객체(Object)들을 정의해 놓고 이 객체에 어떤 사용자들(Owner/Participant)이 접근가능할 것인가를 정의한다.

  여기에 지정되자 않은 사용자는 원천적으로 접근할 수 없도록 강력한 통제를 수행한다.

  객체를사용할 수 있는 사용자들을 정의할 때 규칙집합을 사용할껀지를 선택할 수 있다.

  규칙 집합을 통해 해당 사용자가 규칙집합에서 정의한 조건을 만족할 때에만 접근 가능해진다


명령 규칙(Command Rule)

  특정 SQL문이 반드시 지정된 지정된 규칙 집합의 조건을 만족할 때만 실행되도록 제어


규칙 집합(Rule Sets)

  보안 영역에 접근하거나 명령 규칙을 실행하고자 할 때 만족해야 할 조건


계수(Factor)

  접속IP / 사용자 이름 등 과 같은 외부 환경 변수의 값을 저장

  규칙 집합에서 조건을 기술할 때 이용

  보통 환경 변수들을 생각하면된다. 접속자의 IP 등




3. Database Vault 실습

HR이 소유한 모든 객체에 대해 CREATE TABLE 명령을 제한하도록 설정해보자. 웹 기반의 관리 화면으로 설정했다.

우선 접속을 하고 명령 규칙으로 간다.



명령규칙에서 우측 상단/하단에 생성을 누른다.

일반 사항에서는 어떤 SQL문에 대해서 제한 할것인지와 사용의 유무에 대한 설정을 한다.

적용성에서는 일반 사항에선 정의한 SQL문의 대상에 대해서 설정을 한다.

규칙 집합에는 SQL문을 사용할수있는 조건을 정의하는데

여기에서는 이미 정의된 규칙인 Disabled를 선택한다.



반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기