Linux系统管理经验总结分享(2)

安全是个永恒的话题,也是重中之重,这时候你就得学习下黑客安全攻防方面的原理,想深入的那就是后话了。最初整体架构搭建的时候,先用测试环境测试好,记录相关问题,因为谁也不能保证上线提供服务的时候完全无误,不要暴露错误信息给客户。上线之前做整体的程序上的安全测试,比如常见的SQL注入,跨站等等,如果倒在这些地方,那就不划算了,现在的很多“黑客”随便拿个工具就可以扫到,如果不是你写的程序你不能控制,至少你得记录后反馈给开发人员,不测试好就尽量不要弄上去,除非逼不得已,至少我被逼过。。。

ssh的话做ip限制登录,安装fail2ban或者denyhost防护软件,定期检查日志,屏蔽异常ip。root账户不能直接登录到系统,建立个最低权限的用户作为入口,使用完之后保存历史命令记录后并清除,将备份文件下载下来按日期保存或者放到服务器的隐藏目录里面,这样即使被入侵了,别人也不能很快获取相关的信息,而且自己命令操作失误之后也能还原出错场景。 应用日志独立存放,并设置权限,程序文件按最小化权限分配,能跑起来不影响业务即可,特别是上传目录,有条件的话上传单独拿台服务器,做上传权限控制。定期压缩备份网站访问,对程序日志文件进行分析,找出异常。

减少前端入口,其他机器能不开外网的话,全部去掉,不要遗留在上面,如果使用了Nginx等代理软件的话,只留一个入口机器,并什么服务都不放,定期修改密码,还要做ip用户的访问策略。一般入口机器使用windows稍微方便些,个人习惯而定,有条件的也可以买那种kvm远程控制终端,插到入口机器上,然后禁用掉所有的远程连接,虽说这样显得特别麻烦,但能省不少事儿,放公网上谁也不能保证不中招。

上传程序的话,先删除里面的一些无用以及敏感信息,比如删除项目里面的SVN文件,可以使用以下脚本。[点击之][1].其他的话,自己找去吧。等其他都测试完成之后,慢慢来缩小权限,开启防火墙,这期间会遇见各种因为权限以及防火墙导致稀奇古怪的问题,逐个去解决。特别要注意ftp文件以及相应目录的权限访问控制,程序你改不了的话,你得做相关的安全测试以及记录,以防不测,fail2ban可以防ftp暴力破解。

总结:权限最小化,按需求安装相应的软件,定期更改密码,分析日志,进行总结,做程序文件和系统关键文件的快照,这个可以百度或者谷歌。

备份

这个也是除了安全外,最重要的了,特别注意一些“高危漏洞"的命令,如 rm -rf (我是吃过大亏的),cp -R, sed ,\cp -R 等,操作文件目录的时候,必须先备份,不然错了你连后悔的机会都没有,不要图一时快捷。更改文件的时候先备份两份,操作其中的一份备份文件,确认无误之后再进行相应的操作。

怎样合理进行备份?最好是每天或者每两三天做全备份,周期性不要太长。备份文件的命令,以及目录的说明信息也很有”讲究“,备份单文件的话,我一般按照这样的格式: **原始文件名-当前时间-叠加说明或则次数.ext** 这个可以按照自己的需要,目录的话,里面最好是放一个说明文件(readme.txt),就算英文不行,不能输入中文,你用拼音可以吧,免得以后自己都不知道了,压缩后文件名和单文件备份命名规则一样。多文件的话,按照上级目录层次来,命名同上。最后就是放到公共目录以外,或者上传到专用的备份服务器,也可以下载到本地。

深入

当你实际工作了有段时间了,就要深入了解了,至少到现在所了解的真的还只是个皮毛,系统架构,安全测试,优化,都是要工作之外要学习并实践的。多学习下python,shell,perl中的一门或者多门语言,进行自动化方面的,自己每次都一条条命令输入也挺烦的,当然前提就是要做好足够的测试。虚拟化平台如KVM,XenServer自己最好是也接触了解下,php的话最好也还是多学点儿吧,至少为以后的谋生多了条路子,不要总拿语言的优缺点来说事儿,什么需要用什么样的语言,做出来就是对的,瞎喷的都是别人的,学到的才是自己的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/19368.html