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

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

脚本内容:

  1. [root@localhost ~]# cat check.sh
  2. #! /bin/bash
  3. cat <<EOF
  4. *************************************************************************
  5. linux安全配置检查脚本:
  6. . 输出结果也可以在当前目录的out.txt中查看
  7. . 检查范围:
  8. -》账号策略检查
  9. -》账号注销检查
  10. -》GRUB密码检查
  11. -》LILO密码检查
  12.  
  13. *************************************************************************
  14. EOF
  15.  
  16. rm -rf ./out.txt
  17. echo -e "\n"
  18. echo "[1] 账号策略检查中..."
  19.  
  20. passmax=`cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v ^# | awk '{print $2}'`
  21. passmin=`cat /etc/login.defs | grep PASS_MIN_DAYS | grep -v ^# | awk '{print $2}'`
  22. passlen=`cat /etc/login.defs | grep PASS_MIN_LEN | grep -v ^# | awk '{print $2}'`
  23. passage=`cat /etc/login.defs | grep PASS_WARN_AGE | grep -v ^# | awk '{print $2}'`
  24.  
  25. if [ $passmax -le -a $passmax -gt ];then
  26. echo " [OK]口令生存周期为${passmax}天,符合要求" >> out.txt
  27. else
  28. echo " [ X ] 口令生存周期为${passmax}天,不符合要求,建议设置不大于90天" >> out.txt
  29. fi
  30.  
  31. if [ $passmin -ge ];then
  32. echo " [OK]口令更改最小时间间隔为${passmin}天,符合要求" >> out.txt
  33. else
  34. echo " [ X ] 口令更改最小时间间隔为${passmin}天,不符合要求,建议设置大于等于6天" >> out.txt
  35. fi
  36.  
  37. if [ $passlen -ge ];then
  38. echo " [OK]口令最小长度为${passlen},符合要求" >> out.txt
  39. else
  40. echo " [ X ] 口令最小长度为${passlen},不符合要求,建议设置最小长度大于等于8" >> out.txt
  41. fi
  42.  
  43. if [ $passage -ge -a $passage -lt $passmax ];then
  44. echo " [OK]口令过期警告时间天数为${passage},符合要求" >> out.txt
  45. else
  46. echo " [ X ] 口令过期警告时间天数为${passage},不符合要求,建议设置大于等于30并小于口令生存周期" >> out.txt
  47. fi
  48. echo "..."
  49. echo 'check over'
  50.  
  51. echo -e "\n"
  52. echo "[2] 账号注销检查中..."
  53.  
  54. TMOUT=`cat /etc/profile | grep TMOUT | awk -F[=] '{print $2}'`
  55.  
  56. if [ ! $TMOUT ];then
  57. echo " [ X ] 账号超时不存在自动注销,不符合要求,建议设置小于600秒" >> out.txt
  58. else
  59. if [ $TMOUT -le -a $TMOUT -ge ] ; then
  60. echo " [ √ ] 账号超时时间${TMOUT}秒,符合要求" >> out.txt
  61. else
  62. echo " [ X ] 账号超时时间$TMOUT秒,不符合要求,建议设置小于600秒" >> out.txt
  63. fi
  64. fi
  65. echo "..."
  66. echo 'check over'
  67. echo -e "\n"
  68. echo "[3] GRUB密码检查中..."
  69.  
  70. grup_pwd=`cat /etc/grub.conf | grep -v ^# | grep password > /dev/null`
  71.  
  72. if [ $? -eq ];then
  73. echo " [ √ ] 已设置grub密码,符合要求" >> out.txt
  74. else
  75. echo " [ X ] 没有设置grub密码,不符合要求,建议设置grub密码" >> out.txt
  76. fi
  77.  
  78. echo "..."
  79. echo "check over"
  80. echo -e "\n"
  81. echo "[4] LILO密码检查中..."
  82.  
  83. if [ ! -f /etc/lilo.conf ] ; then
  84. echo " [ √ ] lilo.conf配置文件不存在,系统可能不是通过LILO引导" >> out.txt
  85. else
  86. lilo_pwd=`cat /etc/lilo.conf | grep -v ^# | grep password &> /dev/null`
  87. if [ $? -eq ];then
  88. echo " [ √ ] 已设置lilo密码,符合要求" >> out.txt
  89. else
  90. echo " [ X ] 没有设置lilo密码,不符合要求,建议设置lilo密码" >> out.txt
  91. fi
  92. fi
  93. echo "..."
  94. echo "check over"
  95. echo -e ""
  96.  
  97. ## 详细过滤脚本 待更新中...##
  98.  
  99. echo -e "\n"
  100. echo "--------------------------------------------------------------------------"
  101. echo ""
  102. echo "检查结果:"
  103. echo ""
  104. cat ./out.txt
  105. echo ""
  106. echo "--------------------------------------------------------------------------"
  107. echo ""
  108. [root@localhost ~]#

执行效果:

from

linux安全配置检查脚本_v0.5的更多相关文章

  1. linux安全配置检查脚本_v0.8

    脚本环境:RHEL6.* 脚本说明:该脚本作用为纯执行检测不涉及更改配置等操作,与直接上来就改安全配置等基线脚本相比相对安全一些.虽然如此,在你执行该脚本之前仍然建议你备份或快照一下目标系统. 代码部 ...

  2. Linux安全基线检查脚本

    基线检查内容: 一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在配置要求:1.系统需按照实际用户分配账号; 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享.操作指南 ...

  3. 服务端测试环境hosts配置检查脚本

    [本文出自天外归云的博客园] 问题 由于A测试环境和B测试环境相互耦合,B测试环境切换导致我方测试环境需要更改后台服务器的响应配置.若多台服务器中有一台服务器没有更改配置,则在测试过程中将会出现问题. ...

  4. linux系统健康检查脚本

    #!/bin/bash echo "You are logged in as `whoami`"; if [ `whoami` != root ]; then echo " ...

  5. linux 安装配置kafka脚本

    安装脚本 #!/bin/bash # auto install kafka echo "========= Start to install kafka ==============&quo ...

  6. Linux CPU 核数检查脚本

    #!/bin/bash physicalNumber=0 coreNumber=0 logicalNumber=0 HTNumber=0 logicalNumber=$(grep "proc ...

  7. linux 安装配置zookeeper脚本

    #!/bin/bash # automatic install zookeeper echo "========= Start to install zookeeper ========== ...

  8. linux安装配置JDK脚本

    #!/bin/bash # install jdk and configuring environment variables function installjdk(){ tar -zxf jdk- ...

  9. linux各版本基线检查脚本(centos6、centos7、ubuntu系列)

    以下是centos7基线检查脚本: #!/bin/bash #version v1. by pensar #操作系统linux 配置规范--centos7 cat <<EOF ****** ...

随机推荐

  1. Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)

    Ardour 是一个Linux和OSX下的多音轨录制和数字音频编辑软件. 需要配合ALSA或者JACK总线使用. 快速入门 http://brunoruviaro.github.io/ardour4- ...

  2. mysql: SELECT ... FOR UPDATE 对SELECT语句的阻塞实验

    开两个连接A, B, 分别执行以下三个sql start 和 start ; 在A执行完1和2后, B执行1, 正常B执行2, 立即返回B执行3, 这时候被阻塞了 A执行3后, B的3立即返回 可以得 ...

  3. ios中MKHorizMenu用法

    下载地址 https://github.com/MugunthKumar/MKHorizMenuDemo直接 加入MKHorizMenu目录即可 下载包地址 http://pan.baidu.com/ ...

  4. samba服务的高级进阶配置

    本文将学习一下几个方面的内容,将会结合具体的实验来一步步实现. 1. 用户账号的映射 2. 使用IP对客户端进行访问控制 3. 使用域名对客户端进行访问控制 4. 使用通配符对客户端进行访问控制 5. ...

  5. hihocoder第226周:打表找规律

    题目列表 问题描述 有一个文本框,可以执行以下操作: 输入A Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 N次操作最多能够造出多少个A来? 输入一个N,输出一个整数,表示最多有多少个A ...

  6. Pycharm 中添加第三方库和插件

    在 PyCharm 中选择:File — Settings — 进入如下界面,点击 右上角的 “+” 可以添加其他库: 选择到相应的库,并 Install Package 即可:

  7. Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记

    Contents OverView Static Analyzer Localizability Instance Cleanup Nullablility Runtime Issue View De ...

  8. ML之监督学习算法之分类算法一 ——— 决策树算法

    一.概述 决策树(decision tree)的一个重要任务是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,在这些机器根据数据创建规则时,就是机器学习的过程. ...

  9. bootstrap fileinput 文件上传

    最近因为项目需要研究了下bootstrap fileinput的使用,来记录下这几天的使用心得吧. 前台html页面的代码 <form role="form" id=&quo ...

  10. Fastjson是一个Java语言编写的高性能功能完善的JSON库。

    简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...