database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 1163 게시물 읽기
No. 1163
Q.큐브리드를 원격서버로 사용할 때, 보안문제에 대해서.
작성자
enoeht
작성일
2008-07-14 22:26
조회수
4,686

원격 서버에 큐브리드를 설치하고,

 

클라이언트가 원격서버에 접속하는 방식으로 소프트웨어를 제작하려고 합니다.

 

이런방식으로 작성된 소프트웨어의 보안문제가 걱정이 되는데요...

 

클라이언트 어플리케이션은 아무리 보안을 신경써 봐야 마음만 먹으면

 

전부 뚫려버리는 것으로 알고 있습니다. (클라이언트 분해, 디컴파일링, 기계어 분석 등)

 

따라서 큐브리드 서버의 주소, 접근계정등이 모두 노출되어 버리는게 되는데요.

 

물론 이것은 모든 데이터베이스 서버 역시 마찬가지지만요

 

 

그래서 클라이언트가 큐브리드 서버에 접속 할 때에 DBA가 아닌 최소 권한만을 가진

 

계정으로만 접속하고,

 

중요한 데이터 처리 (사용자가 임의대로 처리해선 안되는 작업) 은 모두 메소드로 처리하고,

 

사용자가 봐선 안되는 클래스들에는 읽기 권한을 주지 않으며,

 

사용자가 봐도 되는 정보만 모여있는 가상클래스에만  읽기 권한을 갖고,

 

데이터를 처리하는 메소드의 실행권한만을 주면 보안 문제가 해결될 것으로 예상하고 있는데요.

 

 

1. 먼저 저의 이런 생각이 유효한 것인지 알고 싶습니다. 이런방식만으로 보안이 유지될까요?

 

 

이 글에 대한 댓글이 총 1건 있습니다.

고객님의 질문의 의도는 충분히 이해를 하고 있습니다.

웹으로 작성하는 프로그램은 WAS단에서 연결을 하기 때문에 고민이 약간 줄기는 하지만 여전히 보안의 문제는 남아 있습니다.

 

질문에 대해서 아래에 답변을 달았습니다.

 

>원격 서버에 큐브리드를 설치하고,

>

>클라이언트가 원격서버에 접속하는 방식으로 소프트웨어를 제작하려고 합니다.

>

>이런방식으로 작성된 소프트웨어의 보안문제가 걱정이 되는데요...

>

>클라이언트 어플리케이션은 아무리 보안을 신경써 봐야 마음만 먹으면

>

>전부 뚫려버리는 것으로 알고 있습니다. (클라이언트 분해, 디컴파일링, 기계어 분석 등)

>

>따라서 큐브리드 서버의 주소, 접근계정등이 모두 노출되어 버리는게 되는데요.

>

>물론 이것은 모든 데이터베이스 서버 역시 마찬가지지만요

>

>

>그래서 클라이언트가 큐브리드 서버에 접속 할 때에 DBA가 아닌 최소 권한만을 가진

>

>계정으로만 접속하고,

>

>중요한 데이터 처리 (사용자가 임의대로 처리해선 안되는 작업) 은 모두 메소드로 처리하고,

>

>사용자가 봐선 안되는 클래스들에는 읽기 권한을 주지 않으며,

>

>사용자가 봐도 되는 정보만 모여있는 가상클래스에만  읽기 권한을 갖고,

>

>데이터를 처리하는 메소드의 실행권한만을 주면 보안 문제가 해결될 것으로 예상하고 있는데요.

>

>

---> 아주 좋의신 의견입니다. 메소드로 작성하는 것도 좋지만 추후 누군가가 유지보수를 한다고 가정하면 C언어 보다는 Java가 좋을 것으로 보이고 따라서 Java SP사용을 권장합니다.

 

>1. 먼저 저의 이런 생각이 유효한 것인지 알고 싶습니다. 이런방식만으로 보안이 유지될까요?

---> 당연히 좋은 생각이시고 유효합니다.

>

>2. 최소의 권한만 가진 계정을 생성하려고 보니, 무조건 public그룹에 ㄱㅏ입해야만 하던데,

>public은 시스템 클래스에 대해서 select권한을 가지고 있더군요, 이를 막을 수 있나요?

>

---> public 계정을 사용하지 마시고 별도의 User를 생성하여 사용하시기를 권장합니다. 예를 들면 A,B를 만들고 실제 테이블은 A사용자로 만들고 B유저를 통해서 서비스하시는 것이 가능합니다. 물론 접근하려는 테이블에 권한을 주는 것은 당연히 해야 하겠지요.

 

>3. 메소드의 반환값을 여러개의 튜플로 할 수도 있나요?

>그러니까 메소드를 실행해서 그 결과로 레코드 셋을 받을 수 있나요?

>

---> 메쏘드를 통해서 레코드셋을 반환하는 것은 불가능합니다. 그러나 Java로 코딩을 하시면 Java SP에서는 가능합니다.

 

>4. 데이터베이스에 접근하는 계정 (dba, public등) 말고, 최초로 서버에 접속할 때 사용하는 계정 (admin 등) 의 비밀번호는 어떻게 관리하나요?

---> 큐브리드 매니져를 통해서 접근시에 사용하는 admin은 DB 계정이 아니고 큐브리드 매니져를 사용할 수 있는지에 대한 것입니다. DB에서 별도로 관리하지 않는 것이니 보안상 걱정하지 않으셔도 됩니다.

 

박근택님이 2008-07-15 18:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1166Q.이번에 큐브리드 검토하게 되었는데 [1]
DB어렵다
2008-07-16
4804
1165Q.DB 생성시 Error 발생 [1]
전제헌
2008-07-16
5027
1164Q.큐브리드 매니져에서 포트 변경이 안되는 듯 합니다. [1]
enoeht
2008-07-15
5386
1163Q.큐브리드를 원격서버로 사용할 때, 보안문제에 대해서. [1]
enoeht
2008-07-14
4686
1162Q.복제 [1]
송준석
2008-07-14
4640
1161Q.서비스 말고 응용애플리케이션으로 큐브리드 실행 방법은 어떻게 됩니까? [1]
이준오
2008-07-14
4537
1159Q.큐브리드 데이타베이스에 SID 가 있습니까? [1]
안성민
2008-07-10
5169
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.012초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다