정보보안과정/인프라 취약점 진단(8)
-
패스워드 최대 사용기간 설정
U-08 #!/bin/bash . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [U-08] 패스워드 최대 사용기간 설정 cat $RESULT [양호]: 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있는 경우 [취약]: 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있지 않는 경우 EOF BAR LOGINDEFSFILE=/etc/login.defs SEARCHVALUE=PASS_MAX_DAYS NUM=$(SearchValue VALUE $LOGINDEFSFILE $SEARCHVALUE) if [ $NUM -le 90 ] ; then OK "패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있습니다." else WARN "패스워드 ..
2020.04.16 -
패스워드 최소 길이 설정
U-07 #!/bin/bash . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 TMP2=$(mktemp) BAR CODE [U-07] 패스워드 최소 길이 설정 cat $RESULT [양호]: 암호의 최소 길이가 8글자 이상 [취약]: 암호의 최소 길이가 7글자 미만 EOF BAR LOGINDEFSFILE=/etc/login.defs grep PASS_MIN_LEN $LOGINDEFSFILE | egrep -v '^#|^$' >> $TMP2 NUM=$(cat $TMP2 | awk '{print $2}') if [ $NUM -ge 7 ] ; then OK 암호의 최소 길이가 8글자 이상입니다. else WARN 암호의 최소 길이가 7글자 이하입니다. INFO $TMP1 파일을 ..
2020.04.16 -
root 계정 su 제한 취약점 진단
U-06.sh #!/bin/bash . function.sh BAR CODE [U-06] root 계정 su 제한 cat $RESULT [양호]: su 명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우 [취약]: su 명령어를 모든 사용자가 사용하도록 설정되어 있는 경우 EOF BAR PAM_FILE=/etc/pam.d/su PAM_MODULE = pam_wheel.so GROUPFILE=/etc/group egrep -v '^#|^$' $PAM_FILE | grep -q $PAM_MODULE if [ $? -eq 0 ] ; then OK $PAM_MODULE 설정이 되어 있습니다. if grep -q wheel $GROUPFILE; then OK wheel 그룹이 존재합니다. else ..
2020.04.06 -
root 이외의 UID '0' 인 것 취약점 진단
U-05.sh #!/bin/bash . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [U-05] root 이외의 UID가 '0' 금지 cat $RESULT [양호]: root 계정과 동일한 UID를 갖는 계정이 존재하지 않는 경우 [취약]: root 계정과 동일한 UID를 갖는 계정이 존재하는 경우 EOF BAR # PASSFILE=/etc/passwd PASSFILE=passwd awk -F: '$3 == "0" {print $1 " : " $3}' $PASSFILE >> $TMP1 UIDZEROCNT=$(wc -l
2020.04.06 -
패스워드 파일 보호 취약점 진단
U-04.sh #!/bin/bash . function.sh BAR CODE [U-04] 패스워드 파일 보호 cat $RESULT [양호]: 쉐도우 패스워드를 사용하거나, 패스워드를 암호화하여 저장하는 경우 [취약]: 쉐도우 패스워드를 사용하지 않고, 패스워드를 암호화하여 저장하지 않는 경우 EOF BAR STATUS1=FALSE STATUS2=FALSE CheckIsEncrypted() { grep '^root' $1 | awk -F: '{print $2}' | egrep -q '^\$1\$|^\$2a\$|^\$5\$|^\$6\$' if [ $? -eq 0 ] ; then OK $1 파일안에 암호화가 되어 있습니다. STATUS1=TRUE else WARN $1 파일안에 암호화가 되어 있지 않습니다. ..
2020.04.06 -
계정 잠금 임계값 취약점 진단
#!/bin/bash . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [U-03] 계정 잠금 임계값 설정 cat $RESULT [양호]: 계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우 [취약]: 취약: 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되지 않은 경우 EOF BAR SYSTEMAUTHFILE=/etc/pam.d/system-auth PASSWORDAUTHFILE=/etc/pam.d/password-auth PAM_TALLY2=pam_tally2.so PAM_FAILLOCK=pam_faillock.so STATUS1='FALSE' STATUS2='FALSE' LINE1=$(egrep -v '^$|^#' $SYSTEMAU..
2020.04.06