[DBMS/데이터베이스/dbms] 패스워드 재사용에 대한 제약 설정
- 정보보안/Infra
- 2024. 11. 17.
D-12 패스워드 재사용에 대한 제약 설정
■ 점검영역 : 계정관리
■ 항목 중요도 : 중
■ 점검내용
패스워드 변경 시 이전 패스워드를 재사용할 수 없도록 패스워드 제약 설정이 되어 있는지 점검
■ 점검목적
패스워드 재사용 제약 설정 적용 여부를 점검하여 패스워드 변경 시 이전 패스워드 재사용을 제약하여 형식적인 패스워드 변경을 원천적으로 차단하기 위함
■ 보안위협
패스워드 재사용 제약 설정이 적용되어 있지 않을 경우 패스워드 변경 전 사용했던 패스워드를 재사용함으로써 비인가자의 계정 패스워드 추측 공격에 대한 시간을 더 많이 허용하여 패스워드 유출 위험이 증가함
■ 참고
※ 패스워드 제약 설정: 패스워드 변경 시 이전에 사용했던 패스워드를 재사용할 수 없게 하는 설정으로써 이전 암호 재사용 가능 기간(PASSWORD_REUSE_TIME), 이전 암호 재사용 가능 횟수(PASSWORD_REUSE_MAX) 등이 있음
점검대상 및 판단기준(데이터베이스/dbms 취약점 진단)
■ 대상 : Oracle, MSSQL, MySQL, ALTIBASE, TIBERO, PostgreSQL 등
양호
PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 파라미터 설정이 적용된 경우
취약
PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 파라미터 설정이 적용되지 않은 경우
■ 조치방법
PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX 파라미터 설정
점검 및 조치 방법(oracle, mssql, mysql 등)
■ Oracle
Step 1) (SQL*Plus) 설정확인
-- Check for both reuse max and reuse time not set:
select profile from DBA_PROFILES where (resource_name='PASSWORD_REUSE_MAX' and limit in ('UNLIMITED','NULL')) or profile in (select profile from DBA_PROFILES where resource_name='PASSWORD_REUSE_TIME') and limit in ('UNLIMITED','NULL');
-- Check for reuse max with value that is less than allowed minimum select profile from DBA_PROFILES where resource_name='PASSWORD_REUSE_MAX' and limit not in ('UNLIMITED','NULL') and limit < '10';
-- Check for reuse time that is less than allowed minimum select profile from DBA_PROFILES where resource_name='PASSWORD_REUSE_TIME' and limit not in ('UNLIMITED','NULL')and limit < '365';
Step 2) PASSWORD_REUSE_TIME 및 프로파일 파라미터 수정
SQL> alter profile default limit password_reuse_time 365 password_reuse_max 10;
SQL> alter profile [profile name] limit password_reuse_time default password_reuse_max default;
■ Altibase
조치방법 1. 사용자별 패스워드 정책 변경
Step 1) 다음 명령어를 통해 패스워드 정책 설정 여부 확인
select * from system_.sys_users_;
Step 2) 아래 프로퍼티에 대해 패스워드 정책 설정
CASE_SENSITIVE_PASSWORD
FAILED_LOGIN_ATTEMPTS
PASSWORD_LOCK_TIME
PASSWORD_LIFE_TIME
PASSWORD_GRACE_TIME
PASSWORD_REUSE_TIME
PASSWORD_REUSE_MAX
PASSWORD_VERIFY_FUNCTION
※ 정책 적용 시 다음 명령어를 사용
ALTER USER 유저명 LIMIT (프러퍼티 숫자);
적용 예) ALTER USER TESTUSER LIMIT (FAILED_LOGIN_ATTEMPTS 7, PASSWORD_LOCK_TIME 7);
조치방법 2. ALTIBASE HDB 프러퍼티 파일
$ALTIBASE_HOME/conf/altibase.properties를 변경
※ ALTIBASE HDB 서버가 실행되지 않은 상태에서 할 수 있는 정적인 환경 설정 방법
※ 프로퍼티 파일에서 해당 구성 요소를 특정 값으로 설정한 후 ALTIBASE HDB 서버를 재구동 해야 수정된 값이 ALTIBASE HDB 서버에 반영
■ Tibero
Step 1) 사용자별 패스워드 프로파일 적용 여부 확인
select * from dba_users;
Step 2) 설정되어 있을 경우 프로파일 설정 내용 확인
select * from dba_profiles;
STEP 3) 설정되어 있지 않을 경우 프로파일 생성 시(또는 수정 시 alter profile) 패스워드 정책 설정 정책 적용 시 다음 명령어를 사용
CREATE PROFILE prof LIMIT
적용 예) 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;
■ 조치 시 영향 : 일반적인 경우 영향 없음