[DBMS/계정관리] 패스워드의 사용기간 및 복잡도 기관 정책에 맞도록 설정 (D-03)

 

취약점 개요


■ 위험도
- 상

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

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

점검 및 조치 방법

■ 판단 기준
- 양호: 패스워드를 주기적으로 변경하고, 패스워드 정책이 적용되어 있는 경우
- 취약: 패스워드를 주기적으로 변경하지 않거나, 패스워드 정책이 없는 경우

■ 조치 방법
- 주기적 패스워드 변경, 패스워드 적용 정책 마련

■ Oracle
1.패스워드 정책 상태 점검
SQL> SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE=’DEFAULT’;

2.미 설정 시 패스워드 정책 프로파일 생성
Sql> CREATE PROFILE grace_5 LIMIT
FAILED_LOGIN_ATTEMPTS 3 (패스워드 실패를 3번까지만 가능) PASSWORD_LOCK_TIME 1/1440 (패스워드 잠금이 해제 될 때가지의 시간, 1/1440 = 1분)
PASSWORD_LIFE_TIME 90 (90일동안만 패스워드를 사용)
PASSWORD_GRACE_TIME 5 (만료되기 5일전부터 변경하라는 알람) PASSWORD_REUSE_TIME 30 (한번 사용한 패스워드를 다시 사용 하려면 30일 후부터 재사용 가능)
PASSWORD_VERIFY_FUNCTION verify_function; (패스워드 확인 함수)

3.사용자에게 패스워드 프로파일 적용
SQL> ALTER USER haksa PROFILE scott_pass;
haksa 사용자에게 scott_pass 프로파일을 적용.

참고 URL : radiocom.kunsan.ac.kr/lecture/oracle/what_is/password.html

 

■ MSSQL
1. 패스워드 변경 주기가 60일 이내로 설정되지 않은 경우 패스워드 변경 주기 설정 MSSQL에서 ‘암호 만료 강제 적용’을 체크함으로써 주기적으로 변경이 가능하며, 변경기간은 OS의 ‘암호정책’에서 적용 받으므로 ‘암호 정책 > 최대 암호 사용 기간’ 설정도 같이 변경해야 함

2. 암호 만료 강제 적용
[보안]> [로그인]> [각 로그인 계정]> [속성]>

암호 만료 강제 적용: 설정(체크) 확인

3. OS의 암호 정책 설정 [관리도구]> [로컬 보안 정책]> [보안 설정]> [계정 정책]> [암호 정책]

‘최대 암호 사용 기간 : ’60일’ 설정

■ MySQL
1. 패스워드 설정 규칙 적용
패스워드 설정 규칙에 맞추어 패스워드를 설정할 수 있도록 시스템 차원에서 기능 제공 2. 패스워드 관리 적용
패스워드 신규 적용 및 초기화 시 설정 규칙에 맞추어 관리하고, 저장 시에는 일방향 암호 알고리즘을 통한 암호화 처리(One-Way Encryption)
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;

댓글

Designed by JB FACTORY