很多时候服务器的脆弱不是因为服务器安全防护做到不够好,而是因为部署在服务器上的各种应用存在一定漏洞,比如最初的asp动态网页,发展之初非常流行非常广泛,可如今很少再听到用asp部署网站应用的了,因为asp有很多漏洞可用。又比如现在流行的php,广泛部署的同时,也多了很多存有漏洞的脚本及第三方插件。
用服务器,主要也是用服务器部署web应用,下面简单把一些基础又实用的个人经验总结分享一下。
1、预防SQL注入攻击
这是在很多场合我都会给别人强调的,作为web应用程序,绝大部分会与数据库进行打交道,与数据库打交道就不得不提供input去构造sql查询语句。目前针对各种常用动态网页技术的语言如ASP.NET,PHP,JSP等均可以很好的避免这个问题,但是如果不去关心,这个高危漏洞无疑像一个没有上锁的保险箱。
2、预防脚本攻击
脚本攻击是将恶意的字符插入到网页中,浏览器无法验证这些插入字符,并且会将他们作为页面的一部分处理。原理和sql注入很像,均是没有对输入的内容进行处理,直接执行造成的。
3、Web.config的加密
大部分web应用均有这样的配置文件,但是很多时候我们往往习惯吧一些重要信息,如数据库账号密码,特殊权限账号密码写入web.config,因此如果不想当服务器被入侵时数据泄露的话,对web.config进行加密是一个简单又有效的方法。
4、别忽略页面传值的安全
很多web应用又这样的习惯,通过一个id值指定某个主键,如:book.aspx?bid=4 去查看某一本图书的信息,或者是person.php?pid=324231查询用户的信息,这样熟悉网络url的人一看便知,可以很方便的通过构造url查找一些想要的数据,甚至如果有一位熟悉编程的,可以很简单的通过构造响应请求,虽然不经过攻击服务器,同样可以获取web应用数据库信息。
5、完善web功能逻辑安全
不要把每个人都想成会是很文明的,恰恰相反,随着搞IT的人越来越多,很多人甚至企业之间都会不断的进行各种渗透攻击,其中大部分是通过一些功能逻辑的缺陷造成的。记得去年年底工行推出积分换奖品,捕获流量时发现在积分处理的数据的传递上居然是明文传递,构造相似流量,将积分值改为负数,反而会增加积分,这就是后台业务逻辑的处理不当造成的。
简单提出了五条安全防护的经验小结,由于能力有限,仅供参考!
-------------------------
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。