我是靠谱客的博主 辛勤蚂蚁,最近开发中收集的这篇文章主要介绍保障Web安全的一些最佳实践,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http://msdn.microsoft.com/zh-cn/library/ms994921.aspx
列了设计,开发,部署Web应用程序的一些最佳实践,有些是个人的心得体会,有些是通过资料得来的,比较简单,给大家提个参考用。

恩,一切的前提还是你先保证网络安全和主机安全,然后再考虑Web安全,不然白搭.....

1.物理网络架构方面
在不同的主机上部署web server, app server, database server。
限制外界web server的连接,比如只提供80端口。
限制web server与app server,database server之间的连接,比如使用防火墙或者操作系统或者软件的配置。
不在web server上存储机密的信息,如果存储,最好加密。比如其他server的帐号信息。

2.认证
采用规范的认证方法,密码,证书,活动密钥,生物方式。如果你所在的公司有现成的认证接口或者认证产品,用这个,不要自己编。如果要求比较强烈,可以考虑多种认证方式并行。比如密码+证书+活动密钥
传输密码时最好加密,存储密码时也最好加密。
设计密码时满足一定的强度,特别是管理员的帐号...

3.授权和访问控制
每个用户满足最小权限原则。
在逻辑层和数据层做访问控制,在表现层(网页,flash文件)做的访问控制对安全没有实际用途

4.Session管理
各种中间件上的session管理已经很好了,不要随便自己编。(国内的应该没有自己编的....)
session应该设置为一定时间内过期。
不要轻易设置为让浏览器固态存储cookie
一个帐号最好只允许一个用户登录
不要在客户端放置任何标识用户身份的信息,只信赖session id

5.连接数据库
连接数据时应该使用最小权限的帐号(一上来就用sa的人最后因为sql注入死翘翘)

6.关键数据保护
对待关键数据要加倍小心,可以使用加密,区别对待的方法

7.日志
记录日志吧,有条件的话,记得详细点,特别是关键操作,再有条件的,对日志做个备份或者记在其他server上。

8.代码编写
使用的模板,框架,技术本身有问题吗?
在服务器端做输入过滤,客户端的输入过滤是无效的。过滤特殊字符,数据类型,数据长度。最好是只接受合法输入,而不是拒绝特殊情况。

说的太简单了就比较空,光关于某一点都有很多可以说。恩,不管怎样,给大家提供个参考吧,欢迎大家补充。

一个不错的资源来自微软:
http://msdn.microsoft.com/en-us/library/ms994921.aspx
不光对于.NET架构的,对于其他web应用程序也有一定参考价值。

 

最后

以上就是辛勤蚂蚁为你收集整理的保障Web安全的一些最佳实践的全部内容,希望文章能够帮你解决保障Web安全的一些最佳实践所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部