브로커에 접속하는 응용 클라이언트를 제한하려면 cubrid_broker.conf의 ACCESS_ CONTROL 파라미터 값을 ON으로 설정하고, ACCESS_CONTROL_FILE 파라미터 값에 접속을 허용하는 사용자와 데이터베이스 및 IP 목록을 작성한 파일 이름을 입력한다. ACCESS_CONTROL 브로커 파라미터의 기본값은 OFF이다.
ACCESS_CONTROL_FILE의 형식은 다음과 같다.
[%<broker_name>]
<db_name>:<db_user>:<ip_list_file>
…
여러 개의 브로커에 대해 설정하기 위해 [%<broker_name>]과 <db_name>:<db_user>:<ip_list_file>을 추가로 지정할 수 있다.
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:iplist1.txt
dbname2:*:iplist1.txt
*:dba:iplist1.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에서 접근하면 다음과 같은 로그가 남는다.
참고 데이터베이스 서버에서의 접속 제한을 위해서는 데이터베이스 서버 접속 제한을 참고한다.