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

这篇博客分享了针对Linux操作系统的基线检查脚本,特别是针对CentOS 6和7以及Ubuntu系列。主要内容来源于一篇网络转载,旨在帮助运维人员进行系统安全性检查。
摘要由CSDN通过智能技术生成

以下是centos7基线检查脚本:

  1 #!/bin/bash
  2 #version v1.0 by pensar
  3 #操作系统linux 配置规范--centos7
  4 cat <<EOF
  5 ***************************************************************
  6  linux安全配置检查脚本:
  7     1. 输出结果在/tmp/check/目录下查看
  8     2.检查范围及检查项(共计4大类,33项)
  9 *日志审计配置* 10     [1]检查Cron任务授权
 11     [2]检查是否对syslog登录事件记录
 12     [3]检查是否对rsyslog.conf配置审核
 13     [4]检查系统日志读写权限
 14     [5]检查是否对远程日志服务器配置    
 15 *系统文件管理* 16     [1]检查是否对登录超时时间配置
 17     [2]检查系统磁盘状态
 18     [3]检查是否禁止匿名FTP访问
 19     [4]检查是否修改FTP banner 信息
 20     [5]检查是否关闭不必要的服务
 21     [6]检查系统core dump状态
 22     [7]检查系统补丁    
 23 *用户账号配置* 24     [1]检查是否存在无用账号
 25     [2]检查不同用户是否共享账号
 26     [3]检查是否删除或锁定无用账号
 27     [4]检查是否存在无用用户组
 28     [5]检查是否指定用户组成员使用su命令
 29     [6]检查密码长度及复杂度策略
 30     [7]检查是否对用户远程登录进行限制
 31     [8]检查是否配置加密协议
 32     [9]检查是否配置密码的生存期
 33     [10]检查用户缺省访问权限
 34     [11]检查passwd group文件安全权限
 35     [12]检查是否存在除root之外UID为0的用户
 36     [13]检查是否配置环境变量
 37     [14]检查是否对远程连接的安全性进行配置
 38     [15]检查是否对用户的umask进行配置
 39     [16]检查是否对重要目录和文件的权限进行设置
 40     [17]检查是否存在未授权的suid/sgid文件
 41     [18]检查是否存在异常隐含文件    
 42 *网络通信配置* 43     [1]检查是否对基本网络服务进行配置
 44     [2]检查是否开启NFS服务
 45     [3]检查常规网络服务是否运行正常
 46 ***************************************************************
 47 EOF
 48 mkdir /tmp/check
 49 str1=`/sbin/ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}' | tr -d "addr:" | head -n 1`
 50 str=`date +%Y%m%d%H%M`_"$str1"
 51 
 52 echo "----**日志审计配置**----" >> /tmp/check/${str}_out.txt 
 53 echo "[1] 检查Cron任务授权" >> /tmp/check/${str}_out.txt 
 54 if [ -e /etc/cron.deny ] && [ -e /etc/at.deny ];then
 55     CRON_DENY=`ls -l /etc/cron.deny | awk '{print $1}'`
 56     AT_DENY=`ls -l /etc/at.deny | awk '{print $1}'`
 57     echo "/etc/cron.deny文件授权情况为:${CRON_DENY:1:9}" >> /tmp/check/${str}_out.txt 
 58     echo "/etc/at.deny文件授权情况为:${AT_DENY:1:9}" >> /tmp/check/${str}_out.txt 
 59     echo "{'Check_point':'检查Cron任务授权','Check_result':{'/etc/cron.deny文件授权情况为':'${CRON_DENY:1:9}','/etc/at.deny文件授权情况为':'${AT_DENY:1:9}'}}" >> /tmp/check/${str}_dict.txt 
 60     CRON=`cat /etc/rsyslog.conf | grep "cron.\*"`
 61     echo "/etc/rsyslog.conf的配置情况为:${CRON}" >> /tmp/check/${str}_out.txt 
 62 else
 63     echo "未找到/etc/cron.deny和/etc/at.deny配置文件" >> /tmp/check/${str}_out.txt 
 64 fi
 65 
 66 echo "----------------------------" >> /tmp/check/${str}_out.txt 
 67 echo "[2]检查是否对syslog登录事件记录" >> /tmp/check/${str}_out.txt 
 68 if [ -e /etc/syslog.conf ];then
 69     Clog=`cat /etc/syslog.conf | grep /var/log/secure | grep -E "authpriv\.\*"`
 70     echo "/etc/syslog.conf的配置为:${Clog}" >> /tmp/check/${str}_out.txt 
 71 else
 72     echo "未找到/etc/syslog.conf配置文件" >> /tmp/check/${str}_out.txt 
 73 fi
 74 
 75 echo "----------------------------" >> /tmp/check/${str}_out.txt 
 76 echo "[3]检查是否对rsyslog.conf配置审核" >> /tmp/check/${str}_out.txt 
 77 if [ -e /etc/rsyslog.conf ];then
 78     LOG=`cat /etc/rsyslog.conf | grep @loghost` 
 79     echo "rsyslog.conf文件的配置为${LOG}" >> /tmp/check/${str}_out.txt 
 80 else
 81     echo "未找到/etc/rsyslog.conf配置文件" >> /tmp/check/${str}_out.txt 
 82 fi
 83 
 84 echo "----------------------------" >> /tmp/check/${str}_out.txt 
 85 echo "[4]检查系统日志读写权限" >> /tmp/check/${str}_out.txt 
 86 if [ -e /var/log/messages ];then
 87     MESSAGES=`ls -l /var/log/messages | awk '{print $1}'`
 88     echo "/var/log/messages的文件权限为:${MESSAGES:1:9}" >> /tmp/check/${str}_out.txt 
 89 else
 90     echo "未找到/var/log/messages的文件" >> /tmp/check/${str}_out.txt 
 91 fi
 92 if [ -e /var/log/secure ];then
 93     SECURE=`ls -l /var/log/secure | awk '{print $1}'`
 94     echo "/var/log/secure 的文件权限为:${SECURE:1:9}" >> /tmp/check/${str}_out.txt 
 95 else
 96     echo "未找到/var/log/secure的文件" >> /tmp/check/${str}_out.txt 
 97 fi
 98 
 99 if [ -e /var/log/maillog ];then
100     MAILLOG=`ls -l /var/log/maillog | awk '{print $1}'`
101     echo "/var/log/maillog 的文件权限为:${MAILLOG:1:9}" >> /tmp/check/${str}_out.txt 
102 else
103     echo "未找到/var/log/maillog的文件" >> /tmp/check/${str}_out.txt 
104 fi
105 
106 if [ -e /var/log/cron ];then
107     CRON=`ls -l /var/log/cron | awk '{print $1}'`
108     echo "/var/log/cron 的文件权限为:${CRON:1:9}" >> /tmp/check/${str}_out.txt 
109 else
110     echo "未找到/var/log/cron的文件" >> /tmp/check/${str}_out.txt 
111 fi
112 if [ -e /var/log/spooler ];then
113     SPOOLER=`ls -l /var/log/spooler | awk '{print $1}'`
114     echo "/var/log/spooler 的文件权限为:${SPOOLER:1:9}" >> /tmp/check/${str}_out.txt 
115 else
116     echo "未找到/var/log/spooler的文件" >> /tmp/check/${str}_out.txt 
117 fi
118 
119 if [ -e /var/log/boot/log ];then
120     LOG=`ls -l /var/log/boot/log | awk '{print $1}'`
121     echo "/var/log/boot/log 的文件权限为:${LOG:1:9}" >> /tmp/check/${str}_out.txt 
122 else
123     echo "未找到/var/log/boot/log的文件" >> /tmp/check/${str}_out.txt 
124 fi
125 
126 echo "----------------------------" >> /tmp/check/${str}_out.txt 
127 echo "[5]检查是否对远程日志服务器配置" >> /tmp/check/${str}_out.txt 
128 if [ -e /etc/rsyslog.conf ];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值