신규 시스템 도입으로 DB 연동 시 보안 질문!!! (시노님 재문의) 0 7 2,256

by rise2top [2013.07.31 13:56:51]


최하단 링크와 같은 문의 관련, 유저 계정을 다른유저에게 공개하지 않고 테이블을 보여주려면
시노님을 사용하라고 답변 받았습니다..
그런데, 시노님도 아래처럼 공개가 되는데.. 어떤 문제가 있는걸까요? ㅜㅜ

>> 테스트 예

1. SCOTT 계정의 EMP 테이블을 TEST1에서 동의어 생성.
2. TEST1접속 후, SELECT * FROM USER_SYNONYMS; 조회 시, TABLE_OWNER에 SCOTT의 계정이 공개됨..



1.
SQL> CREATE SYNONYM TEST1.S_TEST FOR SCOTT.EMP;
동의어가 생성되었습니다.
SQL> GRANT SELECT,INSERT,DELETE ON TEST1.S_TEST TO TEST1;
권한이 부여되었습니다.

2.
SQL> CONN TEST1/TEST1
연결되었습니다.
SQL> SELECT * FROM USER_SYNONYMS;

SYNONYM_NAME    TABLE_OWNER
------------------------------ ------------------------------
TABLE_NAME
------------------------------
DB_LINK
--------------------------------------------------------------------------------
S_TEST SCOTT
EMP

SQL>






< 질문 링크>

원본 위치 <http://www.gurubee.net/article/59986>

by 신이만든짝퉁 [2013.07.31 14:10:01]
원래 주고받는 사이에서는 공개가 되는 것이 맞는 것 같습니다.

계정명을 숨기기 위한 방편이 목적이라면 징검다리용 계정 하나를 더 만들고, 시노님을 한번 더 사용하시면 되겠네요.


by rise2top [2013.07.31 14:14:16]

SCOTT(내부계정) -> TEST1(징검다리) -> TEST2 (외부계정)
이렇게......? 
그런데.. 징검다리인 TEST1도.. 
SELECT * FROM ALL_SYNONYMS WHERE OWNER = 'TEST1';
하면 나오네요 ㅜㅜ ALL_SYNONYMS에서 다리타면 결국 공개가 되는..
좋은 방법 없을까요;; 타 업체도 계정은 그냥 공개하나요;;


by 임상준 [2013.07.31 15:05:37]
all* 뷰 조회해서 나오는 것 까지 막기는 힘들지 않을까요?ㅎㅎ
내 계정이 지금 조회 하는게 누구의 어떤 오브젝트인지 알아야 조회가 가능한건데..

정 싫으시면 좀 극단적이지만 all* 뷰들의 조회 권한을 다 revoke 해 버리시는 방법도...
원래 기본으로 public 한테 나가 있을건데..

by rise2top [2013.07.31 16:02:18]
오 괜찮은 방법 같네요! 그런데 저희는 오라클에서 새로 설치해준 것도 그렇고 기존 것도 그렇고,
All 조회는 모두 허용되어있네요;; SYS이든 SYSTEM이든 다...
왜 일반 계정이 모든 오브젝트를 조회할 수 있는거지!? 본인계정것만 볼수있어야 하는 것 아닌가요?
ㅋㅋㅋㅋㅋㅋ PUBLIC 시노님으로 ALL_OJECTS는 물론 ALL_시리즈들 많은데, 다 빼버려도 큰 문제 없겠지요!!!!??  호기심이 많아 죄송합니다.. ㅜㅜ

by 임상준 [2013.07.31 16:42:48]

본인 계정 관련 뷰 는 user_*** 이고..
all_*** 는 본인게 아니더라도 권한이 있는건 다 보이죠 그게 이상한건 아니니까요
그 외에도 설치 시 기본적으로 public 으로 권한 나가있는게 원래 많아요

다 빼버려서 무슨 문제가 생길지는 관리자분이 직접 고민해서 판단 하셔야될 것 같네요...
저도 그렇게까지는 안해봐서 모르겠어요ㅋ


by rise2top [2013.07.31 16:51:38]

넵!! 안그래도 정확하게 테스트하긴 어려우니,
OBJECT나 SYNONYM , USERS 등등 부분적으로만 빼고 있습니다.. ㅜㅜ
오늘 아주 만족스런 학습을 한 것 같습니다. ㅋㅋㅋㅋ
친절한 답변 감사합니다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


by 임상준 [2013.07.31 17:01:22]
dbms_metadata execute 권한도 같이 빼셔야합니다...
일일이 선별하려면 좀 힘드시겠네요
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입