※ 해당 가이드는 2021년 기준입니다.
주요정보통신기반시설 관리기관은 -정보통신기반 보호법- 제9조에 따라, 주요정보통신기반시설로 신규 지정된 후 6개월이내, 그리고 매년 취약점 분석/평가를 실시하여야 한다. 취약점 분석/평가는 453개의 관리적/물리적/기술적 점검항목에 대한 주요정보통신기반시설의 취약여부를 점검하여, 악성코드 유포, 해킹 등 사이버 위협 대응을 위한 종합적 개선과정이다.
주요정보통신기반시설 취약점 네트워크 장비 점검 항목
■ 취약점 개요
○ 점검개요 : 패스워드 복잡도를 확인하는 PASSWORD_VERIFY_FUNCTION 값이 설정되어 있는지 점검
○ 점검목적 : PASSWORD_VERIFY_FUNCTION 값을 설정하여 기본적인 패스워드 정책을 적용하고 이를 통해 로그인에 대한 보안성을 강화하여 저장중인 데이터의 안전성을 높이고자 하는 목적
○ 보안위협 : PASSWORD_VERIFY_FUNCTION 값이 설정되어 있지 않을 경우, 비인가자가 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 권한을 통해 저장되어 있는 데이터의 유출, 수정, 삭제 등의 위험 발생
○ 점검대상 : Oracle, ALTIBASE, TIBERO 등
○ 판단기준
- 양호 : 패스워드 검증 함수로 검증이 진행되는 경우
- 취약 : 패스워드 검증 함수가 설정되지 않은 경우
■ 점검방법 및 조치방안
○ 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; |
■ 조치 시 영향
일반적으로 무관
■ PASSWORD_VERIFY_FUNCTION 값
○ 이 프로파일에 명시된 사용자가 데이터베이스에 로그인 할 때 패스워드 확인을 위해 PL/SQL 함수가 사용되도록 명시하는 프로파일
'취약점 진단 가이드 > DBMS 취약점 진단 가이드' 카테고리의 다른 글
D-19(중) 인가되지 않은 GRANT OPTION 사용 제한 (0) | 2021.08.03 |
---|---|
D-18(하) 인가되지 않은 Object Owner의 제한 (0) | 2021.08.01 |
D-15(상) 응용프로그램 또는 DBA 계정의 Role이 Public으로 설정되지 않도록 설정 (0) | 2021.07.26 |
D-14(하) 관리자 이외의 사용자가 오라클 리스너의 접속을 통해 리스너 로그 및 trace 파일에 대한 변경 제한 (0) | 2021.07.26 |
D-13(중) 데이터베이스의 주요 설정파일, 패스워드 파일 등과 같은 주요 파일들의 접근 권한이 적절하게 설정 (0) | 2021.07.25 |