취약점 개요 | |
점검 내용 | 사용자 계정 로그인 실패 시 계정잠금 임계값이 설정되어 있는지 점검 |
점검 목적 | 계정탈취 목적의 무작위 대입 공격 시 해당 계정을 잠금하여 인증 요청에 응답하는 리소스 낭비를 차단하고 대입 공격으로 인한 비밀번호 노출 공격을 무력화하기 위함 |
보안 위협 | 패스워드 탈취 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등)의 인증 요청에 대해 설정된 패스워드와 일치 할 때까지 지속적으로 응답하여 해당 계정의 패스워드가 유출 될 수 있음 |
참고 | ※ 사용자 로그인 실패 임계 값: 시스템에 로그인 시 몇 번의 로그인 실패에 로그인을 차 단할 것인지 결정하는 값 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : 계정 잠금 임계값이 10회 이하의 값으로 설정되어 있는 경우 |
취약 : 계정 잠금 임계값이 설정되어 있지 않거나, 10회 이하의 값으로 설정되지 않은 경우 | |
조치 방법 | 계정 잠금 임계값을 10회 이하로 설정 |
점검 및 조치 | |
점검 | # cat /etc/pam.d/system-auth auth required /lib/security/pam_tally.so deny=5 unlock_time=120 no_magic_root account required /lib/security/pam_tally.so no_magic_root reset |
위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함 | |
조치 | Step 1) vi 편집기를 이용하여 “/etc/pam.d/system-auth” 파일 열기 Step 2) 아래와 같이 수정 또는, 신규 삽입 auth required /lib/security/pam_tally.so deny=5 unlock_time=120 no_magic_root account required /lib/security/pam_tally.so no_magic_root reset |
점검 스크립트
#!/bin/bash
. function.sh
BAR
CODE [U-03] 계정 잠금 임계값 설정
cat << EOF >> $RESULT
[양호]: 계정 잠금 임계값이 5이하의 값으로 설정되어 있는 경우
[취약]: 계정 잠금 임계값이 설정되어 있지 않거나, 5이하의 값으로 설정되지 않은 경우
EOF
BAR
LOGFILE=LSC_03.sh
PAM_FILE1=/etc/pam.d/system-auth
PAM_MOD1=pam_faillock.so
PAM_MOD2=pam_tally2.so
CheckDenyValue() {
Value=$1
if [ $Value -le 5 ] ; then
OK "계정 잠금 임계값이 5이하로 설정되어 있습니다."
else
VULN "계정 잠금 임계값이 6이상으로 설정되어 있습니다."
fi
}
FIRSTLINE=$(egrep -v '^$|^#' $PAM_FILE1 | egrep "$PAM_MOD1|$PAM_MOD2" | grep '^auth')
SECONDLINE=$(echo $FIRSTLINE | cut -d' ' -f4-)
if [ -z "$SECONDLINE" ] ; then
INFO "계정 잠금 임계값이 설정되어 있습니다."
else
for i in $SECONDLINE
do
KEY=$(echo $i | awk -F= '{print $1}')
VALUE=$(echo $i | awk -F= '{print $2}')
case $KEY in
'deny') CheckDenyValue $VALUE;;
*) : ;;
esac
done
fi
INFO $LOGFILE "참고하세요."
cat << EOF > $LOGFILE
=======================================================
다음은 $PAM_FILE1 파일의 내용입니다.
=======================================================
EOF
FILECONTENTCOPY $PAM_FILE1 $LOGFILE
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-05 (상) root홈, 패스 디렉터리 권한 및 패스 설정 (0) | 2021.08.17 |
---|---|
[Linux] U-04 (상) 패스워드 파일 보호 (0) | 2021.08.17 |
[Linux] U-02 (상) 패스워드 복잡성 설정 (0) | 2021.08.17 |
[Linux] U-01 (상) root 계정 원격접속 제한 (2) | 2021.08.17 |
Linux infra 진단 스크립트 개발 (0) | 2021.08.17 |