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/c23_vsftpSecure
#!/bin/sh

#=======================================================
InsertSection "check the vsftp configuration"


if [ -f /etc/vsftpd/vsftpd.conf ];then
    cp -np /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

    #-----------------check anonymous_enable=NO------------------
    #sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf

    IS_EXIST=`grep -i '^anonymous_enable=NO' /etc/vsftpd/vsftpd.conf | wc -l`
    if [ $IS_EXIST -gt 0 ];then
        logtext  "The vsftpd's anonymous_enable is NO, check OK"
        Display --indent 2 --text "- Check vsftpd anonymous_enable setting... " --result OK --color GREEN
        AddHP 1 1
    else
        echo "c23 anonymous_enable" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C23_01: $(loadtext TXT_WRN_C23_01)"
        logtext "Suggestion: $(loadtext TXT_SUG_C23_01)"
        Display --indent 2 --text "- Check vsftpd anonymous_enable setting... " --result WARNING --color RED
        Display --indent 2 --text "anonymous_enable is not set to 'NO', check warning"
        AddHP 0 1

    fi

    #-----------------check vsftp banner------------------
    IS_EXIST=`grep -Ev '^$|^#' /etc/vsftpd/vsftpd.conf | grep ftpd_banner | wc -l`
    if [ ${IS_EXIST} -gt 0 ];then
        logtext "has ftpd_banner set, passing..."
        Display --indent 2 --text "- Check vsftpd ftp_banner setting... " --result OK --color GREEN
        AddHP 1 1
    else
        echo "c23 ftp_banner" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C23_02: $(loadtext TXT_WRN_C23_02)"
        logtext "Suggestion: $(loadtext TXT_SUG_C23_02)"
        Display --indent 2 --text "- Check vsftpd ftp_banner setting... " --result WARNING --color RED
        Display --indent 2 --text "ftp_banner is not set , check warning"
        AddHP 0 1
        #echo  "" >> /etc/vsftpd/vsftpd.conf
        #echo -e "ftpd_banner=\"ATTENTION:You have logged onto a secured server..All accesses logged.\"" >> /etc/vsftpd/vsftpd.conf
    fi

    #-----------------check user ftp login------------------
    #sed -i 's/^userlist_enable=.*/userlist_enable=YES/' /etc/vsftpd/vsftpd.conf

    IS_EXIST=`grep -i '^userlist_enable=YES' /etc/vsftpd/vsftpd.conf | wc -l`
    if [ $IS_EXIST -gt 0 ];then
        logtext  "The vsftpd's userlist_enable is YES, check OK"
        Display --indent 2 --text "- Check vsftpd userlist_enable setting... " --result OK --color GREEN
        AddHP 1 1
    else
        echo "c23 anonymous_enable" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C23_03: $(loadtext TXT_WRN_C23_03)"
        logtext "Suggestion: $(loadtext TXT_SUG_C23_03)"
        Display --indent 2 --text "- Check vsftpd userlist_enable setting... " --result WARNING --color RED
        Display --indent 2 --text "userlist_enable is not set to 'YES', check warning"
        AddHP 0 1

    fi

    #-----------------restrict user ftp login------------------
    IS_EXIST=`grep -Ev '^$|^#' /etc/vsftpd/ftpusers | grep root | wc -l`
    if [ ${IS_EXIST} -gt 0 ];then
        logtext "The ftpusers config file contains user:root set, check ok..."
        Display --indent 2 --text "- Check vsftpd ftpusers setting... " --result OK --color GREEN
        AddHP 1 1
    else
        echo "c23 ftpusers" >> $RESULT_FILE
        echo "" >> $RESULT_FILE
        logtext "WRN_C23_04: $(loadtext TXT_WRN_C23_04)"
        logtext "Suggestion: $(loadtext TXT_SUG_C23_04)"
        Display --indent 2 --text "- Check vsftpd ftpusers setting... " --result WARNING --color RED
        Display --indent 2 --text "userlist_enable is not set to 'YES', check warning"
        AddHP 0 1
        #echo  "" >> /etc/vsftpd/ftpusers
        #echo -e "root" >> /etc/vsftpd/ftpusers
        #此文件用于保存不允许进行FTP登录的本地用户帐号。就是vsftp用户的黑名单,此文件可在/etc/pam.d/vsftpd中指定
    fi

else
    logtext  "/etc/vsftpd/vsftpd.conf not found, or it does not installed"
    Display --indent 2 --text "- No vsftpd.conf found, maybe vsftp not installed, ... " --result SKIPPED --color YELLOW
    AddHP 1 1
fi