首页 工作计划 工作总结 事迹材料 心得体会 述职报告 疫情防控 思想汇报 自查报告 党建材料 策划方案 教案设计 范文大全
  • 工作计划
  • 工作总结
  • 事迹材料
  • 心得体会
  • 述职报告
  • 疫情防控
  • 思想汇报
  • 自查报告
  • 党建材料
  • 策划方案
  • 教案设计
  • 范文大全
  • 基于ASP.Net的Web,应用程序安全策略、安全体系设计

    时间:2023-05-29 16:25:07 来源:正远范文网 本文已影响 正远范文网手机站

    摘 要:Web应用存在于每个行业,面临着无处不在且不断增长的安全威胁。为此如何在网络中保证Web应用系统不受非法用户侵害成为当今系统开发需要解决的重要问题。Asp.Net是当前Web开发的主流技术之一,文章从Asp.Net技术简介入手,重点从身份验证与授权两方面论述了基于Asp.Net技术的应用系统安全策略、安全体系设计

    关键词:Asp.Net;Web应用;安全;身份验证;授权

    中图分类号:TP311.10

    1 ASP.Net技术介绍

    1.1 ASP.Net技术特点

    Asp.Net是Microsoft公司推出的以.Net Framework为平台的动态Web开发技术。将传统ASP动态Web开发技术与.NET Framework相结合,使得Web应用程序的开发更快速、高效、敏捷、安全。.NET提供了一种新环境,在这个环境中,可以开发出运行在Windows上的几乎所有应用程序。ASP.Net并不是ASP的简单升级,它使用.Net Framework中的各种服务器端编译型语言,支持.Net服务器控件、Web Form、ADO.NET、LINQ等高级特性。如今,很多互联网网站以及面向企业的Web应用系统都采用了Asp.Net技术,Asp.Net已经成为Web应用的主流技术之一。

    这一技术具有世界级的工具支持,例如可以使用Microsoft公司最新的产品Visual Studio.net进行开发;ASP.Net技术具有极强的适应性,由于ASP.Net是使用通用语言进行编译的运行程序,通用的语言基本库、数据机制以及消息机制的处理都可以实现与ASP.Net的Web应用的无缝整合。同时加之ASP.Net表现出语言独立性,使用者可以选用一种合适的语言进行程序的编写或者以多种语言编写。例如现在支持的编写语言有VB、C#、C++、Jscript以及F++等。这一技术具有简单、易学性,使用这一技术使得一些平常的任务,例如分布系统、客户端身份验证以及网站配置较为方便;具有高效可管理性。

    1.2 ASP.Net安全机制

    ASP.Net技术的安全性支持有两种方式:验证与授权。其中ASP.Net技术的验证有三种:Windows验证、Passport验证、Forms身份验证机制。ASP.Net的授权方式一般有两种,一种是URL授权,另一种是使用角色进行授权。前者是由开发人员设置URL来给与权限,后者通过ASP.Net检查文件的访问控制表来实现对于授权的访问权限。

    2 Web 应用程序安全体系

    2.1 Web应用程序安全体系概述

    信息技术及计算机网络技术的不断发展要求我们着重考虑网络安全管理,为此需要制定一系列的安全规范来强化安全管理。Web应用程序安全体系应该包括信息的采集、传输、存储以及处理、应用等各个方面。主要的安全措施一般基于以下四个概念:首先是身份验证,它是安全控制的一层,是在对应用程序访问前的身份验证;其次是授权,可以决定经过身份验证的一方是否可以对特定的资源进行访问;然后是数据保护,这措施可以保护数据的完整性、保密性、非拒绝性,从而防止数据在传递以及存储中受到攻击;最后是审核,这是一个监视与记录的与安全性有关的事件的过程,但是较为被动,只能在受到了安全危害后才能起到作用。下面仅通过身份验证及授权两方面对系统的安全策略及系统设计进行论述。

    2.2 基于ASP.Net的Web应用程序安全体系分析

    (1)身份验证

    所谓验证,就是身份验证,是从用户处获取标识凭据(如用户名和密码)并通过某些授权机构验证那些凭据的过程。如果凭据有效,则提交这些凭据的实体已通过身份验证。在身份得到验证后,授权进程将确定该身份是否可以访问给定资源;而所谓授权,就是对进入应用程序的用户授予访问哪些页面或资源的权利。

    ASP.NET windows身份验证方式,是与IIS配合在一起的一种认证方式。在IIS中提供匿名身份验证、基本(base64编码)身份验证、摘要式身份验证及基于客户端证书的身份验证、Windows集成(NTLM)身份验证、Windows集成的(Kerberos)身份验证。

    ASP.NET Passport身份验证方式,是Microsoft提供的集中身份验证服务,该服务为成员站点提供单一登录和核心配置文件服务。

    ASP.NET Forms身份验证方式,使用此验证的应用程序不使用IIS身份验证,但IIS身份验证设置对于ASP.NET窗体身份验证过程很重要。必须启用IIS“匿名访问”设置,否则将会被拒绝访问。通过IIS验证后,ASP.NET开始执行自身的验证。此验证是一个过程,该过程允许应用程序直接从客户端请求方收集凭据并确定这些凭据的真实性。

    国内主要用Windows身份验证模式及Forms身份验证模式。如果应用程序只使用由Active Directory域控制器管理的Windows登录账户,那么Windows身份验证安全机制一般是最佳选择。利用Windows提供的安全机制,用户可以在无须正式登录网站的前提下使用访问受限的Web页面,页面将在用户请求的上下文中执行,页面代码对各种资源进行访问时则必须遵守Windows安全限制。Windows可以安全地存储和加密用户凭据,开发人员无须再实现这项功能。但Windows身份验证不适用于国际互联网环境。在Web环境中更为合理的方案是采用基于Forms的身份验证方案,使用自定义的数据库存储用户账户凭据和相关的用户配置数据。

    (2)授权

    这是用户经过了身份验证后的第二层安全,也是ASP.Net中最重要的安全性改进。在ASP.Net中有两种基本的授权方式:基于角色的授权以及基于资源的授权。前者是根据角色的资格来授权用户,而后者类似于任意访问控制,是基于单个的用户或者组来控制各个资源的访问权限。相比而言前者更为抽象,独立于操作系统以及底层基础结构,为此表现出很大的伸缩性与灵活性。

    这里有必要论述一下ASP.Net中最为灵活的授权方式:代码授权。代码授权还可以分为三类,即强制性授权、显示性授权以及声明性授权。其中声明性授权可以使用单个属性在部分或者整体上设置权限。当然为了实现整个应用系统的安全检查,可以将三种授权方式结合起来。

    (3)设置身份验证和页面授权

    ASP.NET配置具有分层结构,安全配置是该配置的一部分。配置信息可包含在web.config文件中。Web.config可以存放在与应用程序文件相同的目录下。一个应用程序的各级目录下都可以有Web.config文件,每一个Web.config只对当前目录及其子目录起作用。每一个子目录都可以继承上一级目录的配置并覆盖其中相同的选项。ASP.NET应用程序中的身份验证安全机制有多种不同的设计方式。

    在Web.config中设置身份验证和页面授权。

    对于访问站点的不同用户,比如未经登录验证的匿名用户、经过登录验证的认证用户、管理员账号用户等,分别授予允许访问或拒绝访问特定页面资源的权利;另外,还要对Admin文件夹的访问权限进行设置等。

    允许所有用户访问首页、浏览全部新闻及留、查看所有留言及回复;允许所有用户访问Login文件夹并且可以登录、新用户注册或退出登录。当用户请求发表留言时,将提示“请先登录!”,而且只允许已注册的用户登录,当用户登录并通过数据库验证后,就可以发表留言了。

    对于匿名用户、认证用户、管理员账号用户等,分别授予允许访问或拒绝访问特定页面资源的权利。

    对于包括匿名用户在内的所有用户,授予允话访问首页(浏览)的权利;授予访问Login登录文件夹(用户登录、新用户注册)的权利。

    对于认证用户,授予允许访问发表日志页面的权利;

    对于管理员用户,则授予其允许访问Admin管理员文件夹的权利。

    3 结束语

    基于ASP.Net的Web 应用系统的安全策略及安全体系的设计还包括其它的方面,例如用户输入过滤、加密私有数据等。通过建立自己的应用系统,不仅能带来巨大的经济效益,同时也可提升工作效率,使得企业的管理更加规范与科学。

    参考文献:

    [1]王超,边小凡.基于角色访问控制机制在MIS权限管理中的应用[J].微机发展,2004,l4(5):50-52.

    [2](美)Nick Berardi,AI Katawazi,Marco Bellinaso.ASP.NET MVC 网站编程案例精解[M].顔炯,陈钢译.北京:清华大学出版社,2010:84-151.

    [3](美)Vince Varallo.ASP.NET 3.5商用开发架构精解[M].刘建宁,张敏,常洁译.北京:清华大学出版社,2010:149-193.

    作者单位:广西柳州师范高等专科学校,广西柳州 545004

    基金项目:课题编号:LBJK2011B003。

    推荐访问:应用程序 安全策略 体系 设计 ASP