V9.5 까지는 OS 환경변수 설정하여 SSL을 구성하였으나, V9.7부터 DBM 구성변수로 SSL 설정 변수들이 포함되었다.

최근에 보안 사고로 인해 각종 보안 조치사항들이 취해지다 보니 DB 쪽의 SSL 구성 요건도 생기는 듯 하다.

 

오래된 버전에서는 SSL 관련 라이브러리를 별도 설치를 했었어야 되는 것 같은데, V9.7부터 DB2 설치 시 SSL 관련 라이브러리(IBM GSKit)들이 설치된다.

 

1. 설치 경로

    - DB2_엔진경로/gskit

    - 인스턴스_홈/sqllib/gskit

 

2. DB2 서버 쪽의 설정

   인스턴스 경로를 /db2user/inst97로 가정한다.

   (1) 환경변수 설정 (.profile)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/db2user/inst97/sqllib/gskit/bin
export PATH=$PATH:/db2user/inst97/sqllib/gskit/bin

 

   (2) 인스턴스 홈에 SSL 디렉토리 생성

$> mkdir ~/SSL

 

  (3) 키 생성

$> cd ~/SSL
$>

gsk8capicmd_64 -keydb -create -db "key.kdb" -pw "password" –stash

 

  (4) 인증서 추가

$> gsk8capicmd_64 -cert -create -db "key.kdb" -pw "password" -label "DBCNI" -dn "CN=ssl.dbcni.com,O=dbcni,OU=dbcni db2,L=GANGNAM,ST=SEOUL,C=KR"

     - CN= common name

     - O = organization

     - OU= orgnaization unit

     - L = location

     - ST=state,province

     - C = country

     - DC= domain component

 

  (5) 인증서 추출

$> gsk8capicmd_64 -cert -extract -db "key.kdb" -pw "password" -label "DBCNI" -target "key.arm" -format ascii -fips

 

  (6) 유효성 검증

$> ls

      key.arm, key.crl, key.kdb, key.rdb, key.sth

 

   (7) DBM CFG 설정

db2 update dbm cfg using SSL_SVR_KEYDB /db2user/inst97/SSL/key.kdb
db2 update dbm cfg using SSL_SVR_STASH /db2user/inst97/SSL/key.sth
db2 update dbm cfg using SSL_SVR_STASH /db2user/inst97/SSL/key.sth
db2 update dbm cfg using SSL_SVR_LABEL DBCNI
db2 update dbm cfg using SSL_SVCENAME 50602

 

   (8) Registry 설정

db2set db2comm=ssl,tcpip

 

2. 클라이언트 설정

    (1) SSL 디렉토리 생성 (AIX 기준)

$> mkdir ~/SSL

     (주의) DB2 서버에서 생성된 key.arm 파일을 SSL 디렉토리 하위에 넣어 둘것

 

   (2)  key 디비 생성

$> cd ~/SSL
$> gsk8capicmd_64 -keydb -create -db "keyclient.kdb" -pw "password" -stash

 

   (3) 인증서 서명

$> gsk8capicmd_64 -cert -add -db "keyclient.kdb" -pw "password" -label "DBCNI" -file key.arm -format ascii -fips

 

   (4) dbm cfg 설정

db2 update dbm cfg using SSL_CLNT_KEYDB /db2/instance/db2inst/SSL/keyclient.kdb
db2 update dbm cfg using SSL_CLNT_STASH /db2/instance/db2inst/SSL/keyclient.sth


   (5) 카탈로스 설정

$> db2 catalog tcpip node 노드별명 remote IP server 50602 security ssl
$> db2 catalog db 디비명 as 디비SSL at node 노드별명
$> db2terminate

   (참고) TCPIP 통신 설정을 위해서는 카탈로그 작업이 한번 더 진행되어야 한다. 

 

   (6) 접속 테스트

$> db2 connect to 디비SSL user ID using PWD

 

DB2COMM 설정에 TCPIP도 있기 때문에 DB2 서버의 SVCENAME의 설정값을 통하여 TCPIP 방식의

DB 접속도 가능하다. (TCPIP 용 , SSL용 2가지 방식으로 통신이 됨)

 

참고로 V10.5의 경우 FixPack3a가 올라왔다. SSL관련하여 bug 발생으로 긴급 패치가 이뤄졌다.

이외 V10.1, V9.x 버전도 마찬가지로 보안관련 패치가 된 것으로 보인다.

SSL 설정 작업 시 각 버전의 APAR 등을 참고해야 될 것 같다.

'Note' 카테고리의 다른 글

[관리] 메모리 부족  (0) 2014.11.21
[보안] authentication 과 srvcon_auth  (0) 2014.07.14
[관리] db2gcf  (0) 2014.05.19
[복구] 경로재지정 복구  (0) 2014.04.15
[관리] Backup Pending 풀기  (0) 2014.03.31

+ Recent posts