• linux安全配置检查脚本_v0.5


    看到网上有人分享了一些linux系统的基线检查脚本,但有些检查项未必适合自己或者说检查的不够完善,

    计划按着自己的需求重新写一份出来,其中脚本的检查范围在不断更新中。

    脚本内容:

    [root@localhost ~]# cat check.sh 
    #! /bin/bash
    cat <<EOF
    *************************************************************************
     linux安全配置检查脚本:
        1. 输出结果也可以在当前目录的out.txt中查看
        2. 检查范围:
           -》账号策略检查
           -》账号注销检查
           -》GRUB密码检查
           -》LILO密码检查
    
    *************************************************************************
    EOF
    
    rm -rf ./out.txt
    echo -e  "
    "
    echo "[1] 账号策略检查中..."
    
    passmax=`cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v ^# | awk '{print $2}'`
    passmin=`cat /etc/login.defs | grep PASS_MIN_DAYS | grep -v ^# | awk '{print $2}'`
    passlen=`cat /etc/login.defs | grep PASS_MIN_LEN | grep -v ^# | awk '{print $2}'`
    passage=`cat /etc/login.defs | grep PASS_WARN_AGE | grep -v ^# | awk '{print $2}'`
    
     if [ $passmax -le 90 -a $passmax -gt 0 ];then
       echo "  [OK]口令生存周期为${passmax}天,符合要求" >> out.txt
     else
       echo "  [ X ] 口令生存周期为${passmax}天,不符合要求,建议设置不大于90天" >> out.txt
     fi
    
    
     if [ $passmin -ge 6 ];then
       echo "  [OK]口令更改最小时间间隔为${passmin}天,符合要求" >> out.txt
     else
       echo "  [ X ] 口令更改最小时间间隔为${passmin}天,不符合要求,建议设置大于等于6天" >> out.txt
     fi
    
    
     if [ $passlen -ge 8 ];then
       echo "  [OK]口令最小长度为${passlen},符合要求" >> out.txt
     else
       echo "  [ X ] 口令最小长度为${passlen},不符合要求,建议设置最小长度大于等于8" >> out.txt
     fi
    
    
     if [ $passage -ge 30 -a $passage -lt $passmax ];then
       echo "  [OK]口令过期警告时间天数为${passage},符合要求" >> out.txt
     else
       echo "  [ X ] 口令过期警告时间天数为${passage},不符合要求,建议设置大于等于30并小于口令生存周期" >> out.txt
     fi
    echo "..."
    echo 'check over'
    
    echo -e "
    "
    echo "[2] 账号注销检查中..."
    
    TMOUT=`cat /etc/profile | grep TMOUT | awk -F[=] '{print $2}'`
    
    if [ ! $TMOUT ];then
            echo "  [ X ] 账号超时不存在自动注销,不符合要求,建议设置小于600秒" >> out.txt
    else
            if [ $TMOUT -le 600 -a $TMOUT -ge 10 ] ; then
                    echo "  [ √ ] 账号超时时间${TMOUT}秒,符合要求" >> out.txt
            else
                    echo "  [ X ] 账号超时时间$TMOUT秒,不符合要求,建议设置小于600秒" >> out.txt
            fi
    fi
    echo "..."
    echo 'check over'
    echo -e "
    "
    echo "[3] GRUB密码检查中..."
    
    grup_pwd=`cat /etc/grub.conf | grep -v ^# | grep password 2> /dev/null`
    
    if [ $? -eq 0 ];then
       echo "  [ √ ] 已设置grub密码,符合要求" >> out.txt
    else
       echo "  [ X ] 没有设置grub密码,不符合要求,建议设置grub密码" >> out.txt
    fi
    
    echo "..."
    echo "check over"
    echo -e "
    "
    echo "[4] LILO密码检查中..."
    
    if [ ! -f /etc/lilo.conf ] ; then
           echo "  [ √ ] lilo.conf配置文件不存在,系统可能不是通过LILO引导" >> out.txt
    else
           lilo_pwd=`cat /etc/lilo.conf | grep -v ^# | grep password &> /dev/null`
           if [ $? -eq 0 ];then
                   echo "  [ √ ] 已设置lilo密码,符合要求" >> out.txt
           else
                   echo "  [ X ] 没有设置lilo密码,不符合要求,建议设置lilo密码" >> out.txt
           fi
    fi
    echo "..."
    echo "check over"
    echo -e ""
    
    
    ## 详细过滤脚本 待更新中...##
    
    
    echo -e "
    "
    echo "--------------------------------------------------------------------------"
    echo ""
    echo "检查结果:"
    echo ""
    cat ./out.txt
    echo ""
    echo "--------------------------------------------------------------------------"
    echo ""
    [root@localhost ~]# 

    执行效果:

     from

  • 相关阅读:
    JPA设置表名和实体名,表字段与实体字段的对应
    mysql5.7下面windows平台大小写敏感
    安装MySQL最后一步出现错误Error Nr.1045解决方法
    thymeleaf 引入js css 无效
    Intellij IDEA社区版打包Maven项目成war包,并部署到tomcat上
    java.sql.SQLException: Field 'id' doesn't have a default value解决方案
    spring mvc出现 Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'endtime'
    Spring Boot:Exception parsing document: template="index", line 7
    在线支付接口开发总结
    创业
  • 原文地址:https://www.cnblogs.com/tdcqma/p/6724300.html
Copyright © 2020-2023  润新知