linux安全加固脚本怎么写

66次阅读
没有评论

共计 3585 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章主要讲解了“linux 安全加固脚本怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“linux 安全加固脚本怎么写”吧!

代码如下:

#linux 加固脚本
#!/bin/bash
#version1.0;
#write at 2021-08-27;
#write by jiangzhehao;
#只在 centos7 上测试过
#1、账号安全
#1.1  账号加固
#备份文件
cp /etc/login.defs /etc/login.defs.bak
echo  对密码安全策略进行加固,设置密码存在时间、密码长度、密码过期提醒!read -p  设置密码有效时间 (建议 90 天): A
read -p  设置密码最短长度(建议 8 位): C
read -p  设置密码过期提醒(建议 15 天): D
sed -i  /^PASS_MAX_DAYS/c\PASS_MAX_DAYS  $A /etc/login.defs
sed -i  /^PASS_MIN_DAYS/c\PASS_MIN_DAYS  0 /etc/login.defs
sed -i  /^PASS_MIN_LEN/c\PASS_MIN_LEN  $C /etc/login.defs
sed -i  /^PASS_WARN_AGE/c\PASS_WARN_AGE  $D /etc/login.defs
echo  加固已完成。echo  ***************************************************************************************** 
echo  对密码安全策略进行加固,新用户不得和旧密码相同,且新密码必须同时包含大写字母、小写字母、数字!#备份文件
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
sed -i  /pam_pwquality.so/c\password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1  /etc/pam.d/system-auth
echo  加固已完成。echo  ***************************************************************************************** 
echo  对密码进行加固,如果输入错误密码超过 3 次,则锁定账户!sed -i  /^auth required pam_deny.so/i\auth required pam_tally.so onerr=fail deny=10 unlock_time=300  /etc/pam.d/system-auth
echo  被锁定的用户可以使用  faillog -u root -r  解除锁定。echo  加固已完成。echo  ***************************************************************************************** 
echo  禁止 root 用户 ssh 远程登录, 需要 root 用时,使用 su 切换!#备份文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 
sed -i  /PermitRootLogin/c\PermitRootLogin no  /etc/ssh/sshd_config
echo  加固已完成。echo  ***************************************************************************************** 
echo  限制远程登录主机地址!read -p  设置远程登录地址段 (格式为 10.1.*.*): E
sed -i  /ListenAddress /i\ALLOWUSERS *@ $E  /etc/ssh/sshd_config
echo  加固已完成。echo  ***************************************************************************************** 
echo  清除信任主机列表(信任主机登录不需要验证)!echo     /etc/hosts.equiv
echo     /$home/.rhosts
echo  加固已完成。echo  ***************************************************************************************** 
echo  history 设置优化(建议保存条数 1000 条,超时时间为 300 秒)!read -p  设置历史命令保存条数(建议 1000): F
read -p  设置账户自动注销时间(建议 300): G
sed -i  /^HISTSIZE/c\HISTSIZE= $F  /etc/profile
sed -i  /^HISTSIZE/a\TMOUT= $G  /etc/profile
echo  加固已完成。echo  ***************************************************************************************** 
#1.2 用户检查
echo  即将对系统中的账户进行检查...... 
echo  系统中有登录权限的用户有:awk -F:  ($7== /bin/bash){print $1}  /etc/passwd
echo  ******************************************** 
echo  系统中 UID= 0 的特权用户有:awk -F:  ($3== 0){print $1}  /etc/passwd
echo  ******************************************** 
N=`awk -F:  ($2==){print $1}  /etc/shadow|wc -l`
echo  系统中空密码用户有:$N 
if [ $N -eq 0 ];then
 echo  恭喜你,系统中无空密码用户!! echo  ******************************************** 
 i=1
 while [ $N -gt 0 ]
 do
 None=`awk -F:  ($2==){print $1}  /etc/shadow|awk  NR== $i {print} `
 echo  ------------------------ 
 echo $None
 echo  必须为空用户设置密码!! passwd $None
 let N--
 done
 M=`awk -F:  ($2==){print $1}  /etc/shadow|wc -l`
 if [ $M -eq 0 ];then
 echo  恭喜,系统中已经没有空密码用户了! else
echo  系统中还存在空密码用户:$M 
 fi
#2、文件系统安全加固
#设置 umask 值
echo  设置 umask 值为 077!sed -i  /^UMASK/c\UMASK 077  /etc/login.defs
echo  加固已完成。echo  ***************************************************************************************** 
#3、禁用不需要的服务
/sbin/chkconfig ip6tables off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig avahi-dnsconfd off
#4、设置需要开启的端口
#yum install iptables-services -y
#systemctl start iptables
#iptables -F
#iptables -P INPUT DROP
#iptables -A INPUT -p tcp --dport 22

感谢各位的阅读,以上就是“linux 安全加固脚本怎么写”的内容了,经过本文的学习后,相信大家对 linux 安全加固脚本怎么写这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计3585字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)