취약점 진단 가이드/DBMS 취약점 진단 가이드

D-03(상) 패스워드의 사용기간 및 복잡도를 기관 정책에 맞도록 설정

H.J.World 2021. 7. 19. 10:10
728x90
반응형

※ 해당 가이드는 2017년 기준입니다.

주요정보통신기반시설 관리기관은 -정보통신기반 보호법- 제9조에 따라, 주요정보통신기반시설로 신규 지정된 후 6개월이내, 그리고 매년 취약점 분석/평가를 실시하여야 한다. 취약점 분석/평가는 453개의 관리적/물리적/기술적 점검항목에 대한 주요정보통신기반시설의 취약여부를 점검하여, 악성코드 유포, 해킹 등 사이버 위협 대응을 위한 종합적 개선과정이다.


주요정보통신기반시설 취약점 네트워크 장비 점검 항목

■ 취약점 개요

○ 점검개요 : 기관 정책에 맞게 패스워드 사용기간 및 복잡도 설정이 적용되어 있는지 점검

○ 점검목적 : 패스워드 사용기간 및 복잡도 설정 유무를 점검하여 비인가자의 패스워드 추측 공격(무작위 대입 공격, 사전 대입 공격 등)에 대한 대비가 되어 있는지 확인

○ 보안위협 : 패스워드 사용기간 및 복잡도 설정이 되어 있지 않을 경우 비인가자가 패스워드 추측 공격을 통해 획득한 계정의 패스워드를 이용하여 DB에 접근할 수 있는 위험이 존재

○ 점검대상 : Oracle, MSSQL, MySQL, ALTIBASE, TIBERO 

○ 판단기준

- 양호 : 기관 정책에 맞게 패스워드 사용기간 및 복잡도 설정이 적용되어 있는 경우

- 취약 : 기관 정책에 맞게 패스워드 사용기간 및 복잡도 설정이 적용되어 있지 않은 경우

 

■ 점검방법 및 조치방안

ORACLE

Step 1 PASSWORD_LIFE_TIME 프로파일 파라미터 변경
 
SQL> ALTER PROFILE LIMIT PASSWORD_LIFE_TIME xx;
Step 2 프로파일 값과 관련된 사용자 변경
 
SQL> ALTER USER PROFILE;
Step 3 패스워드 설정 변경
 
SQL> CREATE PROFILE grace_5 LIMIT;
FAILED_LOGIN_ATTEMPTS 3(패스워드 실패 3번까지만 가능)
PASSWORD_LIFE_TIME 30(30일 동안만 패스워드 사용 가능)
PASSWORD_REUSE_TIME 30(사용한 패스워드 30일 후부터 재사용 가능)
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_GRACE_TIME 5;(life time이 끝나고 5일 동안 메시지를 출력)

○ MSSQL

Step 1 패스워드 변경 주기가 60일 이내로 설정되지 않은 경우 패스워드 변경 주기 설정
 
MSSQL에서 '암호 만료 강제 적용'을 체크함으로써 주기적으로 변경이 가능하며, 변경기간은 OS'암호정책'에서 적용 받으므로 '암호 정책 > 최대 암호 사용 기간' 설정도 같이 변경
Step 2 암호 만료 강제 적용
[보안]> [로그인]> [각 로그인 계정]> [속성]> 암호 만료 강제 적용: 설정(체크) 확인

Step 3 OS의 암호 정책 설정
[관리도구]> [로컬 보안 정책]> [보안 설정]> [계정 정책]> [암호 정책]> '최대 암호 사용 기간 : '60' 설정

○ MySQL

Step 1 패스워드 설정 규칙 적용
 
패스워드 설정 규칙에 맞추어 패스워드를 설정할 수 있도록 시스템 차원에서 기능 제공
Step 2 패스워드 관리 적용
 
패스워드 신규 적용 및 초기화 시 설정 규칙에 맞추어 관리하고, 저장 시에는 일방향 암호 알고리즘을 통한 암호화 처리(One-Way Encryption)
Step 3 패스워드 변경기능 구현
 
사용자가 패스워드 설정규칙 내에서 스스로 패스워드를 변경할 수 있도록 기능 제공 패스워드 설정은 다음과 같은 방법으로 가능
mysql> use mysql;
mysql> update user set password=password ('new password') where user=‘user name’;
mysql> flush privileges; 또는,
mysql> set password for ’user name’@’%’=password('new password');
mysql> flush privileges;

○ 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 프러퍼티 파일

Step 1 $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;

 

■ 조치 시 영향

일반적인 경우 무관

 

무작위 대입 공격(Brute Force Attack)

특정 암호를 해독하기 위해 가능한 모든 값을 대입하는 공격 방법

 

사전 대입 공격(Dictionary Attack)

사전에 있는 단어를 입력하여 패스워드를 알아내거나 암호를 해독하는데 사용되는 컴퓨터 공격 방법

 

728x90
반응형