在互联网中遨游,最让人担心的3个头等问题,您知道都是哪些吗?好吧,我来告诉你,它们是:安全!安全!还是安全!
互联网每天都在上演着失去用户信任和安全感,从而倒闭的悲剧。作为开发人员的你,是否为总结安全点而苦恼,为不知道如何加固功能点而纠结?那么如何才能设计出高安全度的网络系统呢?这个问题已经关系到用户对网站系统的信任程度,关系到企业和系统的生死存亡了。在笔者看来,最关键的就是设计思想和每个功能点的完善性。
时下在网站系统中使用最广泛的就是ASP.NET和Java架构了。其中.NET框架是微软公司为了满足广大用户的需求而开发的一种通用平台。Java技术由于没有公司做统一的文档编写,导致设计安全模块完全需要工程师自己的经验。这些技术在帮助我们方便、快捷地完成网站开发的同时,在实际运行环境中的黑客入侵和安全隐患也成了不容忽视的问题,这就要求开发人员从设计和开发两方面都要关注系统的安全性。
在很多人的印象中,安全工作似乎都是在问题发生后才采取措施。本书旨在从根本上纠正了这一做法,通过对.NET\Java平台安全问题的了解,做到风险早避免,问题早处理,在应用程序开发的全生命周期中严把安全关,保证系统的正常、稳定运行。
本书可以分为4部分。第一部分为第1~第3章,介绍了应用安全的基本概念和安全控件;第二部分为第4~第6章,讨论了如何进行数据加密和验证;第三部分为第7~第12章,阐述了如何使用与程序运行平台有关的安全功能,包括组件安全、会话安全、代码信任和网站钓鱼技术的防与治;第四部分为第13~15章,重点介绍了服务器上如何安全的部署你的程序,以及代码的安全测试和审核。
本书最大的特点就是教读者对症下药,根据不同的功能点或功能模块传授不同的代码安全防范和设计策略。书中采用时下最新的ASP.NET 4.0技术为范本,讲解如何将安全代码和防范技术植入系统。通过图文并茂的方式把复杂的问题简单化,让大家知道应该如何去做。
另外,书中选用的代码和实例都是被验证过的,能够切实提升安全的有效方法。使得读者在短期掌握别人长期才能总结出来的技术和经验,尤其对专业人员和学生的帮助很大。
本书在设计方式和方法上不受技术的限制,如果抛开技术本身,单说设计方法该书所讲解的方法将使读者能够“依葫芦画瓢”。
本书所涉及的网站安全问题仅限于学习研究,若读者据此攻击他人网站,责任自负。
本书适合每一位网站开发人员阅读,作为应用程序的设计和开发人员,他们应该了解所用语言安全性特点和局限性,以便在设计和编码过程中进行安全性相关考虑。在本书的每一章节,都运用大量实例,帮助开发人员学习安全服务配置和代码编写。
另外,作为应用系统的管理维护人员和用户也应该阅读本书。通过本书,读者可以清晰地分辨哪些行为是危险的,而这些行为是我们每天都会遇到的。以最常见的数据加密和身份验证为例,了解.NET平台安全运行的机制,就可以减少在系统操作过程中的低级错误,避免安全隐患。
本书主要由杨云编写,参加编写的还有李广平、王春中、冉剑、陈代勇、陈佳佳、陈家云、王磊、王宇晟、胡浩、蔡芳、刘扬、陈雪郊、谢晓锋、王毅、刘小鹿、胡建、杜华富、成梅花。
本书在编写过程中,得到清华大学出版社编辑袁金敏老师的指导和帮助,在此表示感谢。另外,感谢读者和我家人一直以来对我的支持和帮助。
由于水平有限,书中难免存在不足之处,欢迎广大读者批评指正。
编者
2011年5月