.NET虚拟主机的安全配置

时间:2005/9/22 17:15:06      阅读:1198     附件: NET虚拟主机的安全配置.exe (经验值:10)     下载:25
应各位兄弟们的要求,就献丑写了这篇文章,如果有什么地方写得不对,欢迎大家指正。
本文章是为一些刚刚接触虚拟主机的管理员写的,如果写得有什么地方错漏,请各位高手们多多指教,或可以提出意见或建议,有什么更好的
管理方法或建议可以给我发个Email:hsdwf@163.com。
通过整理防范WEB SHELL的一些文章加上本人的经验整理而成。以下为全文:
先说一下常见的WEBSHELL:
常见的WEBSHELL也就是ASP,PHP,PERL,这些脚本写成的。市面上比较流行的WEBSHELL也就是海阳顶端网asp木马2005、桂林老兵的ASP站长助
手、蓝屏ASP木马、安全天使的phpspy2005、咖啡的PHP文件管理器1.6、cmd.cgi。现在还有新出来的.NET的WEBSHELL,功能更大,毕竟ASP.NET
的权限要比ASP大得多,其权限是USER级别的,因为WEBSHELL太多,所以也列不出这么多了,这次主要是针对MS系统中的ASP、ASP.NET做说明。
防范WEBSHELL首先是设置服务器的权限,禁止他们越权访问东西:
如何让IIS的最小NTFS权限运行?
方法我就不再多说了,在我网站上已经转过类似的文章,因不是本人写的,所以就不多说了,你可以参考一下,相应连接为:
http://www.web3.cn/Content,2005,7,5,69.aspx
http://www.web3.cn/Content,2005,7,26,81.aspx
这两篇文章,写得不错,不过他们的文章是针对Win200系统的,我要写的是针对Win2003的系统,写完了会做一个录像演示。
上面的自己去找资料看了
以下我们进入正题吧,先来看IIS的设置篇:
1、安装完成Win2003系统,打完全所有必要的补丁,不多说了,自己上网查最新的补丁程序。
2、Win2003默认是关闭ASP的(Win2000没有这项),使用Win2003中的IIS6程序的性能会有很大的提高,性能方面我也不说了,到我网站上找一
下,以前发过的,所以如果要用到ASP必须要打开,在IIS管理器--本地计算机--WEB服务扩展中,选择“Active Server Pages”设置成允许,
图片我就不多发了,都以录像的形式发出来吧,容易看。刚才我已经打开过asp了
3、接下就是怎么设置才能把解释到你机器的域名指向相应的目录了。打开IIS下的“网站”,里面有个“默认网站”你可以删除重新设置新的
,也可以修改(名字并不影响解释),如果你的机器有多个域名,你得修改名字来进行区分,一般是以域名来命名就好,如果你有其它更好的
命名方法也行,现在我删除原来的,建立一个新的,点“网站”右键--新建网站,输入网站描述,我们输入web3.cn来区分域名,IP一般不用理
它,TCP端口千万不要修改(在多个域名的情况下不能改,除非你的网站想用其它端口来访问),就用80,但主机头必须输入也必须是你的域名
,我的是web3.cn,输入后选择好路径,如我的网站根目录设置在d:\web\web3.cn里,在下面的允许权限时请选择上前两个选项“读取”、“运
行脚本(如ASP)”,否则程序是无法运行的,这样IIS的设置就基本完成了,其它多余的映射自己去删吧,其它设置不想多说,只说明主要部
份就好了,自己研究去吧。如果有多个域名请重复此步骤,懒得多写了,在录像里会做演示。我们多做一个用www.web3.cn也同时指向刚才设置
的目录,如果你有同样的域名都转到这个目录按刚才的步骤加上就行了。
4、如果你的主机为一台多域名的主机(Win2003),建议最好设置每个域名一个应用池,这样就算IIS里的某一个域名的程序出现问题也不至于
整个IIS崩溃,这就是我所说的IIS6的好处了。在应用程序池中新建应用程序池,也可以用域名的方式命名,然后转到网站中刚才的域名属性--
主目录中,在应用程序池中选择刚才新建的应用程序池名字就OK了。应用程序池的其它设置我也不多说了,自己体会去吧。
权限设置篇:
1、在服务器上打开资源管理器,用鼠标右键点击各个硬盘分区或卷的盘符,在弹出菜单中选择“属性”,选择“安全”选项卡,此时就可以看
到有哪些帐号可以访问这个分区(卷)及访问权限。我们将每个磁盘分区的“Administrators”除外的用户全部删除(特殊原因除外),这样
,就只有“Administrators”才能访问这些硬盘分区了,而 ASP、ASP.NET 执行时,是以“IUSR_机器名”的身份访问硬盘的,这里没给该用户
帐号权限,ASP 、ASP.NET也就不能读写硬盘上的文件了。
2、下面要做的就是给每个虚拟主机用户设置一个单独的用户帐号,然后再给每个帐号分配一个允许其完全控制的目录。打开“计算机管理”→
“本地用户和组”→“用户”,在右栏中点击鼠标右键,在弹出的菜单中选择“新用户”:
  在弹出的“新用户”对话框中根据实际需要输入“用户名”、“全名”、“描述”、“密码”、“确认密码”,并将“用户下次登录时须
更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”。本例是给第一虚拟主机的用户建立一个匿名访问 Internet 信息
服务的内置帐号“iis_web3.cn”,即:所有客户端使用 http://web3.cn 访问此虚拟主机时,都是以这个身份来访问的。输入完成后点“创建
”即可。可以根据实际需要,创建多个用户,创建完毕后点“关闭”:现在新建立的用户已经出现在帐号列表中了,在列表中双击该帐号,以
便进一步进行设置:在弹出的“iis_web3.cn”(即刚才创建的新帐号)属性对话框中点“隶属于”选项卡:刚建立的帐号默认是属于“Users
”组,选中该组,点“删除”:此时再点“添加”: 在弹出的“选择 组”对话框中找到“Guests”,点“添加”,此组就会出现在下方的文
本框中,然后点“确定”:出现的就是如下图所示的内容,点“确定”关闭此对话框:打开“Internet 信息服务”,开始对虚拟主机进行设置
,本例中的以对“web3.cn”设置为例进行说明,右击该主机名,在弹出的菜单中选择“属性”: 弹出一个“web3.cn 属性”的对话框,打开
“目录安全性”选项卡,点匿名访问和验证控制的“编辑”:在弹出的“验证方法”对方框,点“编辑”:弹出了“匿名用户帐号”,默认的
就是“IUSR_机器名”,点“浏览”:在“选择 用户”对话框中找到前面创建的新帐号“iis_web3.cn”,双击:此时匿名用户名就改过来了,
在密码框中输入前面创建时,为该帐号设置的密码:再确定一遍密码: OK,完成了,点确定关闭这些对话框。
3、找到建立web3.cn主机时的目录“D:\web\web3.cn”右击,选“属性”→“安全”选项卡,点“添加”按钮,“Administrators”及在前面
所创建的新帐号“iis_web3.cn”添加进来,将给予完全控制的权限,还可以根据实际需要添加其他组或用户,但一定不要将“Guests”组、“
IUSR_机器名”这些匿名访问的帐号添加上去! 这时如果是ASP的程序就可以正常运行了,如果是ASP.NET的程序是无法运行的,为什么呢?因
为目录并没有给予ASP.NET运行的权限,这时我们必须给目录多加上一个用户“IIS_WPG”(ASP.NET是以“IIS_WPG”帐户来进行程序的运行的
),web3.cn目录设置“IIS_WPG”为完全控制,如果有多个虚拟主要的目录都放到这个目录,可以直接把“IIS_WPG”设置为web目录的所有控
制,以下的目录允许将来自父系的可继承性权限传播给对象。到此ASP.NET虚拟主机的配置也完成了,如果用户还有特殊性要求可另外设置了。
文章到此结束,可能实际操作时会有其它特殊性原因,有问题你可以给我发Email:hsdwf@163.com(罗嗦一点,说多一次,嘿嘿),最后一点建
议,把ASP和ASP.NET的目录分开,安全性比较高,最好分开成两个分区。(附教学录像)
评论
  • Re:.NET虚拟主机的安全配置  (2006/8/15 11:47:14) by 飘萍 
    很好,服务器安全是很重要的环节。
  • Re:.NET虚拟主机的安全配置  (2009/3/18 16:51:35) by ylp1588 
    如何在ASP.NET像ASP一样包含一个文件?
标 题:
 
姓 名:
 
主 页:

验证码:

评论:
 

Because of the cache,you may see your comments several minutes later.