win2003 IIS虚拟主机网站防木马、权限设置、安全配置整理

一、系统的安装
1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。
2、IIS6.0的安装
以下为引用的内容:
  开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件
  应用程序 ———ASP.NET(可选)
       |——启用网络 COM 访问(必选)
       |——Internet 信息服务(IIS)———Internet 信息服务管理器(必选) 
       |——公用文件(必选)
       |——万维网服务———Active Server pages(必选)
       |——Internet 数据连接器(可选)
       |——WebDAV 发布(可选)
       |——万维网服务(必选)
       |——在服务器端的包含文件(可选)
然后点击确定—>下一步安装。
3、系统补丁的更新:点击开始菜单—>所有程序—>Windows Update 按照提示进行补丁的安装。
4、备份系统:用GHOST备份系统。
5、安装常用的软件:例如:杀毒软件、解压缩软件等;安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。
6、先关闭不需要的端口 开启防火墙 导入IPSEC策略
在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
修改3389远程连接端口
修改注册表
开始--运行--regedit
依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/
TERMINAL SERVER/WDS/RDPWD/TDS/TCP
右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000)
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/WINSTATIONS/RDP-TCP/
右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000)
注意:别忘了在WINDOWS2003自带的防火墙给 上10000端口
修改完毕。重新启动服务器设置生效。
二、用户安全设置
1、禁用Guest账号
在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。
2、限制不必要的用户
去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。
3、把系统Administrator账号改名
大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。
4、创建一个陷阱用户
什么是陷阱用户?即创建一个名为"Administrator"的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。
5、把共享文件的权限从Everyone组改成授权用户
任何时候都不要把共享文件的用户设置成"Everyone"组,包括打印共享,默认的属性就是"Everyone"组的,一定不要忘了改。
6、开启用户策略
使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选)
7、不让系统显示上次登录的用户名
默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表"HKLM\Software\Microsoft\WindowsT\CurrentVersion\Winlogon\Dont-DisplayLastUserName",把REG_SZ的键值改成1。
8、密码安全设置
a、使用安全密码
一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如"welcome"等等。因此,要注意密码的复杂性,还要记住经常改密码。
b、设置屏幕保护密码
这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。
c、开启密码策略
注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间为42天。
d、考虑使用智能卡来代替密码
对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。
三、系统权限的设置
1、磁盘权限
系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只给 Administrators 组和SYSTEM 的完全控制权限
另将<systemroot>\System32\cmd.exe、format.com、ftp.exe转移到其他目录或更名
Documents and Settings下所有些目录都设置只给adinistrators权限。并且要一个一个目录查看,包括下面的所有子目录。
删除c:\inetpub目录
2、本地安全策略设置
开始菜单—>管理工具—>本地安全策略
A、本地策略——>审核策略
审核策略更改   成功 失败
审核登录事件   成功 失败
审核对象访问      失败审核过程跟踪   无审核
审核目录服务访问    失败

审核特权使用      失败
审核系统事件   成功 失败
审核账户登录事件 成功 失败
审核账户管理   成功 失败
B、本地策略——>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除
C、本地策略——>安全选项
交互式登陆:不显示上次的用户名       启用
网络访问:不允许SAM帐户和共享的匿名枚举  启用
网络访问:不允许为网络身份验证储存凭证   启用
网络访问:可匿名访问的共享         全部删除

网络访问:可匿名访问的命          全部删除
网络访问:可远程访问的注册表路径      全部删除
网络访问:可远程访问的注册表路径和子路径  全部删除
帐户:重命名来宾帐户            重命名一个帐户
帐户:重命名系统管理员帐户         重命名一个帐户
3、禁用不必要的服务 开始-运行-services.msc
TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享文件、打印和登录到网络
Server支持此计算机通过网络的文件、打印、和命名管道共享
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Task scheduler 允许程序在指定时间运行
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
Distributed File System: 局域网管理共享文件,不需要可禁用
Distributed linktracking client:用于局域网更新连接信息,不需要可禁用
Error reporting service:禁止发送错误报告
Microsoft Serch:提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要可禁用
PrintSpooler:如果没有打印机可禁用
Remote Registry:禁止远程修改注册表
Remote Desktop Help Session Manager:禁止远程协助
Workstation 关闭的话远程NET命令列不出用户组
以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。
4、修改注册表:修改注册表,让系统更强壮
a、隐藏重要文件/目录可以修改注册表实现完全隐藏
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL",鼠标右击"CheckedValue",选择修改,把数值由1改为0
b、防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2
新建EnablePMTUDiscovery REG_DWORD 0
新建NoNameReleaseOnDemand REG_DWORD 1
新建EnableDeadGWDetect REG_DWORD 0
新建KeepAliveTime REG_DWORD 300,000
新建PerformRouterDiscovery REG_DWORD 0
新建EnableICMPRedirects REG_DWORD 03. 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery 值为0
c. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0
d. 不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
e、禁止IPC空连接:
cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成"1"即可。
f、更改TTL值
cracker可以根据ping回的TTL值来大致判断你的操作系统,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
实际上你可以自己改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
g. 删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可
h. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成"1"即可。
i、建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中
以下为引用的内容:
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share ipc$ /del
net share admin$ /del
5、IIS站点设置:
a、将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
b、启用父级路径
c、在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)
d、在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件
e、Web站点权限设定(建议)
读 允许
写 不允许
脚本源访问 不允许
目录浏览 建议关闭
日志访问 建议关闭
索引资源 建议关闭
执行 推荐选择 "仅限于脚本"
f、建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。

g、程序安全
1) 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;
2) 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。3) 防止ASP主页.inc文件泄露问题;
4) 防止UE等编辑器生成some.asp.bak文件泄露问题。
6、IIS权限设置的思路
1) 要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
2) 在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
3) 设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
7、卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )
以下为引用的内容:
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll
然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示"×安全"了。

(0)

相关推荐

  • Apache Wind2003 配置网站目录权限小结

    非常简单的权限设置,就是访问网站时会弹出用户名和密码,通过身份验证后可以正常浏览,如下图. 在Apache和Windows2003中配置起来也非常方便,主要参考了Apche的手册 1.建立密码文件 Apache在其安装目录的bin子目录中提供了htpasswd工具,用于建立密码文件: 复制代码 代码如下: htpasswd -b -c -m -d -s c:\password.txt username password 其中-m -d -s都是加密的方式,具体见参考手册 2.启用认证 其中方式有

  • ASP.NET MVC5网站开发之实现数据存储层功能(三)

    数据存储层在项目Ninesky.DataLibrary中实现,整个项目只有一个类Repository. Repository中实现增删改查询等方法供业务逻辑层调用,主要功能如下图: 具体步骤 一.添加实体框架的引用 1.打开解决方案,选择项目Ninesky.DataLibrary,在引用上右键,选择管理NuGet程序包. 在NuGet包管理器中的浏览标签中点击EntityFramework,点击右侧栏的安装按钮. 在搜索框输入EntityFramework.zh-Hans,安装假体中文资源包.

  • IIS PHP环境Temp文件夹的权限问题引起的网站故障

    前几天不知为何,服务器抽风严重- 服务器非常慢,把WINDOWS2003重启了,结果连不上服务器.结果悲剧的去了机房. 查找不出什么问题,GHOST恢复系统. 几天后回去又装了个新站上去.再过两天后,问题又出现了. 排查过程 检查网页服务器,病毒,木马?是否被入侵? 检查数据库服务器,CPU,内存,网络一切正常,相应的端口也做了 IP 限制,只允许网页服务器访问,查看日志文件也没有异常情况 检查其余的 .Net 网站,速度正常,没有任何问题 检查其余的 Php 网站,架构方法一样,也没有任何问题

  • MVC网站开发之权限管理篇

    一.前言 刚到公司没多长时间就开始接触MVC到现在不能说懂了,只能说到达会用这个层次吧,感觉MVC用来写Web还是很强大的,层次清晰. 今天我来写写关于权限管理这一块,自我感觉网站的权限主要分为菜单权限和角色权限,首先说角色权限,比较简单不同角色可以看到不同页面这就是角色权限,菜单权限也可以说是操作权限,就是具体到某一个按钮,或某一个下拉框的查看权限或使用权限. 二.角色权限 1.用户角色 首先来角色权限,每个用户有着多样不同的角色,一对多的关系. 2.菜单管理 在菜单管理中我们就可以这样管理,

  • ASP.NET MVC5网站开发之登录、验证和注销管理员篇1(六)

    上次业务逻辑和展示层的架构都写了,可以开始进行具体功能的实现,这次先实现管理员的登录.验证和注销功能. 一.业务逻辑层1.实现256散列加密方法. Ninesky.Core[右键]-> 添加->文件夹,输入文件夹名General. General文件夹[右键]->添加->类,输入类名Security. 引用System.Security.Cryptography命名空间(1),并实现SHA256静态加密方法. 2.Administrator模型类 Ninesky.Core[右键]-

  • ASP.NET MVC5网站开发管理列表、回复及删除(十三)

    一.管理列表 跟上次我的列表相似,直接贴代码了. 首先打开Consultation控制器,添加ManageList方法 /// <summary> /// 咨询管理 /// </summary> /// <returns></returns> public ActionResult ManageList() { return View(); } 添加返回json数据的ManageJsonList public JsonResult ManageJsonLis

  • Win2008 R2中IIS7.5配置完网站权限不足问题的解决方法

    Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法: 常见问题: HTTP 错误 500.0 - Internal Server Error无法显示页面,因为发生内部服务器错误. 模块 IsapiModule 通知 ExecuteRequestHandler 处理程序 AboMapperCustom-20607 错误代码 0x800700c1 请求的 URL http://localhost:80/index.php 物理路径 D:\wwwroot\777

  • vs2010制作简单的asp.net网站

    直入主题: 打开visual studio 2010程序开发软件 单击菜单栏的文件,依次选新建->网站->ASP.NET空网站,这里我们选择空网站,利于今后DIY自己的网站,最好什么从头来,便于对各类架构的理解(若是选择ASP.NET网站也行,只是里面已经集成了一些东西) 这里我们默认解决方案的名称为WebSite1,单击确定后进入网站的代码页面,在右边的解决方案资源管理器里只有一个web.config文件,这个文件用于对网站进行全局化的设置 web.config其实是一个xml文档,里面有很

  • 如何对ASP.NET网站实现静态化

    ASP .NET技术实现的页面的扩展名为 .aspx,aspx是目前非常流行的一种动态网页格式.动态网页的一个特点是信息交互.更新及时,页面文件少,开发速度快.但是它的一个严重问题是在访问量比较大,而服务器的配置和资源比较有限的情况下,每次访问可能都会频繁的处理程序逻辑.读写数据库等等,降低服务器的性能. 工具/原料 asp.net 静态化方法一: 重写每个页面需要静态化的动态页面.cs文件的 Render()方法,如下图所示.注意红框处,红框处的参数表示要生成静态页面的名字.该方法实现简单,但

  • IIS7/IIS7.5/IIS8网站目录执行权限设置方法(与IIS6不同)

    在IIS6.0中,对于站点每个文件夹,我们都可以在其属性对话框中将执行权限设置为无,当程序对文件夹有写入权限时,这个设置非常有用,它能防止用户上传脚本文件(.asp,.aspx)到服务器并运行: IIS7也有这样的功能,但设置方法不太一样,步骤如下: IIS7/IIS7.5中目录执行权限的设置方法 我们在建站的时候,通常有些目录必须给写入权限,这个时候这些目录就很可能被人写入脚本文件,为了将安全性维护得更好,我们可以关闭这些有写入权限的目录的脚本执行权限.IIS6的时候,我们很容易找到关闭的地方

随机推荐