본문으로 바로가기

 

 1.3  계정 잠금 임계값 설정


■ 점검 분류 항목: 계정 관리

■ 세부 점검 항목: 계정 잠금 임계값 설정

■ 대상: 리눅스

■ 위험도: 상

■ 관련 코드: U-03


(1) 취약점 개요

● 침입자에 의한 패스워드 *무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격(Password Guessing) 발생 시 암호입력 실패 횟수를 적정하게 제한함으로써 자동공격을 차단하고 공격 시간을 지체시켜 패스워드 유출 위험을 줄일 수 있음.

● 무작위 대입 공격(Brute Force Attack): 컴퓨터로 암호를 해독하기 위해 가능한 모든 키를 하나하나 추론해 보는 시도를 말함.


(2) 판단기준

양호: 계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우

● 취약: 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되지 않은 경우


(3) 조치방법

● 계정 잠금 임계값을 5 이하로 설정


(4) 보안 설정 방법

# 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


no_magic_root : root 사용자에게 패스워드 잠금 설정을 적용하지 않음

deny=5 : 5회 입력 실패시 패스워드 잠금

unlock_time : 계정 잠김 후 마지막 계정 실패 시간부터 설정된 시간이 지나면 자동 계정 

  잠김 해제(단위 : 초)

reset : 접속 시도 성공 시 실패한 횟수 초기화


(5) 조치시 영향

Trusted Mode로 전환 시 파일시스템 구조가 변경되어 운영 중인 서비스에 문제가 발생할 수 있으므로 충분한 테스트를 거친 후 Trusted Mode로의 전환이 필요함.

 


( 고객에게 설정 )

xhydra 툴 과 같은 무작위 대입법이나 패스워드 추측 공격에 대해 자동화된 툴을 통해 공격하는 방법의 위험을 줄일 수 있다.


- 쉘 스크립트 

vi U-03.sh

 

 #!/bin/bash


. function.sh


BAR

CODE [U-03] 계정 잠금 임계값 설정

cat << EOF >> $RESULT

[양호]: 계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우

[취약]: 취약: 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되지 않은 경우

EOF

BAR


FILE1=/etc/pam.d/system-auth

PAM_MODULE=pam_tally.so

LINE1=`cat $FILE1 | egrep -v '(^#|^$)' | grep $PAM_MODULE`

if [ $? -ne 0 ] ; then

    WARN 계정 임계값이 설정되어 있지 않습니다.

else

    OK 계정 임계값이 설정되어 있습니다.

    LINE2=`echo $LINE1 | cut -d ' ' -f 4-`

    for VAR in `echo $LINE2`

    do

        FIRST=`echo $VAR | awk '{print $1}'`

        CHECK1=`echo $FIRST | awk -F= '{print $1}'`

        CHECK2=`echo $FIRST | awk -F= '{print $2}'`

        case $CHECK1 in

            deny) if [ $CHECK -lt 5 ] ; then

                      OK 계정임계값이 5이하로 설정되어 있습니다.

                  else

                      WARN 계정임계값이 5초과하여 설정되어 있습니다.

                  fi ;;

            *) ;;

        esac

        shift

    done

fi

cat $RESULT

echo; echo