[리눅스/계정관리] 패스워드 최소 길이 설정 (U-46)
- 취약점 점검/리눅스
- 2021. 8. 10.
패스워드 최소 길이 설정
취약점 개요
■ 위험도
- 중
■ 점검 목적
- 패스워드 최소 길이 설정이 적용되어 있는지 점검하여 짧은(8자 미만) 패스워드 길이로 발생하는 취약점을 이용한 공격(무작위 대입 공격, 사전 대입 공격 등)에 대한 대비(사용자 패스워드 유출)가 되어 있는지 확인하기 위함
■ 보안 위협
- 패스워드 최소 길이 설정이 적용되어 있지 않을 경우 비인가자의 각종 공격(무작위 대입 공격, 사전 대입 공격 등)에 취약하여 사용자 계정 패스워드 유출 유려가 있음
점검 및 조치 방법
■ 판단 기준
- 양호 : 패스워드 최소 길이가 8자 이상으로 설정되어 있는 경우(공공기관의 경우 9자리 이상)
- 취약 : 패스워드 최소 길이가 8자 미만으로 설정되어 있는 경우(공공기관의 경우 9자리 미만)
■ 조치 방법
- 패스워드 정책 설정파일을 수정하여 패스워드 최소 길이를 8자 이상으로 설정(공공기관의 경우 9자리 이상으로 설정)
■ 점검 및 조치 사례
● SOLARIS
Step 1) vi 편집기를 이용하여 "/etc/default/passwd" 파일 열기
Step 2) 아래와 같이 수정 또는, 신규 삽입
(수정 전) PASSLENGTH=6
(수정 후) PASSLENGTH=8 (or 9)
● LINUX
Step 1) vi 편집기를 이용하여 "/etc/login.defs" 파일 열기
Step 2) 아래와 같이 수정 또는, 신규 삽입
(수정 전) PASS_MIN_LEN 6
(수정 후) PASS_MIN_LEN 8 (or 9)
● AIX
Step 1) vi 편집기를 이용하여 "/etc/security/user" 파일 열기
Step 2) defult : 부분을 아래와 같이 수정 또는, 신규 삽입
(수정 전) minlen=4
(수정 후) minlen=8 (or 9)
● HP-UX
Step 1)vi 편집기를 이용하여 "/etc/default/security" 파일 열기
Step 2) 아래와 같이 수정 또는, 신규 삽입
(수정 전) MIN_PASSWORD_LENGTH=
(수정 후) MIN_PASSWORD_LENGTH=8 (or 9)
■ 스크립트
echo"U-46 START"
echo"[U-46 패스워드최소길이설정]" >> $COMPUTERNAME2>&1
echo"[SHADOWSuite확인-PASS_MIN_LEN]" >> $COMPUTERNAME2>&1
cat$SHADOW_SUITE_LOGIN |grep-i"PASS_MIN_LEN" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1
echo"[PAM모듈확인-pam_cracklib_sominlenpam_unix.somin]" >> $COMPUTERNAME2>&1
echo"[PAM설정확인(1)-Redhat계열]" >> $COMPUTERNAME2>&1
if[-f"$PAM_DIR"/system-auth]
then
echo-n"pam_cracklib.so" >> $COMPUTERNAME2>&1
echo`cat"$PAM_DIR"/system-auth|egrep-i"pam_cracklib.so|minlen"|grep-v"#"` >> $COMPUTERNAME2>&1
echo-n"pam_unix.so" >> $COMPUTERNAME2>&1
echo`cat"$PAM_DIR"/system-auth|egrep-i"pam_unix.so|minlen"|grep-v"#"` >> $COMPUTERNAME2>&1
else
echo"$PAM_DIR/system-auth파일이존재하지않음" >> $COMPUTERNAME2>&1
fi
echo"" >> $COMPUTERNAME2>&1
echo"[PAM설정확인(2)-Debian계열]" >> $COMPUTERNAME2>&1
if[-f"$PAM_DIR"/common-auth]
then
echo-n"pam_cracklib.so" >> $COMPUTERNAME2>&1
cat"$PAM_DIR"/common-auth|egrep-i"pam_cracklib.so|minlen"|grep-v"#" >> $COMPUTERNAME2>&1
echo-n"pam_unix.so" >> $COMPUTERNAME2>&1
cat"$PAM_DIR"/common-auth|egrep-i"pam_unix.so|min"|grep-v"#" >> $COMPUTERNAME2>&1
else
echo"$PAM_DIR/common-auth파일이존재하지않음" >> $COMPUTERNAME2>&1
fi
echo"" >> $COMPUTERNAME2>&1
echo"minlen|min=최소길이" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1
echo"U-46 END" >> $COMPUTERNAME2>&1
echo"======================================================================================" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1
■ 용어 설명 / 팁
※ 공공기관의 경우 국가정보보안기본지침에 의해 패스워드를 9자리 이상의 길이로 설정 해야 함