User 별로 SQL*PLUS 자체에 별도의 제약을 해주지 않으면 보안상 문제가 될 수도 있습니다.

한 예로 클라이언트를 통하여 터미널로 접속을 하여 HOST(!) 명령어를 통하여 OS 로 접속이 가능합니다.

   

User 별로 각 명령어를 수행 할 수 없게끔 제약을 둘 수가 있는데 아래와 같은 Table을 이용하여 제약을 줄 수가 있습니다.

   

   

-- SQL*PLUS 와 SQL,PL/SQL 을 아래의 명령어들을 컨트롤 못 하게 할 수 있습니다.

   

   

해당 PRODUCT_USER_PROFILE은 SYSTEM User 로 컨트롤이 가능합니다.

SCOTT User 의 HOST명령어를 DISABLE 시켜보도록 하겠습니다.

   

  • SCOTT User 의 Host 명령어 사용 가능 상태 확인.

SQL> conn scott/tiger

Connected.

SQL> host

[oracle@rac1 ~]$ exit

SQL> !

[oracle@rac1 ~]$

   

  • SYSTEM User 로 접속하여 Insert

SQL> conn system/oracle

Connected.

SQL> INSERT INTO PRODUCT_USER_PROFILE VALUES ('SQL*Plus', 'SCOTT', 'HOST', NULL, NULL, 'DISABLED', NULL, NULL);

1 row created.

SQL> select * from PRODUCT_USER_PROFILE;

PRODUCT USERID ATTRIBUTE SCOPE NUMERIC_VALUE CHAR_VALUE DATE_VALU LONG_VALUE

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

SQL*Plus SCOTT HOST                                 DISABLED

   

  • SCOTT User 로 접속해서 Host 명령어 수행

SQL> conn scott/tiger

Connected.

SQL> host

SP2-0544: Command "host" disabled in Product User Profile

SQL> !

SP2-0544: Command "! (HOST)" disabled in Product User Profile

   

위와 같이 PRODUCT_USER_PROFILE 를 통해 Host 이외에 select,alter 등을 User가 컨트롤 하지 못하게 막을 수 있습니다.

사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts