安性不可以添加到现有应用程序或在开发阶段后期引入.安全性生来就与应用程序的功能相联系,应当在设计阶段的早期作为最早的特征之一加以规划。
最安全的Web应用程序是真正能抵制攻击的应用程序,而不是只是从设计上能这么做的应用程序。安全性是一个非常复杂的难题,其解决方案因应用程序的不同而不同。安全性通常是通过应用程序级和系统级措施的成功结合而实现的。
ASP.NET提供了一个内置的基础结构,在应用程序级保护Web页面不受未授权的访问。而这种安全性只是问题的一面,还要防止服务器攻击。
(一)安全的来源
跨站点脚本攻击(Cross-site scripting,XSS):不受信任的用户输入被回送到该页面。
拒绝服务(Denial of Service,DoS):加大请求,使系统过载。
窃听:使用嗅控器。
隐藏字段篡改。
单键攻击。
会话拦截。
SQL代码注入。
敏感数据不能通过电线发送,必须安全的保存在服务器上。
措施:
编码实践:数据验证、类型和缓冲区长度检验以及反篡改措施。
数据访问:使用角色及存储过程。
有效的存储和管理:不发关键数据到客户端,使用Hash代码检测操纵,验证用户和保护身份,以及用严格的密码策略。
只有开发人员、架构师和管理员共同努力才能构建一个安全的系统。
(二)asp.net的安全上下文
从应用程序的角度看,安全性主要是一个难用户身份和授权对系统资源的的行动的事情。Asp.NET的安全上下文有一个不同级别组成:
1、IIS级
2、Asp.NET工作进程级,确定Asp.NET工作进程中服务请求的线程的身份。
3、Asp.NET管道级
当一个Asp.NET请求到达Web 服务器时,IIS获取请求并把它分配给一个pooled线程。IIS运行机制在SYSTEM帐户下——Microsoft Windows中最强的帐户。从此时候起执行三个级别的安全性。
(1)IIS线程安全上下文
根据当前的IIS身份验证设置假冒一个身份:基本身份验证、摘要身份验证、集成windows身份验证或匿名身份验证。
匿名:用户名为IUSR_xxx,其中xxx代表机器名。
基本身份验证是任何浏览器几乎都有支持的一个HTTP标准。建议只在HTTPS安全通道上使用基本身份验证。
摘要式身份验证在发送用户凭据前对它进行散列处理。是HTTP1.1的一个特征,并非所有浏览器都支持。Win2003不要求把可还原的加密把密码存储到服务器上。
基本身份验证和摘要身份验证通过防火墙和代理服务器可以很好地起作用。
集成windows验证建立浏览器和Web服务器之间的会话。不可用于有防火墙的情况下。
基于证书的身份验证。
最安全的Web应用程序是真正能抵制攻击的应用程序,而不是只是从设计上能这么做的应用程序。安全性是一个非常复杂的难题,其解决方案因应用程序的不同而不同。安全性通常是通过应用程序级和系统级措施的成功结合而实现的。
ASP.NET提供了一个内置的基础结构,在应用程序级保护Web页面不受未授权的访问。而这种安全性只是问题的一面,还要防止服务器攻击。
(一)安全的来源
跨站点脚本攻击(Cross-site scripting,XSS):不受信任的用户输入被回送到该页面。
拒绝服务(Denial of Service,DoS):加大请求,使系统过载。
窃听:使用嗅控器。
隐藏字段篡改。
单键攻击。
会话拦截。
SQL代码注入。
敏感数据不能通过电线发送,必须安全的保存在服务器上。
措施:
编码实践:数据验证、类型和缓冲区长度检验以及反篡改措施。
数据访问:使用角色及存储过程。
有效的存储和管理:不发关键数据到客户端,使用Hash代码检测操纵,验证用户和保护身份,以及用严格的密码策略。
只有开发人员、架构师和管理员共同努力才能构建一个安全的系统。
(二)asp.net的安全上下文
从应用程序的角度看,安全性主要是一个难用户身份和授权对系统资源的的行动的事情。Asp.NET的安全上下文有一个不同级别组成:
1、IIS级
2、Asp.NET工作进程级,确定Asp.NET工作进程中服务请求的线程的身份。
3、Asp.NET管道级
当一个Asp.NET请求到达Web 服务器时,IIS获取请求并把它分配给一个pooled线程。IIS运行机制在SYSTEM帐户下——Microsoft Windows中最强的帐户。从此时候起执行三个级别的安全性。
(1)IIS线程安全上下文
根据当前的IIS身份验证设置假冒一个身份:基本身份验证、摘要身份验证、集成windows身份验证或匿名身份验证。
匿名:用户名为IUSR_xxx,其中xxx代表机器名。
基本身份验证是任何浏览器几乎都有支持的一个HTTP标准。建议只在HTTPS安全通道上使用基本身份验证。
摘要式身份验证在发送用户凭据前对它进行散列处理。是HTTP1.1的一个特征,并非所有浏览器都支持。Win2003不要求把可还原的加密把密码存储到服务器上。
基本身份验证和摘要身份验证通过防火墙和代理服务器可以很好地起作用。
集成windows验证建立浏览器和Web服务器之间的会话。不可用于有防火墙的情况下。
基于证书的身份验证。