APP下载

ASP.NET技术在门户网站设计中的安全机制分析

2015-10-21孔杰刘钢

建筑工程技术与设计 2015年19期
关键词:安全性

孔杰 刘钢

【摘要】随着网络的广泛应用,网络安全的重要性日益凸显。ASP.NET web应用程序面对着各种威胁和攻击,有效的抵御这些攻击才能建立安全牢固的 web应用程序服务。本文通过对ASP.NET 安全机制的分析和研究总结了设计安全的ASP.NET web应用程序的关键问题和技术方法,为软件开发人员分析和设计安全的ASP.NET web应用程序提供参考。

【关键词】web应用程序 安全性 用户管理 验证和授权 会话管理

一、前言

ASP.NET 作为Microsoft公司推出的.NET技术的网络应用平台,已经被广大程序人员采用,用户能够控制信息的传送方式、时间和内容,从而得到更多的服务。随着ASP.NET的广泛应用,ASP.NET web应用程序安全的重要性也日益凸显。对于web应用程序来说,若安全措施脆弱,或存在潜在的安全漏洞都对web应用程序有着重要的影响,抵御网络攻击的根本途径是堵塞各种安全漏洞,构筑坚固的web应用程序。

二、管理用户和密码

用户安全性首先在于用户名和密码的选择,为了向用户说明安全的重要性,可由用户或站点选择用户名和密码,密码是应用程序安全的中心机制,必须确保用户具有强密码。

在应用程序设计中,最普遍的安全漏洞之一是选择易于猜测的密码。如果在程序设计中自动为用户创建密码,本文建议在第一次登录中强制要求改變默认密码,确保使用随机的强密码算法,这样就不会产生可预测的密码。不建议明文存储实际密码,其主要原因是:如果这样做,组织内成员就不可能访问用户密码。

当对用户进行身份验证时,可以检查时间戳。如果时间差和当前的时间之间的间隔大于一个指定购时间周期,就可以强制用户改变他们的密码。建议在强制用户改变他们的密码时,不允许他们使用此密码之前的3个密码。每次用户改变他们的密码时,都应该把旧密码和此密码的实例号添加到如表2.3 这样的表中:

在用户改变密码时,我们要获取这个用户以前使用过的所有密码,这些密码是按InstanceNumber列降序存储的,然后把新密码和最近使用的3个密码进行比较。如果这个新密码和其中一个匹配,就要告知用户不能使用他们最近使用过的3个密码。

三、验证和授权

ASP.NET web应用程序安全问题的关键是验证和授权。通常,开始不会有一个完整的基础架构,应用程序必须和已有的部分结合才能工作。开发人员可以利用Windows特有的安全功能,如模拟、委托。

1.基于角色的授权

这是将用户添加到角色或组,同时基于角色成员进行授权而常用的技术,使用windows 帐户时角色和用户所属的windows组是相同的,既可以在本地也可以在Active Directory中。开发人员可以使用ASP.NET中几种不同的方法实现基于角色的访问检查,既可以采用编程的方法检查,也可以通过配置检查,所有方法的共同点是都要调用在当前用户Principal对象上的IPrincipal.IsInRole实现。

2.编程检查

ASP.NET 执行编程检查的典型的方法是从Context.User或Page.User中获取IPrincipal实现,并直接调用IsInRole。结果返回一个Boolean值,该值表示是否该用户是角色的成员。使用IsInRole( )如下所示:

3.声明检查

开发人员也可以在页面和目录级别上声明授权,这是利用web.config中的元素实现。通过将元素添加到 authorization 配置节中,可以指定访问应用程序的用户和角色。此处可以使用特殊字符,例如问号(?)代表未验证的用户;星号(*)代表所有用户。如果只允许通过验证的用户访问应用程序,可以使用以下设置:

如果希望允许HR和Sales角色和用户Dom访问,可以使用如下设置:

如果要为特定的文件或目录明确的设置授权,则要使用元素。

4.使用windows 帐户

ASP.NET身份验证有一项功能,它可以把身份验证移交给IIS处理。IIS会向ASP.NET传递windows用户账户,以及这个账户发送的、需要进行处理的请求。如果设置IIS要求用户进行登录,那么这个账户表示的就是发出请求的用户。由于这个身份验证选项涉及到windows用户账户,所以就被称之为windows 身份验证,它是由windows身份验证模块提供的。

五、结论

最安全、最有能力抵御攻击的Web应用程序是那些应用安全思想构建的应用程序。在设计初始阶段,应该使用可靠的体系结构和设计方法,同时要结合考虑程序部署以及企业的安全策略。运用ASP.NET的内置安全控件,通过验证授权机制,遵守一系列的安全策略,采用一系列安全方法,有效的堵塞安全漏洞,创建安全的web应用程序。

参考文献:

[1].顼宇峰. ASP+SQL Server典型网站建设案例[M].北京:清华大学出版社,2006.

[2].张树亮,李超. ASP.NET 2.0+SQL Server络应用系统开发案例精解[M].北京:清华大学出版社,2006.

[3].李玉林,王岩. ASP.NET 2.0网络编程从入门到精通[M].北京:清华大学出版社,2006.

[4].周绪,管丽娜,白海波. SQL Server 2000中文版入门与提高[M].北京:清华大学出版社,2004.

猜你喜欢

安全性
细节护理在老年人健康体检护理中的应用及其安全性分析
拉西酮治疗女性精神分裂症的疗效与安全性分析
锁骨骨折内固定术中两种神经阻滞的麻醉效果与安全性比较
长效胰岛素联合口服降糖药治疗2型糖尿病的疗效与安全性
民航空中交通管制进近程序间隔安全性评估模型
疤痕子宫再次妊娠经阴道分娩的临床疗效及安全性
西药临床应用中合理用药对其安全性的影响
鼻内镜手术治疗老年慢性鼻窦炎鼻息肉的疗效及安全性探讨
关于桥梁设计中的安全性与耐久性问题的几点思考
西酞普兰治疗抑郁症的疗效及安全性