怎么设置asp.net服务器的安全性?

xanswer 2003-08-20 12:54:44
特别是IIS方面,SDK默认安装的应用程序映射都是需要的吗?

还有那些关于asp.net要特别注意的呢?
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chido 2003-08-20
  • 打赏
  • 举报
回复
aspnet_client这个目录不可以删除,里面放的是一些客户端的JS脚本,好多地方都要调用他的,如果你删了,就得重新生成一份。
smartcreater 2003-08-20
  • 打赏
  • 举报
回复
ASP .NET 中的安全性

WEB 开发者这设计和实现应用程序时一定要 考虑安全性。安全有不同的类型和级别,应用程序所需的安全性各不相同,这取决于应用程序的作用,存贮的数据类型,能承担的风险,工作量,时间开销,金钱开销等。
基本的安全策略:
1. 服务器的设置和应用程序的设计
防止由于不安全的服务器设置和不恰当的应用程序设计危及WEB服务器的和数据的安全
2. 打补丁
防止由于服务器软件的缺陷危及WEB服务器的安全。
3. 访问控制
防止不恰当的访问设置危及WEB服务器的和数据的安全。
4. 审计和日志
跟踪那些访问站点的用户的访问内容和时间。
5. 使用SSL和其他的加密安全工具

服务器的设置和应用程序的设计:
选择合适的操作系统
选择用途
如果在一台计算机上运行WEB服务器,数据库服务器以及组件,存在很大的安全隐患,不要把数据库存放在暴露与Internet 上的WEB服务器上;同时向服务器添加更多用途时,也增加了安全隐患。在配置服务器时要明确每台服务器的用途。
选择服务
那些已运行但未使用的服务可能造成巨大的安全风险,如安装了FTP或SMTP服务但没有保护这些服务的使用端口,那么可能被利用一些众所周知的缺陷危及服务器的安全。如果没有时用某个服务就不要安装它,如果需要安装一些不经常使用的服务,应该将它们的设置为手动启动而不是自动启动。
制定安全策略

密码
不要使用弱密码和空白密码
一般健壮的密码 至少包含 :大写、小写、数字、非字母符号(如* % # $)中的3种,最小长度8位。
密码存储的安全性
WEB 应用程序的一个常见问题是密码或其他敏感数具备存储在一个不安全的地方,纯文本文件(如ASP/ASP.NET页),Global.asa/Global.asax文件以及web的配置文件。当web服务器有安全缺陷是这是不安全的。
解决方法:
1. 对于Intranet来说,如使用SQL_SERVER ,用信任连接服务器,该方法通过连接字符串的Trusted_Connection属性通知SQL_SERVER使用当前用户的NT登录信息进行登录。这对用户通过NT用户名和密码的NTLM登录应用程序很有用。
2. 使用appSetting配置节将连接字符串信息保存在Machine.config文件中,该文件不直接暴露在应用程序的Web空间中,(密码仍为纯文本文件)可以将包含Machine.config的目录和包含Web应用程序的目录放在不同的驱动器中。

用SSL保护通信
默认情况下,由HTTP 请求和响应发送的信息都是明文。在Web应用中最常用的加密形式是SSL(Secure Sockets Layer, 安全套接字层 协议)。要求在Web服务器与浏览器间进行安全通信的站点使用SSL创建并交换密钥,对客户端与服务器端的通信进行加密。通常的电子商务站点用这种方式保护信用卡信息。SSL 也可保护如SessionID cookie和使用基本验证或ASP.NET基于窗体验证时的登录信息。

默认情况下,SSL通信使用443端口(非SSL的Web通信使用80端口),通过在URL前加https://前缀表明是用SSL加密的。为Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。

申请证书步骤:
[Internet 服务管理器]  单击要使用SSL保护的站点并选择 [属性]  [目录安全性]  [服务器证书] ,将启动Web服务器证书向导。
用Web 服务器证书向导创建一个新的证书请求。 证书颁发机构将校验请求并发送一个服务器证书。(证书的名称必须匹配要求安装该证书的站点的完全合格域名称。否则,用户将得到警告,即使服务器证书有效但证书重的名称不匹配请求的URL)。

安装证书步骤:
1.找到从证书颁发机构接收到的证书文件,右击文件并选择 [安装证书]。
2.打开 [internet 服务管理器]
3.右击要用SSL保护的站点并选择 [属性]。
4.[目录安全性]  [服务器证书],将再次启动web服务器证书向导。
5.[下一步]进入向导第2页
6.[服务器证书]中选择[分配一个已存在的证书]  [下一步]。
7.[已存在的证书]页面里列出当前计算机的所有证书,包括刚才安装的证书。选择想要的证书  [下一步]
8.检查[证书摘要]信息以确保所分配的是正确的证书。然后[下一步],然后[完成]

安装证书后:用户可通过https://请求页面,即可使用SSL加密站点中任何虚拟目录中的通信。但是,要确保页面只能通过SSL查看,则必须为要保护的页面或目录请求SSL(在 [目录安全性] 或 [文件安全性] 选项卡中单击 [编辑] 按钮,在随后出现的 [安全通信] 对话框中进行配置即可)。


未完待续 ----------------------- Written by smartcreater
更多安全信息参考:http://www.microsoft.com/technet/security
http://www.microsoft.com/technet/security/iis5chk.asp
http://nsa2.www.conxion.com/win2k/download.htm
xanswer 2003-08-20
  • 打赏
  • 举报
回复
添加了ASP.net的功能后发现每个网站的目录都有一个aspnet_client的目录?为什么会这样?如不要这个目录可以吗?要怎么去掉(该不会要一个一个删吧)?
fansun 2003-08-20
  • 打赏
  • 举报
回复
1.目前为止asp.net 可以认为是很安全的 原因不仅仅是从技术上来说
有一个很重要的原因是精通它的人并不比asp的多。

2.asp.net 的安全有两个方面 一个是系统本身的设置 一个是代码的编写

3.提高asp.net 安全需要的几点

a.不要用系统默认的站点 自己新建一个站点(当然配置你新建站点的安全性是很麻烦的这里先不说具体的方法)
b.代码不要泄露(似乎这是废话)
c.asp.net 站点的内容要放在ntfs分区上(似乎这也是废话)

d.至于应用程序影射 你没有必要都删除 如果你实在不放心你可以完全让你的站点跑起来之后 然后删除你没有用到的影射 要一个一个的删除 便于测试是否影响你网站的正常运行。
ASP.NET ASP.NET 概述 ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。 ASP.NET 包括: 页和控件框架 ASP.NET 编译器 安全基础结构 状态管理功能 应用程序配置 运行状况监视和性能功能 调试支持 XML Web services 框架 可扩展的宿主环境和应用程序生命周期管理 可扩展的设计器环境 页和控件框架 ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对多个浏览器使用相同的页,因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如 Microsoft Internet Explorer 6 的特定浏览器设计 ASP.NET 网页,并利用该浏览器的功能。ASP.NET 支持基于 Web 的设备(如移动电话、手持型计算机和个人数字助理 (PDA))的移动控件。 ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。有关更多信息,请参见 ASP.NET 网页概述。 使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。这些控件在呈现期间放入 ASP.NET 网页中。 ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。有关更多信息,请参见 ASP.NET 主题和外观概述。 除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。有关更多信息,请参见 ASP.NET 母版页概述。 ASP.NET 编译器 所有 ASP.NET 代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将 ASP.NET 编译为本机代码,从而提供增强的性能。 ASP.NET 包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 ASP.NET 宿主环境可以使用该程序集来处理用户请求。有关更多信息,请参见 ASP.NET 编译概述。 安全基础结构 除了 .NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由 IIS 提供的 Windows 身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使用 Windows 组或您自己的自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。有关更多信息,请参见下列主题: ASP.NET 网站安全性 使用成员资格管理用户 使用角色管理授权 Forms 身份验证提供程序 ASP.NET 始终使用特定的 Windows 标识运行,因此,您可以通过使用 Windows 功能(例如 NTFS 访问控制列表 (ACL)、数据库权限等等)来保护应用程序的安全。有关 ASP.NET 标识的更多信息,请参见配置 ASP.NET 进程标识和 ASP.NET 模拟。 状态管理功能 ASP.NET
iis6.0完整安装包xp+iis 6.0 完整安装包 xp sp3 IIS 6.0 中的一个最重要的变动涉及 Web 服务器安全性。为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将 IIS 安装在 Microsoft Windows Server 2003 家族的成员上。 要点 为了更好地预防恶意用户和攻击者的攻击,没有将 IIS 默认安装到 Microsoft® Windows® Server 2003 家族的成员上。而且,当您最初安装 IIS 时,该服务在高度安全和“锁定”的模式下安装。在默认情况下,IIS 只为静态内容提供服务 - 即,ASP、ASP.NET服务器端包含、WebDAV 发布和 FrontPage® Server Extensions 等功能只有在启用时才工作。如果安装 IIS 之后未启用该功能,则 IIS 返回一个 404 错误。您可以为动态内容提供服务,并通过 IIS 管理器中的 Web 服务扩展节点启用这些功能。同样,如果应用程序扩展未在 IIS 中进行映射,则 IIS 返回一个 404 错误。要映射扩展,请参阅设置应用程序映射。有关如何排解 404 错误(包括 404.2 和 404.3)、与 IIS 6.0 的新安装相关的问题或从低版本的 IIS 进行升级的详细信息,请参阅疑难解答。 iis6.0完整安装包xp 通过 Web 服务器证书向导和 CTL 向导,您可以同步 Web 和 NTFS 的安全设置、获得并安装服务器证书以及创建和修改证书信任列表。还可以选择一个加密服务提供程序 (CSP) 以使用证书加密数据。 详细信息,请参阅使用证书向导。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧