정보보안과정(38)
-
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 -
패스워드 복잡성 취약점 진단
#!/bin/bash . function.sh # function.sh를 포함 TMP1=`SCRIPTNAME`.log > $TMP1 # 없으면 생성 BAR CODE [U-02] 패스워드 복잡성 검사 cat $RESULT [양호]: 영문 숫자 특수문자가 혼합된 8 글자 이상의 패스워드가 설정된 경우. [취약]: 영문 숫자 특수문자 혼합되지 않은 8 글자 미만의 패스워드가 설정된 경우. EOF BAR INFO $TMP1 패스워드 복잡성 검사는 고객과 상의해야 합니다. INFO $TMP1 파일을 점검한다. cat $TMP1 1. 컨설팅시 참고하세요. ======================================================================= * 암호의 최소 길이는 8글자 이..
2020.04.06 -
원격접속서비스 취약점 진단
#!/bin/bash . function.sh BAR CODE [U-01] root 계정 원격 접속 제한 cat $RESULT [양호]: 원격 서비스를 사용하지 않거나 사용시 직접 접속을 차단한 경우 [취약]: root 직접 접속을 허용하고 원격 서비스를 사용하는 경우 EOF BAR # STATUS1: active|inactive STATUS1=`systemctl is-active telnet.socket` echo $STATUS1 # STATUS2: enabled|disabled STATUS2=`systemctl is-enabled telnet.socket` echo $STATUS2 if [ $STATUS1 = 'inactive' ]; then OK 원격 서비스가 활성화 되어 있지 않습니다. else ..
2020.04.06