[DBMS/데이터베이스/dbms] 패스워드 확인함수가 설정되어 적용

 

 

D-19 패스워드 확인함수가 설정되어 적용

 

■ 점검영역 : 옵션관리

 

■ 항목 중요도 :

 

■ 점검내용

 

패스워드 복잡도를 확인하는 PASSWORD_VERIFY_FUNCTION 값이 설정되어 있는지 점검

 

■ 점검목적

 

PASSWORD_VERIFY_FUNCTION 값을 설정하여 기본적인 패스워드 정책을 적용하고 이를 통해 로그인에 대한 보안성을 강화하여 저장중인 데이터의 안전성을 높이고자 함

 

■ 보안위협

 

PASSWORD_VERIFY_FUNCTION 값이 설정되어 있지 않을 경우, 비인가자가 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 권한을 통해 저장되어 있는 데이터의 유출, 수정, 삭제 등의 위험이 발생할 수 있음

 

■ 참고

 

※ PASSWORD_VERIFY_FUNCTION 값: 이 프로파일에 명시된 사용자가 데이터베이스에 로그인할 때 패스워드 확인을 위해 PL/SQL 함수가 사용되도록 명시하는 프로파일

 

 

점검대상 및 판단기준(데이터베이스/dbms 취약점 진단)

 

■ 대상 : Oracle, MSSQL, MySQL, ALTIBASE, TIBERO, PostgreSQL 등

 

양호

패스워드 검증 함수로 검증이 진행되는 경우

 

취약

패스워드 검증 함수가 설정되지 않은 경우

 

■ 조치방법

 

패스워드 검증 함수(PASSWORD_VERIFY_FUNCTION) 사용 설정

 

 

점검 및 조치 방법(oracle, mssql, mysql 등)

 

■ Oracle


Step 1) 설정 확인(SQL*Plus)
SQL> SELECT profile, limit FROM dba_profiles, (SELECT limit AS def_pwd_verify_func FROM dba_profiles WHERE resource_name = 'PASSWORD_VERIFY_FUNCTION' AND profile = 'DEFAULT') WHERE resource_name='PASSWORD_VERIFY_ FUNCTION' AND REPLACE(limit,'DEFAULT',def_pwd_verify_func) in ('UNLIMITED', 'NULL');
(반환 레코드가 존재하는 경우 취약)


Step 2) 패스워드 복잡도를 강제하는 패스워드 검증 함수를 생성, 사용하여야 함
<패스워드 확인 함수 적용 예시>
SQL> Alter profile default limit;
SQL> Password_verify_function verify_password_dod;

PARAMETER 설명
FAILED_LOGIN_ATTEMPTS log on 시도 반복 허용 횟수
PASSWORD_LIFE_TIME password의 수명 날짜 기간
PASSWORD_REUSE_TIME password의 재사용 금지 날짜 기간
PASSWORD_REUSE_MAX password의 재사용 가능한 최대 횟수
PASSWORD_VERIFY_FUNCTION password의 검증 함수로 검증 진행
PASSWORD_LOCK_TIME password의 log on 허용 횟수 실패 후 계정 잠김 날짜 기간
PASSWORD_GRACE_TIME password가 만료된 후 password_life_time이 경과되어 비밀번호를 변경해야 할 경우, password를 변경할 수 있는 기간을 날수로 지정

 

■ Altibase

 

Step 1) 다음 명령어를 통해 PASSWORD_VERIFY_FUNCTION COLUMN 값을 확인
(값이 없을 경우 패스워드 유효성 검사 함수가 설정되어 있지 않음)
select * from system_.sys_users_;


Step 2) PASSWORD_VERIFY_FUNCTION 프로퍼티 설정
ALTER USER 유저명 LIMIT (프러퍼티 숫자);
적용 예) ALTER USER TESTUSER LIMIT (PASSWORD_VERITY_FUNCTION default);

 

■ 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;

 

 

조치 시 영향 : 일반적인 경우 영향 없음

 

댓글

Designed by JB FACTORY