브로커 서버 접속 제한

설명

브로커에 접속하는 응용 클라이언트를 제한하려면 cubrid_broker.confACCESS_ CONTROL 파라미터 값을 ON으로 설정하고, ACCESS_CONTROL_FILE 파라미터 값에 접속을 허용하는 사용자와 데이터베이스 및 IP 목록을 작성한 파일 이름을 입력한다. ACCESS_CONTROL 브로커 파라미터의 기본값은 OFF이다.

ACCESS_CONTROL, ACCESS_CONTROL_FILE 파라미터는 공통 적용 파라미터가 위치하는 [broker] 아래에 작성해야 한다.

ACCESS_CONTROL_FILE의 형식은 다음과 같다.

[%<broker_name>]

<db_name>:<db_user>:<ip_list_file>

브로커별로 [%<broker_name>]과 <db_name>:<db_user>:<ip_list_file>을 추가로 지정할 수 있으며, 같은 <db_name>, 같은 <db_user>에 대해 별도의 라인으로 추가 지정할 수 있다.

ip_list_file의 작성 형식은 다음과 같다.

<ip_addr>

ACCESS_CONTROL 값이 ON인 상태에서 ACCESS_CONTROL_FILE이 지정되지 않으면 브로커는 localhost에서의 접속 요청만을 허용한다. 브로커 구동 시 ACCESS_CONTROL_FILE 및 ip_list_file 분석에 실패하면 브로커는 localhost에서의 접속 요청만을 허용한다.

브로커 구동 시 ACCESS_CONTROL_FILE 및 ip_list_file 분석에 실패하는 경우 브로커는 구동되지 않는다.

# cubrid_broker.conf

[broker]

MASTER_SHM_ID           =30001

ADMIN_LOG_FILE          =log/broker/cubrid_broker.log

ACCESS_CONTROL   =ON

ACCESS_CONTROL_FILE     =/home1/cubrid/access_file.txt

[%QUERY_EDITOR]

SERVICE                 =ON

BROKER_PORT             =38000

......

다음은 ACCESS_CONTROL_FILE의 한 예이다. 파일 내에서 사용하는 *은 모든 것을 나타내며, 데이터베이스 이름, 데이터베이스 사용자 ID, 접속을 허용하는 IP 리스트 파일 내의 IP에 대해 지정할 때 사용할 수 있다.

[%QUERY_EDITOR]

dbname1:dbuser1:READIP.txt

dbname1:dbuser2:WRITEIP1.txt,WRITEIP2.txt

*:dba:READIP.txt

*:dba:WRITEIP1.txt

*:dba:WRITEIP2.txt

 

[%BROKER2]

dbname:dbuser:iplist2.txt

 

[%BROKER3]

dbname:dbuser:iplist2.txt

 

[%BROKER4]

dbname:dbuser:iplist2.txt

위의 예에서 지정한 브로커는 QUERY_EDITOR, BROKER2, BROKER3, BROKER4이다.

QUERY_EDITOR 브로커는 다음과 같은 응용의 접속 요청만을 허용한다.

다음은 ip_list_file에서 허용하는 IP를 설정하는 예이다.

192.168.1.25

192.168.*

10.*

*

위의 예에서 지정한 IP를 보면 다음과 같다.

이미 구동되어 있는 브로커에 대해서는 다음 명령어를 통해 설정 파일을 다시 적용하거나 현재 적용 상태를 확인할 수 있다.

구문

브로커에서 허용하는 데이터베이스, 데이터베이스 사용자 ID, IP를 설정한 후 변경된 내용을 서버에 적용하려면 다음 명령어를 사용한다.

cubrid broker acl reload [<BR_NAME>]

현재 구동 중인 브로커에서 허용하는 데이터베이스, 데이터베이스 사용자 ID, IP의 설정을 화면에 출력하려면 다음 명령어를 사용한다.

cubrid broker acl status [<BR_NAME>]

브로커 로그

허용되지 않는 IP에서 접근하면 다음과 같은 로그가 남는다.

참고 데이터베이스 서버에서의 접속 제한을 위해서는 데이터베이스 서버 접속 제한을 참고한다.