※ 해당 가이드는 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)
○ 사전에 있는 단어를 입력하여 패스워드를 알아내거나 암호를 해독하는데 사용되는 컴퓨터 공격 방법
'취약점 진단 가이드 > DBMS 취약점 진단 가이드' 카테고리의 다른 글
D-06(중) DB 사용자 계정의 개별적 부여 및 사용 (0) | 2021.07.20 |
---|---|
D-05(중) 패스워드 재사용에 대한 제약 설정 (0) | 2021.07.20 |
D-04(상) 데이터베이스 관리자 권한을 꼭 필요한 계정 및 그룹에 허용 (0) | 2021.07.19 |
D-02(상) scott 등의 Demonstration 및 불필요 계정을 제거하거나 잠금 설정 후 사용 (0) | 2021.07.18 |
D-01(상) 기본 계정의 패스워드, 정책 등을 변경하여 사용 (0) | 2021.07.17 |