架设基于windows2003的安全Asp.net服务器

随着Microsoft Visual Studio 开发环境的普及,基于Asp .Net坏境的网站越来越多。因此Asp .net服务器的安全问题自然而然的成为了人们关心的问题。本文以Windows2003为例,架设一台安全的Asp .Net的服务器。
  实验坏境:
  操作系统:Microsoft Windows Server 2003 Enterprise Edition Service Pack 2
  iis版本:6.0
  架设Asp .Net的基本平台:
  1. 安装Windows Server 2003:
  Windows Server 2003的具体安装方法这么不再讲述,但需要注意三点:
  ①.一定要在断开网络的前提下安装Windows Server 2003。
  ②.安装Windows Server 2003系统至少要有两个分区,而且分区的格式均必须为NTFS文件格式(C盘为系统盘,D盘为网站数据盘)。
  ③.安装好Windows Server 2003后必须及时打上安全补丁。
  2. 安装IIS和Asp .Net:
  按下面步骤操作,安装IIS和IIS的Asp .Net支持:
  ①.将Windows2003 sp2原版安装盘放入光驱。
  ②."开始"->"程序"->"管理工具"->"管理您的服务器"。
  ③."添加删除角色"->"配置您的服务器向导"->"下一步"->"应用服务器(IIS、ASP.Net)"->勾选"启用 ASP .NET "->"下一步"->"下一步"直到安装完成。
  3. 安装Microsoft .Net Framework。
  安装Microsoft .Net Framework,版本根据网站开发时基于的.Net版本而定,一般为2.0或者3.0。
  设置系统账号
  1. 更改默认系统管理员账号:
  更改账户名:右击"我的电脑"->"管理"->"本地用户和组"->"用户"->右击"administrator"->"重命名"->重命名为一个新的名字,如"WebSVRAdmin"。
  更改密码:右击"WebSVRAdmin"->"设置密码"->"继续"->输入一个复杂的密码,最好为长度大于14个字符的"数字+大小写字母+特殊字符"。
  2. 新建一个权限极小的administrator的陷阱账号:
  新建账户:右击"我的电脑"->"管理"->"本地用户和组"->右击"用户"->"新用户"->用户名中输
  "administrator",密码输入跟WebSVRAdmin同样复杂但不相同的密码->"确定"。
  3. 禁用"guest"账号。
  4. 设置本地安全策略:
  "开始"->"运行"->输入"gpedit.msc"->"计算机配置"->"安全设置"->"本地策略"->"用户权利指派"->双击"从网络访问此计算机"->只保留"internet 来宾账号"、"启动iis进程账号"、"Asp .Net账号"。
  磁盘权限设置:
  1.右击"C盘"->"属性"->"安全"->删除"administrator"、"Creator Owner"、"EveryOne",添加"WebSVRAdmin",并设置成完全控制->"确定"。
  2.用同样的方法设置"c:\windows"、"c:\windows\system32"。
  3.右击"d盘"->"属性"->"安全"->删除"administrator"、"Creator Owner"、"EveryOne"、"Users",添加"WebSVR Admin" ,并设置成完全控制->"确定"。
  禁用不需要的服务:
  1. 禁用C$、D$等默认共享:
  在"开始"菜单的"运行"中键入"regedit",打开注册表编辑器。依次展开 "HKEY_LOCAL_MATCHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" 键,在右边的窗口中新建一个Dword值,名称设置为AutoShareServer,值为0。
  2. 解除NetBIOS与TCP/IP的绑定:
  右击"本地连接"->"属性"->双击"Internet 协议"->"高级"->"WINS"->禁用"TCP/IP上的NetBIOS"。
  3. 关闭不要的服务:
  ComputerBrowser: 维护网络计算机更新,禁用;
  DistributedFileSystem: 局域网管理共享文件,禁用;
  Distributedlinktrackingclient: 用于局域网共享连接信息,禁用;
  Errorreportingservice: 禁止发送错误报告,禁用;
  MicrosoftSerch: 提供文本搜索,不需要时禁用;
  NTLMSecuritysupportovide: Telnet服务和MicrosoftSerch用的,不需要时禁用。
  PrintSpooler: 如果没有打印机,则禁用;
  RemoteRegistry: 用于远程修改注册表,禁用;
  RemoteDesktopHelpSessionManager: 用于远程协助,禁用;
  4. 关闭不需要的端口:
  右击"本地连接"->"属性"->"Internet协议(TCP/IP)"->"高级"->"选项"->"TCP/IP筛选"->"属性"->选择TCP端口的"只允许"选项,添加"80"端口->确定。
  配置IIS
  1. 删除默认Web站点。
  2. 删除安装IIS创建的"C:\Inetpub"目录。
  建立ASP.NET站点:
  1. 建立站点用户:
  建立两个站点专用用户aiezu与aiezu_wpg,其中aiezu隶属于Guests组,aiezu_wpg隶属于iis_wpg组(asp.net专用用户)。
  ①.新建aiezu账户:"本地用户和组"->右击"用户"->"新用户"->用户名中输
  "aiezu",输入一个复杂的密码->"确定"。
  ②.设置aiezu所属的组:"本地用户和组"->右击"aiezu"->"属性"->"隶属于"->删除"users"组,添加"guest"组->"确定"。
  ③.新建aiezu_wpg账户:"本地用户和组"->右击"用户"->"新用户"->用户名中输
  "aiezu_wpg",输入一个复杂的密码->"确定"。
  ④.设置aiezu_wpg所属的组:"本地用户和组"->右击"aiezu"->"属性"->"隶属于"->删除"users"组,添加"iis_wpg"组->"确定"。
  2. 建立站点根目录:
  ①.建立站点根目录文件夹d:\wwwroot\aiezu.com
  ②.右击"aiezu.com"文件夹->"属性"->"安全"->添加"aiezu"、"aiezu_wpg"用户,并给予"修改、读取和运行、读取、写入"权限->应用。
  3. 建立站点应用程序池:
  "Internet信息服务(iis)管理器"->右击"应用程序池"->"新建"->"应用程序池"->在"ID"中输入"aiezu.com"->"确定"。
  右击"aiezu.com"应用程序集->"属性"->"标识"-选中"配置",输入用户名"aiezu_wpg"和密码->"确定"->"确定"。
  4. 建立Web站点:
  "Internet信息服务(iis)管理器"->右击"网站"->"新建"->"网站"->"下一步"->描叙中输入"aiezu.com"->"下一步"->输入网站"IP地址"和"端口",主机头为"http://www.aiezu.com/"->"下一步"->选中网站目录"d:\wwwroot\aiezu.com"->"下一步"->勾选"读取、运行脚本 如(asp)"->"下一步"->"完成"。
  5. 设置站点账号:
  右击"aiezu.com"站点->"属性"->"目录安全性"->"编辑"->输入用户名"aiezu"和密码->"确定"。
  6. 配置"aiezu.com"站点的应用程序池:
  右击"aiezu.com"站点->"属性"->"主目录"->应用程序池中选"aiezu.com"->"确定"。
  7.保存配置:
  "Internet信息服务(iis)管理器"->右击"本地计算机"->"所有任务"->"将配置保存到磁盘"。
本篇文章来源于 黑基网-中国最大的网络安全站点 原文链接:http://www.hackbase.com/tech/2011-03-31/63136.html
原文地址:https://www.cnblogs.com/sandy/p/2787546.html