개요
DB 보안 점검 및 조치 방법에 대한 가이드입니다.
계정 관리
계정의 목록화 (비 인가자의 접근 차단을 위한 사용자 계정 관리)
점검 방법
조치 방법
데이터베이스 사용자 출력 결과에서 불 필요한 계정이 확인되면, DBA 또는 어플리케이션 담당자 확인 후 해당 계정을 제거합니다.
예외 조치
SYS , SYSTEM_ , PUBLIC 계정은 알티베이스 데이터베이스 설치 시 기본으로 생성되는 계정이며, 삭제가 불가능합니다.
취약한 패스워드 사용 (기본 계정 및 패스워드 변경)
점검 방법
ALTIBASE HDB 설치 시 생성되는 사용자 디폴트 패스워드는 아래와 같습니다.
USER | PASSWORD |
|---|---|
sys | manager |
데이터베이스에 접속하여 디폴트 패스워드 사용 여부를 확인합니다.
조치 방법
디폴트 패스워드로 접속이 가능하다면 어플리케이션과의 연관성 확인 후 해당 사용자의 패스워드를 변경합니다.
권한 관리
DBA 권한 관리(System Privilege 권한 제한)
데이터베이스 사용자가 가진 권한을 확인하여 불필요한 시스템 권한을 가지고 있다면 삭제합니다.
단, ROLE 기능은 ALTIBASE HDB 6.5.1 버전부터 지원합니다.
점검 방법
조치 방법
WITH GRANT OPTION 사용
WITH GRANT OPTION은 객체 접근 권한을 부여 받은 사용자가 해당 권한을 다른 사용자에게 부여할 수 있으므로 객체 접근 권한을 DBA 관리 없이 남용할 수 있습니다.
점검 방법
조치 방법
환경 파일 점검
il, is, server 파일 접근 권한 설정
알티베이스는 데이터베이스 구동 및 접속 편의를 위해 is, il, server 스크립트를 제공합니다.
이 파일들의 권한은 보안 진단 기준에 맞춰 수정할 수 있습니다.
점검 방법
조치 방법
파일 권한 설정을 700 으로 설정한다.
altibase.properties 파일 접근 권한 설정
altibase.properties 파일은 알티베이스의 핵심 설정 파일입니다. 이 파일의 접근 권한은 보안 진단 기준에 따라 조정할 수 있습니다.
점검 방법
조치 방법
altibase.properties 파일 권한 설정을 600 또는 640 으로 설정한다.
Log Anchor, Log File, Data File 접근 권한 설정
ALTIBASE HDB 데이터베이스 운용에 중요 파일인 Log Anchor, Log File, Data File 파일을 악의적인 의도로 변경하면 데이터베이스 장애가 발생할 수 있습니다.
점검 방법
조치 방법
logs, dbs 디렉토리 권한 설정을 700 또는 750 으로 한다.
Log Anchor, Log File, Data File 파일 권한 설정을 600 또는 640 으로 설정한다.
Trc 파일 권한 설정
알티베이스는 데이터베이스 트레이스 로그파일의 권한을 보안 진단 기준에 맞춰 수정할 수 있습니다.
적용 버전
- ALTIBASE HDB 6.3.1 이하
조치 방법
6.3.1 버전 이하에서는 기본적으로 666(rw-rw-rw-) 으로 생성 됩니다.
chmod 명령어로 해당 파일의 권한 설정이 가능합니다.
적용 버전
- ALTIBASE HDB 6.5.1 이상
조치 방법
6.5.1 버전 이상에서는 기본적으로 644(rw-r--r--) 으로 생성 됩니다.
6.5.1 버전 이상부터 트레이스 로그파일에 대해서 TRC_ACCESS_PERMISSION 프로퍼티로 권한 설정이 가능합니다. 설정 후 DB 재 기동이 필요합니다.
iSQL 명령 쉘 히스토리 검사
iSQL을 사용하여 데이터베이스에 접속 할 때 계정 및 패스워드를 함께 입력하면 쉘 히스토리 파일에 기록이 남기 때문에 패스워드가 유출될 수 있습니다.
점검 방법
조치 방법
iSQL 접속 시 쉘 프롬프트에 사용자와 패스워드를 입력하지 않습니다.
쉘 히스토리 파일 보호를 위하여 접근 권한이 설정되어 있지 않다면 600으로 설정합니다.
DBMS 보안 설정
Public Synonym 사용
점검 방법
조치 방법
PUBLIC SYNONYM은 데이터베이스 사용 편의를 위해 자동으로 생성되는 객체입니다.
이들은 DUAL 테이블 조회, PRINT 또는 PRINTLN 같은 프로시저 내에서 널리 사용되므로 삭제를 권장하지 않습니다.
하지만 부득이하게 삭제해야 할 경우, 운영자 및 개발자와 충분히 협의한 후 DROP 하시기 바랍니다.
우회 방안
PUBLIC SYNONYM이 삭제된 경우에도 운영자와 개발자는 SYNONYM 사용이 필요할 수 있습니다.
이러한 상황에서는 PUBLIC이 아닌 PRIVATE SYNONYM을 생성하시면 됩니다.
PRIVATE SYNONYM 을 생성하기 위해서는 해당 계정으로 로그인 후 synonym 을 생성하면 됩니다.
로그인 실패 횟수에 따른 잠금시간 등 계정 잠금 정책 설정
적용 버전
- ALTIBASE HDB 4.3.9.211 부터
- ALTIBASE HDB 5.3.3.89 부터
- ALTIBASE HDB 5.5.1.5.1 부터
- ALTIBASE HDB 6.1.1.2.1 부터
- ALTIBASE HDB 6.3.1 이상 모든 버전
점검 방법
조치 방법
$ALTIBASE_HOME/conf/altibase.properties 에서 FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME 프로퍼티 추가 후 ALTIBASE HDB 서버를 재 시작 합니다.
이 프로퍼티 설정 후 데이터베이스 사용자를 생성하면 이 값을 기준으로 패스워드 잠김이 설정됩니다.
패스워드 복잡도 설정
적용 버전
- ALTIBASE HDB 4.3.9.211 부터
- ALTIBASE HDB 5.3.3.89 부터
- ALTIBASE HDB 5.5.1.5.1 부터
- ALTIBASE HDB 6.1.1.2.1 부터
- ALTIBASE HDB 6.3.1 이상 모든 버전
점검 방법
조치 방법
데이터베이스 사용자 패스워드 복잡도 설정을 위해 콜백 함수를 생성하고 CREATE USER 또는 ALTER USER 수행 시 LIMIT 절에 PASSWORD_VERIFY_FUNCTION 옵션을 사용합니다.
패스워드의 주기적인 변경
적용 버전
- ALTIBASE HDB 4.3.9.211
- ALTIBASE HDB 5.3.3.89
- ALTIBASE HDB 5.5.1.5.1
- ALTIBASE HDB 6.1.1.2.1
- ALTIBASE HDB 6.3.1 이상 모든 버전
점검 방법
조치 방법 아래 명령어로 PASSWORD_LIFE_TIME 프로퍼티를 확인하여 값이 0 이라면 패스워드의 만료일이 설정되어 있지 않음을 의미합니다.
$ALTIBASE_HOME/conf/altibase.properties 에서 PASSWORD_LIFE_TIME 과 PASSWORD_GRACE_TIME 프로퍼티 추가 후 ALTIBASE HDB 서버를 재 시작 합니다.
이 프로퍼티 설정 후 데이터베이스 사용자를 생성하면 이 값을 기준으로 패스워드 만료일 및 유예 기간이 설정됩니다.
ALTIBASE HDB 서비스 포트 기본 값 변경
ALTIBASE HDB 서버의 서비스 포트 기본 값은 20300 입니다.
점검 방법
조치 방법
$ALTIBASE_HOME/conf/altibase.properties 에서 PORT_NO 의 값을 변경 후 알티베이스 서버 프로세스를 재 시작
세션 IDLE_TIMEOUT 설정
IDLE_TIMEOUT 은 세션 별로 설정 변경이 가능하여 접속 시 ALTIBASE HDB 서버 프로퍼티의 영향을 받더라도 세션에서 변경할 수 있습니다.
점검 방법
조치 방법
- 알티베이스 서버 프로세스 재 시작 시에도 변경 값을 반영하려면 $ALTIBASE_HOME/conf/altibase.properties 에서 IDLE_TIMEOUT 프로퍼티의 값을 변경해야 합니다.
기본적인 감사(사용자 문장, 권한, 객체 등) 설정
Audiiting 기능은 ALTIBASE HDB 6.3.1 버전부터 제공합니다.
점검 방법
- 각 필드에 대한 설명은 General Reference 메뉴얼의 데이터 딕셔너리 부분을 참고.
조치 방법
Administrator's Manual 과 SQL Reference 에서 AUDIT 부분을 참고하여 설정하세요.
매뉴얼 다운로드 페이지 : http://support.altibase.com/kr/manual
원격에서 DB 서버로의 접속 제한
이 기능은 ALTIBASE HDB 5 부터 제공합니다.
점검 방법
$ALTIBASE_HOME/conf/altibase.properties 에서 ACCESS_LIST 프로퍼티 확인.
General Reference 매뉴얼에서 ACCESS_LIST 프로퍼티 설명을 참고합니다.
조치 방법
$ALTIBASE_HOME/conf/altibase.properties 에서 ACCESS_LIST 변경 후 알티베이스 서버 프로세스를 재 시작
SYSDBA 로그인 제한 설정
ALTIBASE HDB 는 SYSDBA 에 대해 로그인 제한이 없고, 원격 접근만 제어할 수 있습니다.
이 기능은 ALTIBASE HDB 5 버전부터 제공합니다.
점검 방법
조치 방법
- 알티베이스 서버 프로세스 재시작 시에도 변경 값을 반영하려면 $ALTIBASE_HOME/conf/altibase.properties 에서 REMOTE_SYSDBA_ENABLE 프로퍼티의 값을 변경해야 합니다.
보안 패치
보안 패치 적용
Altibase 보안 패치는 Altibase Performance Solutions(패치노트) 에서 확인할 수 있습니다.
- 보안관련 버그를 포함한 주요한 버그가 반영된 경우에 고객지원서비스포털에 신규 패치를 업로드 합니다.