#!binh
#desc:setuplinuxsystemsecurity
#author:coralzd
#poweredbywww.baidu.org.tw
#version0.1.2writtenby2011.05.03
#设置账号
passwd-lxfs
passwd-lnews
passwd-lnscd
passwd-ldbus
passwd-lvcsa
passwd-lgames
passwd-lnobody
passwd-lavahi
passwd-lhaldaemon
passwd-lgopher
passwd-lftp
passwd-lmailnull
passwd-lpcap
passwd-lmail
passwd-lshutdown
passwd-lhalt
passwd-luucp
passwd-loperator
passwd-lsync
passwd-ladm
passwd-llp
#用chattr给用户途径更改属性。chattr敕令用法参考文末阐明[1]
chattr+ietcpasswd
chattr+ietchadow
chattr+ietcgroup
chattr+ietcgshadow
#设置暗码延续输错3次后锁定5分钟【 Linux公社www.Linuxidc.com 】
sed-i‘s#authrequiredpam_env.so#authrequiredpam_env.so
authrequiredpam_tally.soonerr=faildeny=3unlock_time=300
authrequiredlibecurity$ISApam_tally.soonerr=faildeny=3unlock_time=300#’etcpam.dystem-auth
#5分钟后主动登出,缘由参考文末阐明[2]
echoTMOUT=300″etcprofile
#前史敕令记载数设定为10条
sed-isHISTSIZE=1000HISTSIZE=10etcprofile
#让以上针对etcprofile的改动立刻生效
sourceetcprofile
#在etcysctl.conf中启用syncookie
echonet.ipv4.tcp_syncookies=1″etcysctl.conf
sysctl-p#execsysctl.confenable
#优化sshd_config
sed-is#MaxAuthTries6MaxAuthTries6etchhd_config
sed-is#UseDNSyesUseDNSnoetchhd_config
#限制主要敕令的权限
chmod700binping
chmod700usrbinfinger
chmod700usrbinwho
chmod700usrbinw
chmod700usrbinlocate
chmod700usrbinwhereis
chmod700binifconfig
chmod700usrbinpico
chmod700binvi
chmod700usrbinwhich
chmod700usrbingcc
chmod700usrbinmake
chmod700binrpm
#前史平安
chattr+aroot.bash_history
chattr+iroot.bash_history
#给主要敕令写md5
catlistEOF
binping
usrbinfinger
usrbinwho
usrbinw
usrbinlocate
usrbinwhereis
binifconfig
binvi
usrbinvim
usrbinwhich
usrbingcc
usrbinmake
binrpm
EOF
foriin`catlist`
do
if[!-x$i];then
echo$inotfound,nomd5sum!
else
md5sum$ivarlog`hostname`.log
fi
done
rm-flist
常识点[1]:有关chattr敕令 chattr敕令可以修正文件属性,到达维护文件和目次的效果。比拟改动文件读写、执行权限的chmod敕令,chattr敕令可以节制更底层的文件属性。该敕令非常强壮,个中一些功用是由Linux内核版原本支撑的,假如Linux内核版本低于2.2,那么很多功用不克不及完成。相同-D反省紧缩文件中的错误的功用,需求2.5.19以上内核才干支撑。别的,经过chattr敕令修正属功能够进步系统的平安性,然则它并不合适一切的目次。chattr敕令不克不及维护、dev、tmp、var目次。
此类属性的检查可以经过lsattr敕令完成。
chattr敕令的用法:chattr[-RV][-vversion][mode]files…
最要害的是在[mode]局部,,即文件属性局部。[mode]局部是由+-=和[ASacDdIijsTtu]这些字符组合的。
+:在原有参数设定根底上,追加参数。
-:在原有参数设定根底上,移除参数。
=:更新为指定参数设定。
A:文件或目次的atime(accesstime)不成被修正(modified),可以有用预防例如手提电脑磁盘IO错误的发作。
S:硬盘IO同步选项,功用相似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不克不及删除,多用于效劳器日记文件平安,只要root才干设定这个属性。
c:即compresse,设定文件能否经紧缩后再存储。读取时需求经由主动解压操作。
d:即nodump,设定文件不克不及成为dump顺序的备份目的。
i:设定文件不克不及被删除、更名、设定链接关系,还不克不及写入或新增内容。i参数关于文件系统的平安设置有很大协助。
j:即journal,设定此参数使妥当经过mount参数:data=ordered或许data=writeback挂载的文件系统,文件在写入时会先被记载(在journal中)。假如filesystem被设定参数为data=journal,则该参数主动掉效。
s:保护秘密性地删除文件或目次,即硬盘空间被悉数回收。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.
各参数选项中常用到的是a和i。a选项强迫只可添加不成删除,多用于日记系统的平安设定。而i是更为严厉的平安设定,只要superuser(root)或具有CAP_LINUX_IMMUTABLE处置才能(标识)的历程可以施加该选项。
使用实例: 1、用chattr敕令避免系统中某个要害文件被修正
spanstyle=COLOR:rgb(0,128,0) #chattr+ietcfstab
然后试一下rmmvrename等敕令操作于该文件,都是获得Operationnotpermitted的后果
2、让某个文件只能往里面追加内容,不克不及删除,一些日记文件合用于这种操作
spanstyle=COLOR:rgb(0,128,0) #chattr+adata1user_act.log
常识点[2]:为何要设置5分钟后主动登出 因为客户的维护人员经常上岸上去后经过直接封闭TERM端口不合法退出telnet,形成系统的pts历程越来越多,一个月下来居然近百,当历程过多的时分系统就会发生报警。标准操作应该是用exit或许ctrl+D,然则其别人并不如许操作,所以我们界说了echoTMOUT=300″gt;etcprofile这一项内容,是让效劳器主动剔除300秒没有任何举措的客户端。当然了这一项人人可以依据实践需求而决议能否添加。
信息发布:广州名易软件有限公司 http://www.myidp.net