服务器基线加固脚本_Suse 系统基线加固脚本-第一弹

最近写了一些操作系统加固的脚本,操作系统包括:Centos/RedHat、Ubuntu、Suse、Debian、Solaris,本文主要是Suse的脚本,后续更新其他操作系统的脚本

「听到内心」外面太吵,要学会听见自己内心的声音

话不多说,直接上代码吧。

脚本参数说明:

#!/bin/sh 指定执行脚本的shell类型

# file: /etc/profile 脚本修改涉及到的文件

# default: umask值大于等于027 修改内容的默认值

# return: result=SUCCESS/ENOSUPPORT 脚本返回的结果

# tested: centos5 centos7 unbuntu suse12 该脚本已经在这些系统上测试过

# baseline: 检查用户缺省UMASK 该脚本对应的检查项

检查口令策略设置是否符合复杂度要求

#!/bin/sh

# file: /etc/pam.d/system-auth /etc/pam.d/common-password [ todo /etc/pam.d/passwd]

# default: password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

# password requisite pam_cracklib.so try_first_pass retry=3

# return: result=SUCCESS/ENOSUPPORT

# tested: centos5 centos7 suse12

# baseline: 检查口令策略设置是否符合复杂度要求

# content: /etc/pam.d/system-auth文件中minclass大于等于2,minlen大于等于6

# write_config_file file_name key value type cmp

_write_pam_config_file_common()

{

file_name=$1

set_key=$2

set_value=$3

set_type=$4

vul_cmp=$5

curr_value=`cat $file_name|egrep -v "^#|^$"|grep -w "$set_key" --color=never|sed "s/^.*$set_key=//g"|sed 's/\s.*$//g'`

if [ ! -n "$curr_value" ]; then

echo "add "$set_key" to "$file_name

sed -i "s/\(.*$set_type\)\(.*\)$/\1 $set_key=$set_value\2/g" $file_name

else

if [ "$vul_cmp" == "lt" ]; then

if [ $curr_value -lt $set_value ]; then

echo $set_key" last = "$curr_value

echo "set "$set_key" to "$set_value

sed -i "s/\(.*$set_type.*\)$set_key=[0-9]*\(.*\)/\1$set_key=$set_value\2/g" $file_name

else

echo $set_key " last = "$curr_value " already fix"

fi

elif [ "$vul_cmp" == "gt" ]; then

if [ $curr_value -gt $set_value ]; then

echo $set_key" last = "$curr_value

echo "set "$set_key" to "$set_value

sed -i "s/\(.*$set_type.*\)$set_key=[0-9]*\(.*\)/\1$set_key=$set_value\2/g" $file_name

else

echo $set_key " last = "$curr_value " already fix"

fi

fi

fi

}

# _write_pam_config_file_cracklib_minclass conf_filename

_write_pam_config_file_cracklib_minclass()

{

file_name=$1

set_line=`grep "pam_cracklib.so" $file_name|grep --color=never "ucredit="`

if [ ! -n "$set_line" ]; then

echo "add ucredit to pam_cracklib.so file = "$file_name

sed -i 's/\(.*pam_cracklib.so\)\(.*\)$/\1 ucredit=-1\2/g' $file_name

else

echo "ucredit already set"

fi

set_line=`grep "pam_cracklib.so" $file_name|grep "--color=never dcredit="`

if [ ! -n "$set_line" ]; then

echo "add dcredit to pam_cracklib.so file = "$file_name

sed -i 's/\(.*pam_cracklib.so\)\(.*\)$/\1 dcredit=-1\2/g' $file_name

else

echo "dcredit already set"

fi

}

autofix()

{

fix_minlen=0

fix_minclass=0

FILE_LIST="/etc/pam.d/system-auth /etc/pam.d/common-password"

for conf_file in $FILE_LIST; do

echo "check "$conf_file

if [ -f $conf_file ]; then

echo "backup..."$conf_file

cp $conf_file $conf_file"_&

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一. 账号口令 1.1 检查是否已启用密码复杂性要求(低危) 1.2 检查是否已正确配置密码长度最小值(低危) 1.3 检查是否按组进行用户管理(低危) 1.4 检查是否按照权限、责任创建、使用用户账号(低危) 1.5 检查是否已正确配置“复位帐户锁定计数器”时间(低危) 1.6 检查是否已正确配置帐户锁定阈值(低危) 1.7 检查是否已删除或禁用高危帐户(低危) 1.8 检查是否已正确配置密码最长使用期限(低危) 1.9 检查是否已正确配置“强制密码历史”(低危) 1.10 检查是否已正确配置密码最短使用期限(低危) 1.11 域环境:检查是否已启用“域环境下禁止计算机帐户更改密码”策略(低危) 1.12 检查是否已更改管理员帐户名称(低危) 1.13 检查是否已正确配置帐户锁定时间(低危) 二. 认证授权 2.1 检查是否已限制可关闭系统的帐户和组(低危) 2.2 检查是否已限制可从远端关闭系统的帐户和组(低危) 2.3 检查是否已限制“取得文件或其它对象的所有权”的帐户和组(低危) 2.4 检查是否已正确配置“从网络访问此计算机”策略(低危) 2.5 检查是否已正确配置“允许本地登录”策略(低危) 2.6 检查是否已删除可远程访问的注册表路径和子路径(低危) 2.7 检查是否已限制匿名用户连接(低危) 2.8 检查是否已删除可匿名访问的共享和命名管道(低危) 三. 日志审计 3.1 检查是否已正确配置应用程序日志(低危) 3.2 检查是否已正确配置审核(日志记录)策略(低危) 3.3 检查是否已正确配置系统日志(低危) 3.4 检查是否已正确配置安全日志(低危) 四. 协议安全 4.1 检查是否已开启Windows防火墙(低危) 4.2 检查是否已启用TCP/IP筛选功能(低危) 4.3 检查是否已修改默认的远程桌面(RDP)服务端口(低危) 4.4 检查是否已禁用路由发现功能(低危) 4.5 检查是否已正确配置重传单独数据片段的次数(低危) 4.6 检查是否已启用并正确配置源路由攻击保护(低危) 4.7 检查是否已删除SNMP服务的默认public团体(低危) 4.8 检查是否已禁用失效网关检测(低危) 4.9 检查是否已启用并正确配置TCP碎片攻击保护(低危) 4.10 检查是否已启用并正确配置ICMP攻击保护(低危) 4.11 检查是否已正确配置TCP“连接存活时间”(低危) 4.12 检查是否已启用并正确配置SYN攻击保护(低危) 五. 其他安全 5.1 检查是否已关闭不必要的服务-Windows Internet Name Service (WINS)(高危) 5.2 检查是否已关闭不必要的服务-Remote Access Connection Manager(高危) 5.3 检查是否已禁止Windows自动登录(高危) 5.4 检查是否已关闭不必要的服务-Simple TCP/IP Services(高危) 5.5 检查是否已关闭不必要的服务-Simple Mail Transport Protocol (SMTP)(高危) 5.6 检查是否已关闭不必要的服务-DHCP Client(高危) 5.7 检查是否已关闭不必要的服务-Message Queuing(高危) 5.8 检查是否已关闭不必要的服务-DHCP Server(高危) 5.9 检查系统是否已安装最新补丁包和补丁(中危) 5.10 检查是否已安装防病毒软件(中危) 5.11 检查是否已禁用“登录时无须按 Ctrl+Alt+Del”策略(低危) 5.12 检查是否已创建多个磁盘分区(低危) 5.13 检查是否已启用并正确配置屏幕保护程序(低危) 5.14 检查是否已启用Windows数据执行保护(DEP)(低危) 5.15 检查是否已禁用Windows硬盘默认共享(低危) 5.16 检查磁盘分区是否都是NTFS文件系统(低危) 5.17 检查是否已关闭Windows自动播放(低危) 5.18 域环境:检查是否已正确配置域环境下安全通道数据的安全设置(低危) 5.19 域环境:检查是否已启用“域环境下需要强会话密钥”策略(低危) 5.20 域环境:检查是否已启用“需要域控制器身份验证以解锁工作站”策略(低危) 5.21 检查是否已正确配置“锁定会话时显示用户信息”策略(低危) 5.22 检查是否已启用“当登录时间用完时自动注销用户”策略(低危) 5.23 检查是否已正确配置“提示用户在密码过期之前进行更改”策略(低危) 5.24 检查是否已启用并正确配置Windows网络时间同步服务(NTP)(低危) 5.25 检查共享文件夹的权限设置是否安全(低危) 5.26 域环境:检查是否已正确配置“可被缓存保存的登录的个数”策略(低危) 5.27 检查是否已正确配置服务器在暂停会话前所需的空闲时间量(低危) 5.28 检查是否已启用“不显示最后的用户名”策略(低危) 5.29 检查是否已启用并正确配置Windows自动更新(低危)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值