当前位置: 首页 > Linux

Linux系统检测保护脚本

时间:2023-04-06 11:17:55 Linux

1.方便通过检测脚本直接将服务器安全情况输出到txt文件,同时方便排查安全隐患。2.缩短安全检查和保护时间,提高安全检查和保护效率github地址https://github.com/xiaoyunjie/Shell_Script.git1.Linux检测脚本1.1,文件压缩包包含2个文件:CentOS_Check_Script.sh:脚本文件README.txt:说明文件Linux检测脚本:Check_script.sh1.2,操作说明执行CentOS_Check_Script.sh脚本文件进行检查,体检生成的每个文件都是唯一的,命令格式如下:sudoshCentOS_Check_Script.sh|teecheck_`date+%Y%m%d_%H%M%S`.txt1.3.脚本介绍根据三级防护要求,编写一键巡检脚本。本脚本只适用于linux分支的redhat和centos。运行脚本将结果输出到自定义文件,脚本结果需要管理员手动检查,脚本结果中有相应的提示是否检测内容需要修正。1.4.脚本检测内容警告:该脚本只是检查操作,未对服务器进行任何修改,管理员可根据此报告进行相应的安全整改。需要调整]2、Linux加固脚本2.1、脚本文件CentOS_Protective_Script.sh:脚本文件README.txt:描述文件Linux加固脚本文件:Protective_Script.sh2.2、脚本操作说明执行CentOS_Protective_Script.sh脚本文件进行加固,命令格式如下sudoshCentOS_Protective_Script.sh执行完成后,请按照脚本提示重启相应的服务。如果不知道ostype,请不要继续执行2.3。脚本介绍一键加固脚本为Linux系统提供基础的安全加固,包括以下加固:密码复杂度:修改密码重试3次。新密码必须有3个不同于旧密码的字符。密码最小长度为12个字符,包括至少1个大写字母、至少1个小写字母、至少1个数字、至少1个特殊字符。新增管理员账户:不再直接使用root账户,而是添加一个管理员账户eproot,用于执行命令和远程登录。远程登录账号设置:限制root账号远程登录账号登录安全设置:配置系统历史命令操作记录和定时账号自动注销时间远程登录端口设置:修改默认SSH端口账号登录失败处理:限制3次登录失败,普通账号锁定5分钟,root账户被锁定5分钟系统配置文件备份与恢复:当脚本第一次执行时,系统配置会保存在脚本所在目录下的backup目录中,这样就可以了可以在以后需要恢复配置时使用。再次运行脚本时,除非删除原始备份目录,否则不会进行进一步的备份。2.3.1.简介首次运行该脚本时,会检测当前系统类型,并备份重要的系统配置文件,包括system-auth、authorized_keys、sshd、sudoers、sshd_config、profile、su。通过选择加固编号来加固相应的内容,或者选择编号1来加固所有内容。2.3.2.密码复杂度设置【SetPasswordComplexityRequirements】选择数字2,脚本会自动配置密码复杂度,配置内容为:密码修改重试3次,新密码必须与旧密码相差3个字符,最小密码长度为12个字符,包括至少1个大写字母、至少1个小写字母、至少1个数字、至少1个特殊字符。配置成功提示【密码复杂度设置成功】,失败提示【密码复杂度设置失败】。重复执行脚本选择这个号码,脚本每次都会配置,不会提示已经配置过。2.3.3.添加管理员账号【创建eproot账号】禁止使用root登录系统。您需要创建一个eproot账户,授予管理员权限,并确保在运行命令时不需要输入root密码。选择数字3,系统将提示您是否创建eproot帐户。确认后,请输入密码并回车。该脚本会自行创建一个eproot帐户并授予管理员权限。重复执行脚本,选择数字3,如果已经创建过eproot账户,会列出创建的信息,并提示已经创建。2.3.4.远程登录账户设置[SetRemoteLoginConfiguration(SSH)]选择数字'4'来配置与SSH远程登录相关的安全性。脚本会自动配置SSH协议为2,然后提示是否禁止root账户远程登录,并确认还有其他账户可以远程登录。输入y,确认回车,关闭root远程登录。重复执行脚本,选择数字4,会提示rootremotehasbeendisabled。2.3.5.账号登录安全设置【SetShellHistoryandTMOUT】选择5号账号登录安全设置,输入y回车,设置history命令保存的行数和打印history命令的时间。设置shell环境超时时间,选择间隔为300~600秒,如果不输入任何值,脚本默认为600秒。重复执行脚本,选择数字5,并重置历史和TMOUT2.3.6,远程登录端口设置【SetSSHPort】选择数字6配置SSH服务端口,输入y,回车输入端口号,脚本会根据用户输入的端口号,配置修改相应的端口脚本,判断输入的端口是否满足要求,满足则设置,不满足则脚本给出提示,并询问用户重新输入以确认端口更改,并输入端口号。端口号规则:输入端口号范围1024<端口<65535重复执行脚本,选择数字6,修改ssh端口,不能通过脚本改回22端口。2.3.7、账号登录失败处理【设置登录失败处理】执行脚本,选择数字7,设置账号登录失败处理,输入y确认回车,脚本会自动配置。登录失败处理内容:3次登录失败后,将限制该账号登录,普通账号锁定5分??钟,root账号锁定5分??钟。限时过后,您可以重新登录。#使用下面的命令查看指定账号的失败次数pam_tally2--user=rootLoginFailuresLatestfailureFromroot403/20/1916:57:09192.168.149.9#下面的命令可以立即重置失败次数账号解除限制(前提是已经进入系统)pam_tally2--user=root--reset2.3.8,配置备份和恢复【RecoverConfiguration】执行脚本,选择数字8,脚本会恢复系统配置保存在备份目录中。以下配置无法恢复。新添加的eproot账号不删除,防止误删。(eproot权限为修改前状态)2.3.9.【全部防护】选择标签1,脚本会自动按照【2-7】的顺序进行脚本加固,部分参数需要手动输入。