문서유형ㅣ기술 정보
분야ㅣ보안
적용제품버전ㅣTibero6, Tibero7
문서번호ㅣTSETI016
개요
| 분류 | 점검 항목 | 중요도 | 코드 |
|---|---|---|---|
| 계정 관리 | 기본 계정의 패스워드, 권한 등을 변경하여 사용 | 상 | D-01 |
| 데이터베이스의 불필요 계정을 제거하거나, 잠금설정 후 사용 | 상 | D-02 | |
| 패스워드의 사용기간 및 복잡도를 기관 정책에 맞도록 설정 | 상 | D-03 | |
| 데이터베이스 관리자 권한을 꼭 필요한 계정 및 그룹에 허용 | 상 | D-04 | |
| 패스워드 재사용에 대한 제약 설정 | 중 | D-12 | |
| DB 사용자 계정을 개별적으로 부여하여 사용 | 중 | D-13 |
본 문서에서는 "계정관리-패스워드 재사용에 대한 제약 설정(D-12)" 항목에 대한 보안취약점 조치 방안에 대해 기술하였습니다.
점검 내용 및 목적
- 패스워드 변경 시 이전 패스워드를 재사용할 수 없도록 패스워드 제약 설정이 되어 있는지 점검합니다.
- 패스워드 재사용 제약 설정 적용 여부를 점검하여 패스워드 변경 시 이전 패스워드 재사용을 제약하며 형식적인 패스워드 변경을 원천적으로 차단하기 위함입니다.
점검 판단 기준
| 기준 | 내용 |
|---|---|
| 양호 | PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 파라미터 설정이 적용된 경우 |
| 취약 | PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 파라미터 설정이 적용되지 않은 경우 |
조치 전 주의사항
기본 계정 리스트 확인
Tibero 설치 시 생성되는 기본 계정은 다음과 같습니다. DB 버전에 따라 추가/삭제된 계정이 존재합니다.
| 계정명 | 비밀번호 | 비고 |
| SYS | tibero | 계정 삭제 불가능 |
| SYSCAT | syscat | 계정 삭제 불가능 |
| SYSGIS | sysgis | 계정 삭제 불가능 |
| OUTLN | outln | 계정 삭제 불가능 |
| TIBERO | tmax | 계정 삭제 가능 |
| TIBERO1 | tmax | 계정 삭제 가능 T7 버전 이상부터 존재하지 않음 |
| SYSBACKUP | tibero | 계정 삭제 불가능 T6FS07 일부 버전(301647 패치 존재) 및 T7 버전 이상부터 존재 |
| LBACSYS | lbacsys | 계정 삭제 불가능 T7 버전 이상부터 존재 |
패스워드 사용기간 및 복잡도
패스워드 재사용에 대한 설정은 PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 내용을 참고하기 바랍니다.
| 구분 | 설명 |
| PASSWORD_REUSE_TIME | 패스워드 재사용 금지 기간 설정 ex) 30 설정 시, 30일 동안 동일 패스워드로 다시 변경 불가 |
| PASSWORD_REUSE_MAX | 설정된 갯수만큼 최근 변경한 패스워드를 재사용 금지 설정 ex) 10 설정 시, 10회 동안 동일 패스워드 재사용 불가. 다른 값으로 사용 |
방법
설정
1. 신규 프로파일 생성 및 적용
- 생성 전 프로파일 확인
set lines 400 col profile for a20 col resource_name for a30 col resource_type for a20 col limit for a20 select * from dba_profiles where RESOURCE_TYPE = 'PASSWORD'; PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT -------------------- ------------------------------ -------------------- -------------------- DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL_VERIFY_FUNCTION DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED DEFAULT LOGIN_PERIOD PASSWORD UNLIMITED 8 rows selected.
- 프로파일 생성
CREATE PROFILE [프로파일명] LIMIT FAILED_LOGIN_ATTEMPTS [설정값] PASSWORD_LOCK_TIME [설정값] PASSWORD_LIFE_TIME [설정값] PASSWORD_REUSE_TIME [설정값] PASSWORD_REUSE_MAX [설정값] PASSWORD_GRACE_TIME [설정값] PASSWORD_VERIFY_FUNCTION [설정값]; ex) CREATE PROFILE prof LIMIT failed_login_attempts 3 password_lock_time 1/1440 password_life_time 90 password_reuse_time unlimited password_reuse_max 10 password_grace_time 10 password_verify_function verify_function;
- 생성 후 프로파일 확인
set lines 400 col profile for a20 col resource_name for a30 col resource_type for a20 col limit for a50 select * from dba_profiles where RESOURCE_TYPE = 'PASSWORD'; PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT -------------------- ------------------------------ -------------------- -------------------- DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL_VERIFY_FUNCTION DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED DEFAULT LOGIN_PERIOD PASSWORD UNLIMITED PROF FAILED_LOGIN_ATTEMPTS PASSWORD 3 PROF PASSWORD_LIFE_TIME PASSWORD 90 PROF PASSWORD_REUSE_TIME PASSWORD UNLIMITED PROF PASSWORD_REUSE_MAX PASSWORD 10 PROF PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION PROF PASSWORD_LOCK_TIME PASSWORD .000694444444444444444444444444444444444 444 PROF PASSWORD_GRACE_TIME PASSWORD 10 PROF LOGIN_PERIOD PASSWORD UNLIMITED 16 rows selected.
- 계정 별 프로파일 확인
set lines 400 col username for a30 col profile for a30 SELECT USERNAME,PROFILE FROM DBA_USERS; USERNAME PROFILE ------------------------------ ------------------------------ SYS TIBERO SYSCAT SYSGIS OUTLN TIBERO1 P_TEST PROSYNC 8 rows selected.
- 계정 별 프로파일 설정 변경
ALTER USER [USERNAME] PROFILE [PROFILE 명]; ex) alter user sys profile prof;
- 계정 별 프로파일 설정 확인
SELECT USERNAME,PROFILE FROM DBA_USERS; USERNAME PROFILE ------------------------------ ------------------------------ SYS PROF TIBERO PROF SYSCAT PROF SYSGIS PROF OUTLN PROF TIBERO1 PROF P_TEST PROF PROSYNC PROF 8 rows selected.
2. 기존 프로파일에서 RESOURCE 수정
- 수정 전 프로파일 확인
set lines 400 col profile for a20 col resource_name for a30 col resource_type for a20 col limit for a20 select * from dba_profiles where RESOURCE_TYPE = 'PASSWORD'; PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT -------------------- ------------------------------ -------------------- -------------------- DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL_VERIFY_FUNCTION DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED DEFAULT LOGIN_PERIOD PASSWORD UNLIMITED 8 rows selected.
- 프로파일에서 PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 값 수정
ALTER PROFILE [PROFILE 명] LIMIT [RESOURCE NAME] [설정값]; ex) ALTER PROFILE DEFAULT LIMIT PASSWORD_REUSE_MAX 10;
- 수정 후 프로파일 확인
set lines 400 col profile for a20 col resource_name for a30 col resource_type for a20 col limit for a20 select * from dba_profiles where RESOURCE_TYPE = 'PASSWORD'; PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT -------------------- ------------------------------ -------------------- -------------------- DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD 10 DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL_VERIFY_FUNCTION DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED DEFAULT LOGIN_PERIOD PASSWORD UNLIMITED 8 rows selected.
원복
1. 계정 별 프로파일 원복
default 프로파일 설정을 바꾸지 않고 신규로 생성하였다면 해당 프로파일로 지정합니다.
ALTER USER [USERNAME] PROFILE [PROFILE 명]; ex) alter user sys profile default;
2. 기존 프로파일에서 RESOURCE 원복
ALTER PROFILE [PROFILE 명] LIMIT [RESOURCE NAME] [설정값]; ex) ALTER PROFILE prof LIMIT PASSWORD_REUSE_MAX UNLIMITED;