HEX
Server: nginx/1.16.1
System: Linux ecs-04358622 4.19.90-2107.6.0.0100.oe1.bclinux.x86_64 #1 SMP Wed Dec 1 19:59:44 CST 2021 x86_64
User: nginx (994)
PHP: 8.0.0
Disabled: NONE
Upload Files
File: //opt/BCLinux/bse/secure_check/c09_loginDefs
#!/bin/sh

#=======================================================
InsertSection "check the PASS_MAX_DAYS set in /etc/login.defs"

IS_EXIST=`cat /etc/login.defs | grep -w "PASS_MAX_DAYS"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
    Display --indent 2 --text "- PASS_MAX_DAYS value is unset... " --result WARNING --color RED
    AddHP 0 1
fi

cat /etc/login.defs |grep -w "PASS_MAX_DAYS" | grep -v "#" | awk -F " " '{print $2}' |while read count
do

    if [ -z $count ];then
        Display --indent 2 --text "- PASS_MAX_DAYS value is unset... " --result WARNING --color RED
        AddHP 0 1
    elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
        if [ $count -gt 90 ];then
            #tips="密码最大有效期限为90天未正确设置";
            #echo "$S4:$tips"
            echo "c09" >> $RESULT_FILE
            echo "" >> $RESULT_FILE
            logtext "WRN_C09_01: $(loadtext TXT_WRN_C09_01)"
            logtext "Suggestion: $(loadtext TXT_SUG_C09_01)"
            Display --indent 2 --text "- PASS_MAX_DAYS value is not safe... " --result WARNING --color RED
            AddHP 0 1
        else
            logtext "PASS_MAX_DAYS value is safe, checking ok"
            Display --indent 2 --text "- Check the PASS_MAX_DAYS value... " --result OK --color GREEN
            AddHP 1 1
        fi
    else
         logtext "PASS_MAX_DAYS value is invalid"
         echo "c09" >> $RESULT_FILE
         echo "" >> $RESULT_FILE
         logtext "WRN_C09_02: $(loadtext TXT_WRN_C09_02)"
         logtext "Suggestion: $(loadtext TXT_SUG_C09_02)"
         Display --indent 2 --text "- PASS_MAX_DAYS value is invalid... " --result WARNING --color RED
         AddHP 0 1
    fi

done


#=======================================================
InsertSection "check the PASS_MIN_DAYS set in /etc/login.defs"

IS_EXIST=`cat /etc/login.defs | grep -w "PASS_MIN_DAYS"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
    echo "c09" >> $RESULT_FILE
    echo "" >> $RESULT_FILE
    logtext "WRN_C09_03: $(loadtext TXT_WRN_C09_03)"
    logtext "Suggestion: $(loadtext TXT_SUG_C09_03)"
    Display --indent 2 --text "- PASS_MIN_DAYS value is unset... " --result WARNING --color RED
    AddHP 0 1

else

    cat /etc/login.defs |grep -w "PASS_MIN_DAYS" | grep -v "#" | awk -F " " '{print $2}' |while read count
    do

        if [ -z $count ];then
            Display --indent 2 --text "- PASS_MIN_DAYS value is unset... " --result WARNING --color RED
            AddHP 0 1
        elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
            if [ $count -lt 6 ];then
                #tips="密码最小间隔期限为6天未正确设置";
                #echo "$S4:$tips"
                echo "c09" >> $RESULT_FILE
                echo "" >> $RESULT_FILE
                logtext "WRN_C09_04: $(loadtext TXT_WRN_C09_04)"
                logtext "Suggestion: $(loadtext TXT_SUG_C09_04)"
                Display --indent 2 --text "- PASS_MIN_DAYS value is not safe... " --result WARNING --color RED
                AddHP 0 1
            else
                logtext "PASS_MIN_DAYS value is safe, checking ok"
                Display --indent 2 --text "- Check the PASS_MIN_DAYS value... " --result OK --color GREEN
                AddHP 1 1
            fi
        else
             logtext "PASS_MIN_DAYS value is invalid"
             echo "c09" >> $RESULT_FILE
             echo "" >> $RESULT_FILE
             logtext "WRN_C09_05: $(loadtext TXT_WRN_C09_05)"
             logtext "Suggestion: $(loadtext TXT_SUG_C09_05)"
             Display --indent 2 --text "- PASS_MIN_DAYS value is invalid... " --result WARNING --color RED
             AddHP 0 1
        fi

    done


fi

#=======================================================
InsertSection "check the PASS_MIN_LEN set in /etc/login.defs"

IS_EXIST=`cat /etc/login.defs | grep -w "PASS_MIN_LEN"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
    echo "c09" >> $RESULT_FILE
    echo "" >> $RESULT_FILE
    logtext "WRN_C09_06: $(loadtext TXT_WRN_C09_06)"
    logtext "Suggestion: $(loadtext TXT_SUG_C09_06)"

    Display --indent 2 --text "- PASS_MIN_LEN value is unset... " --result WARNING --color RED
    AddHP 0 1
fi

cat /etc/login.defs |grep -w "PASS_MIN_LEN" | grep -v "#" | awk -F " " '{print $2}' |while read count
do

if [ -z $count ];then
    echo "c09" >> $RESULT_FILE
    echo "" >> $RESULT_FILE
    logtext "WRN_C09_07: $loadtext TXT_WRN_C09_07)"
    logtext "Suggestion: $(loadtext TXT_SUG_C09_07)"
    Display --indent 2 --text "- PASS_MIN_LEN value is unset... " --result WARNING --color RED
    AddHP 0 1
elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
    if [ $count -lt 8 ];then
        echo "c09" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C09_08: $(loadtext TXT_WRN_C09_08)"
        logtext "Suggestion: $(loadtext TXT_SUG_C09_08)"
        Display --indent 2 --text "- PASS_MIN_LEN value is not safe... " --result WARNING --color RED
        AddHP 0 1
    else
        logtext "PASS_MIN_LEN value is safe, checking ok"
        Display --indent 2 --text "- Check the PASS_MIN_LEN value... " --result OK --color GREEN
        AddHP 1 1
    fi
else
    echo "c09" >> $RESULT_FILE
    echo "" >> $RESULT_FILE
    logtext "WRN_C09_09: $(loadtext TXT_WRN_C09_09)"
    logtext "Suggestion: $(loadtext TXT_SUG_C09_09)"
    logtext "PASS_MIN_LEN value is invalid"
    Display --indent 2 --text "- PASS_MIN_LEN value is invalid... " --result WARNING --color RED
    AddHP 0 1
fi

done


#=======================================================
InsertSection "check the PASS_WARN_AGE set in /etc/login.defs"

IS_EXIST=`cat /etc/login.defs | grep -w "PASS_WARN_AGE"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
    echo "c09" >> $RESULT_FILE
    echo "" >> $RESULT_FILE
    logtext "WRN_C09_10: $(loadtext TXT_WRN_C09_10)"
    logtext "Suggestion: $(loadtext TXT_SUG_C09_10)"

    Display --indent 2 --text "- PASS_WARN_AGE value is unset... " --result WARNING --color RED
    AddHP 0 1
else

    cat /etc/login.defs |grep -w "PASS_WARN_AGE" | grep -v "#" | awk -F " " '{print $2}' |while read count
    do

    if [ -z $count ];then
        echo "c09" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C09_11: $(loadtext TXT_WRN_C09_11)"
        logtext "Suggestion: $(loadtext TXT_SUG_C09_11)"
        Display --indent 2 --text "- PASS_WARN_AGE value is unset... " --result WARNING --color RED
        AddHP 0 1
    elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
        if [ $count -lt 30 ];then
            echo "c09" >> $RESULT_FILE
            echo "" >> $RESULT_FILE
            logtext "WRN_C09_12: $(loadtext TXT_WRN_C09_12)"
            logtext "Suggestion: $(loadtext TXT_SUG_C09_12)"
            Display --indent 2 --text "- PASS_WARN_AGE value is not safe... " --result WARNING --color RED
            AddHP 0 1
        else
            logtext "PASS_WARN_AGE value is safe, checking ok"
            Display --indent 2 --text "- Check the PASS_WARN_AGE value... " --result OK --color GREEN
            AddHP 1 1
        fi
    else
        echo "c09" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C09_13: $(loadtext TXT_WRN_C09_13)"
        logtext "Suggestion: $(loadtext TXT_SUG_C09_13)"
        logtext "PASS_WARN_AGE value is invalid"
        Display --indent 2 --text "- PASS_WARN_AGE value is invalid... " --result WARNING --color RED
        AddHP 0 1
    fi

    done
fi