藏趣园

藏趣园

超实用的shell脚本--Linux安全加固设置,值得收藏

admin 157 16

概述

近几年来Internet变得更加不安全了。网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。

只要有值得偷窃的东西就会有想办法窃取它的人。Internet的今天比过去任何时候都更真实地体现出这一点,基于Linux的系统也不能摆脱这个“普遍规律”而独善其身。因此,优秀的系统应当拥有完善的安全措施,应当足够坚固、能够抵抗来自Internet的侵袭,这正是Linux之所以流行并且成为Internet骨干力量的主要原因。但是,如果你不适当地运用Linux的安全工具,它们反而会埋下隐患。

今天主要介绍如何通过脚本去设置基本的安全措施,使Linux系统变得可靠。

Linux安全加固配置
copyrightbyhwb#Function:对账户的密码的一些加固read-p"设置密码最多可多少天不修改:"Aread-p"设置密码修改之间最小的天数:"Bread-p"设置密码最短的长度:"Cread-p"设置密码失效前多少天通知用户:"Dsed-i'/^PASS_MAX_DAYS/c\PASS_MAX_DAYS'$A''/etc/'/^PASS_MIN_DAYS/c\PASS_MIN_DAYS'$B''/etc/'/^PASS_MIN_LEN/c\PASS_MIN_LEN'$C''/etc/'/^PASS_WARN_AGE/c\PASS_WARN_AGE'$D''/etc/"已对密码进行加固,新用户不得和旧密码相同,且新密码必须同时包含数字、小写字母,大写字母!!"sed-i'/pam_/c\passwordrequisitepam__first_passlocal_users_onlyretry=3authtok_type=difok=1minlen=8ucredit=-1lcredit=-1dcredit=-1'/etc//system-authecho"已对密码进行加固,如果输入错误密码超过3次,则锁定账户!!"n=`cat/etc//sshd|grep"authrequiredpam_"|wc-l`if[$n-eq0];thensed-i'/%/a\authrequiredpam_=3unlock_time=150even_deny_rootroot_unlock_time300'/etc//sshdfiecho"已设置禁止root用户远程登录!!"sed-i'/PermitRootLogin/c\PermitRootLoginno'/etc/ssh/sshd_configread-p"设置历史命令保存条数:"Eread-p"设置账户自动注销时间:"Fsed-i'/^HISTSIZE/c\HISTSIZE='$E''/etc/profilesed-i'/^HISTSIZE/a\TMOUT='$F''/etc/profileecho"已设置只允许wheel组的用户可以使用su命令切换到root用户!"sed-i'/pam__uid/c\authrequiredpam__uid'/etc//sun=`cat/etc/|grepSU_WHEEL_ONLY|wc-l`if[$n-eq0];thenechoSU_WHEEL_ONLYyes/etc/"即将对系统中的账户进行检查."echo"系统中有登录权限的用户有:"awk-F:'($7=="/bin/bash"){print$1}'/etc/passwdecho"********************************************"echo"系统中UID=0的用户有:"awk-F:'($3=="0"){print$1}'/etc/passwdecho"********************************************"N=`awk-F:'($2==""){print$1}'/etc/shadow|wc-l`echo"系统中空密码用户有:$N"if[$N-eq0];thenecho"恭喜你,系统中无空密码用户!!"echo"********************************************"elsei=1while[$N-gt0]doNone=`awk-F:'($2==""){print$1}'/etc/shadow|awk'NR=='$i'{print}'`echo"------------------------"echo$Noneecho"必须为空用户设置密码!!"passwd$NoneletN--doneM=`awk-F:'($2==""){print$1}'/etc/shadow|wc-l`if[$M-eq0];thenecho"恭喜,系统中已经没有空密码用户了!"elseecho"系统中还存在空密码用户:$M"fifiecho"即将对系统中重要文件进行锁定,锁定后将无法添加删除用户和组"read-p"警告:此脚本运行后将无法添加删除用户和组!!确定输入Y,取消输入N;Y/N:"icase$iin[Y,y])chattr+i/etc/passwdchattr+i/etc/shadowchattr+i/etc/groupchattr+i/etc/gshadowecho"锁定成功!";;[N,n])chattr-i/etc/passwdchattr-i/etc/shadowchattr-i/etc/groupchattr-i/etc/gshadowecho"取消锁定成功!!";;*)echo"请输入Y/yorN/n"esac



脚本输出结果: