漏洞发现:老寒 组织名称:[[Kingdom China Team-中华帝盟安全小组] 厂商名字:microsoft 厂商地址:www.mocrosoft.com 漏洞程序:windows2003服务器版 漏洞类型:安全配置 影响版本:Standard Edition,Enterprise Edition,Web Edition 程序介绍: windos2003服务器安全配置 我在写文章的时候查阅了不少资料 不经常写文章重点我分不清楚 大家就凑合着看吧 总的来说还算是好文章 (:
一、 安装篇 1.win2003版本区别
1)Windows Server 2003, Standard Edition (标准版)
针对中小型企业的核心产品,他也是支持双路处理器,4GB的内存。它除了具备 Windows Server 2003 Web Edition 所有功能外,还支持像证书服务、UDDI服务、传真服务、IAS因特网验证服务、可移动存储、RIS、智能卡、终端服务、WMS和 Services for Macintosh。
支持文件和打印机共享。 提供安全的网络联接。
2)Windows Server 2003, Enterprise Edition (企业版)
这个产品被定义为新一带高端产品,它最多能够支持8路处理器,32 GB内存,和28个节点的集群。它是 Windows Server 2003 Standard Edition 的扩展版本,增加了 Metadirectory Services Support、终端服务会话目录、集群、热添加( Hot-Add)内存和 NUMA非统一内存访问存取技术。这个版本还另外增加了一个支持64位计算的版本。
全功能的操作系统支持多达8个处理器。 提供企业级的功能例如8节点的集群,支持32GB内存。 支持英特尔 安腾Itanium 处理器。 将推出支持64位计算机的版本,可以支持8个64位处理器以及64GB的内存。
3)Windows Server 2003, Datacenter Edition (数据中心)
像以往一样,这是个一直代表微软产品最高性能的产品,他的市场对象一直定位在最高端应用上,有着极其可靠的稳定性和扩展性能。他支持高达8-32路处理器,64GB的内存、2-8节点的集群。与 Windows Server 2003 Enterprise Edition 相比, Windows Server 2003 Datacenter Edition 增加了一套 Windows Datacenter Program 程序包。这个产品同样也为另外一个64位版本做了支持。
微软迄今为止提供的最强大、功能最为强劲的服务器操作系统。 支持32路处理器和64GB内存。 同时提供8点集群和负载均衡。 提供64位处理器平台,可支持惊人的64路处理器和512GB的内存。
4)Windows Server 2003, Web Edition (Web版)
这个版本是专门针对Web服务优化的,它支持双路处理器,2GB的内存。该产品同时支持ASP.NET、DFS分布式文件系统、EFS文件加密系统、IIS6.0、智能镜像、ICF因特网防火墙、IPv6、Mircrosoft.Net Framework、NLB网络负载均衡、PKI、Print Services for UNIX、RDP、远程OS安装(非RIS服务)、RSoP策略的结果集、影子拷贝恢复(Shadow Copy Restore)、VPN和WMI命令行模式等功能。Windows Server 2003 Web Edition 唯一和其他版本不同的是它仅能够在AD域中做成员服务器,而不能够做DC域控制器。
可以架构各种网页应用,XML页面服务。 IIS 6.0。 轻松迅速开发各种基于 XML以及 ASP.NET服务项目的平台。
5)Windows Server 2003,64-bit Edition (64位版本)
专门针对64位处理器 安腾Itanium而开发的版本。 包括两个版本:
Windows Server 2003 Enterprise Server 64-bit Edition。
Windows Server 2003 Datacenter Server 64-bit Edition。
2、windows server 2003 3790版的激活
在正式版算号器没有出来之前,现在流行的激活方式有以下几种: (1)Reset5.02,在安全模式下运行即可激活,把时间调整为2008年都没有问题,一切使用正常。可以升级。 缺点:激活程序被彻底屏蔽,表现为运行msoobe /a没有任何显示,并且在服务中有一项reset5,开机会自动运 行此服务,C:\\WINDOWS\\system32\\srvany.exe,此程序应该是reset5添加入系统的。
(2)俄罗斯破解,记得在xp时代,只要把setupreg.hiv在安装前替换,然后电话激活就可以达到完美的激活境 界,可在2003下,这样子做之后,当前显示已激活,可如果你调整了时间再开机又会显示要激活,甚至是不能 使用。估计次次问题关键还是在那个setupreg.hiv文件。
(3)在论坛上有人贴出了一个Winxpactivation.exe的文件,号称可以激活,实际上这个还是假激活,暂时屏 蔽了激活程序,是不能够修改时间的。
(4)用替换法做出来的伪VLK,安装使用都没有问题,只是不能升级。VLK是替换英文版的8个文件.但是SN已经 被微软封掉了.所以不能升级,但是此法是最稳定的,没有任何问题。
二、 web硬盘权限设置篇 C:分区部分: c:/ administrators 全部 iis_wpg 只有该文件夹 列出文件夹/读数据 读属性 读扩展属性 读取权限
c:/inetpub/mailroot administrators 全部 system 全部 service 全部
c:/inetpub/ftproot everyone 只读和运行
c:/windows administrators 全部 Creator owner 不是继承的 只有子文件夹及文件 完全 Power Users 修改,读取和运行,列出文件夹目录,读取,写入 system 全部 Users 读取和运行,列出文件夹目录,读取
c:/Program Files Everyone 只有该文件夹 不是继承的 列出文件夹/读数据 administrators 全部 iis_wpg 只有该文件夹 列出文件/读数据 读属性 读扩展属性 读取权限
c:/Program Files/Common Files administrators 全部 Creator owner 不是继承的 只有子文件夹及文件 完全 Power Users 修改,读取和运行,列出文件夹目录,读取,写入 system 全部 TERMINAL SERVER Users(如果有这个用户) 修改,读取和运行,列出文件夹目录,读取,写入 Users 读取和运行,列出文件夹目录,读取
如果安装了我们的软件: c:/Program Files/LIWEIWENSOFT Everyone 读取和运行,列出文件夹目录,读取 administrators 全部 IIS_WPG 读取和运行,列出文件夹目录,读取
c:/Program Files/Dimac(如果有这个目录) Everyone 读取和运行,列出文件夹目录,读取 administrators 全部
c:/Program Files/ComPlus Applications (如果有) administrators 全部
c:/Program Files/GflSDK (如果有) administrators 全部 Creator owner 不是继承的 只有子文件夹及文件 完全 Power Users 修改,读取和运行,列出文件夹目录,读取,写入 system 全部 TERMINAL SERVER Users 修改,读取和运行,列出文件夹目录,读取,写入 Users 读取和运行,列出文件夹目录,读取 Everyone 读取和运行,列出文件夹目录,读取
c:/Program Files/InstallShield Installation Information (如果有) c:/Program Files/Internet Explorer (如果有) c:/Program Files/NetMeeting (如果有) administrators 全部
c:/Program Files/Windowsupdate Creator owner 不是继承的 只有子文件夹及文件 完全 administrators 全部 Power Users 修改,读取和运行,列出文件夹目录,读取,写入 system 全部
D:分区部分: d:/ (如果用户网站内容放置在这个分区中) administrators 全部权限
d:/FreeHost (如果此目录用来放置用户网站内容) administrators 全部权限 SERVICE 全部权限
E:分区部分: 从安全角度,我们建议WebEasyMail(WinWebMail)安装在独立的盘中,例如E: E:/(如果webeasymail安装在这个盘中) administrators 全部权限 system 全部权限 IUSR_*,默认的Internet来宾帐户(如果这个网站用这个用户来运行) 不是继承的 只有子文件夹 读取权限 E:/WebEasyMail (如果webeasymail安装在这个目录中) administrators 全部 system 全部权限 SERVICE 全部 IUSR_*,默认的Internet来宾帐户 全部权限(如果这个网站用这个用户来运行) 关于IUSR_*,我不建议用这个用户来运行Webeasymail,应该用平台开一个虚拟主机来运行Webeasymail。 三、 IIS设置篇 1)虚拟主机篇
正确设置磁盘的安全性,具体如下(虚拟机的安全设置,我们以asp程序为例子)重点:
1、系统盘权限设置
C:分区部分:
c:\
administrators 全部(该文件夹,子文件夹及文件)
CREATOR OWNER 全部(只有子文件来及文件)
system 全部(该文件夹,子文件夹及文件)
IIS_WPG 创建文件/写入数据(只有该文件夹)
IIS_WPG(该文件夹,子文件夹及文件)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
创建文件夹/附加数据
读取权限
c:\Documents and Settings
administrators 全部(该文件夹,子文件夹及文件)
Power Users (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
SYSTEM全部(该文件夹,子文件夹及文件)
C:\Program Files
administrators 全部(该文件夹,子文件夹及文件)
CREATOR OWNER全部(只有子文件来及文件)
IIS_WPG (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
Power Users(该文件夹,子文件夹及文件)
修改权限
SYSTEM全部(该文件夹,子文件夹及文件)
TERMINAL SERVER USER (该文件夹,子文件夹及文件)
修改权限
2、网站及虚拟机权限设置(比如网站在E盘)
说明:我们假设网站全部在E盘wwwsite目录下,并且为每一个虚拟机创建了一个guest用户,用户名为vhost1...vhostn并且创建了一个webuser组,把所有的vhost用户全部加入这个webuser组里面方便管理
E:\
Administrators全部(该文件夹,子文件夹及文件)
E:\wwwsite
Administrators全部(该文件夹,子文件夹及文件)
system全部(该文件夹,子文件夹及文件)
service全部(该文件夹,子文件夹及文件)
E:\wwwsite\vhost1
Administrators全部(该文件夹,子文件夹及文件)
system全部(该文件夹,子文件夹及文件)
vhost1全部(该文件夹,子文件夹及文件)
3、数据备份盘
数据备份盘最好只指定一个特定的用户对它有完全操作的权限
比如F盘为数据备份盘,我们只指定一个管理员对它有完全操作的权限
4、其它地方的权限设置
请找到c盘的这些文件,把安全性设置只有特定的管理员有完全操作权限
下列这些文件只允许administrators访问
net.exe
net1.exet
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.com
5.删除c:\inetpub目录,删除iis不必要的映射,建立陷阱帐号,更改描述 第三招:禁用不必要的服务,提高安全性和系统效率
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Task scheduler 允许程序在指定时间运行
Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务
Removable storage 管理可移动媒体、驱动程序和库
Remote Registry Service 允许远程注册表操作
Print Spooler 将文件加载到内存中以便以后打印。要用打印机的朋友不能禁用这项
IPSEC Policy Agent 管理IP安全策略以及启动ISAKMP/OakleyIKE)和IP安全驱动程序
Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知
Com+ Event System 提供事件的自动发布到订阅COM组件
Alerter 通知选定的用户和计算机管理警报
Error Reporting Service 收集、存储和向 Microsoft 报告异常应用程序
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
Telnet 允许远程用户登录到此计算机并运行程序
第四招:修改注册表,让系统更强壮
1、隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0
2、启动系统自带的Internet连接_blank">防火墙,在设置服务选项中勾选Web服务器。
3、防止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 0
4. 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery 值为0
5. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0
6. 不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
7.修改终端服务端口
运行regedit,找到[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp],看到右边的PortNumber了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。
2、第二处HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。
8、禁止IPC空连接:
cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。
9、更改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,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
10. 删除默认共享 有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可
11. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
第五招:其它安全手段
1.禁用TCP/IP上的NetBIOS 网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nbtstat命令来读取你的NetBIOS信息和网卡MAC地址了。
2. 账户安全 首先禁止一切账户,除了你自己,呵呵。然后把Administrator改名。我呢就顺手又建了个Administrator账户,不过是什么权限都没有的那种,然后打开记事本,一阵乱敲,复制,粘贴到“密码”里去,呵呵,来破密码吧~!破完了才发现是个低级账户,看你崩溃不?
创建2个管理员用帐号
虽然这点看上去和上面这点有些矛盾,但事实上是服从上面的规则的。 创建一个一般权限帐号用来收信以及处理一些*常事物,另一个拥有Administrators 权限的帐户只在需要的时候使用。可以让管理员使用 “ RunAS” 命令来执行一些需要特权才能作的一些工作,以方便管理
3.更改C:\WINDOWS\Help\iisHelp\common\404b.htm内容改为 这样,出错了自动转到首页
4. 安全日志
我遇到过这样的情况,一台主机被别人入侵了,系统管理员请我去追查凶手,我登录进去一看:安全日志是空的,倒,请记住:Win2000的默认安装是不开任何安全审核的!那么请你到本地安全策略->审核策略中打开相应的审核,推荐的审核是:
账户管理 成功 失败
登录事件 成功 失败
对象访问 失败
策略更改 成功 失败
特权使用 失败
系统事件 成功 失败
目录服务访问 失败
账户登录事件 成功 失败
审核项目少的缺点是万一你想看发现没有记录那就一点都没辙;审核项目太多不仅会占用系统资源而且会导致你根本没空去看,这样就失去了审核的意义
5. 运行防毒软件
我见过的Win2000/Nt服务器从来没有见到有安装了防毒软件的,其实这一点非常重要。一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。这样的话,“黑客”们使用的那些有名的木马就毫无用武之地了。不要忘了经常升级病毒库,我们推荐mcafree杀毒软件+blackice_blank">防火墙
6.sqlserver数据库服务器安全和serv-u ftp服务器安全配置,更改默认端口,和管理密码
7.设置ip筛选、用blackice禁止木马常用端口
一般禁用以下端口
135 138 139 443 445 4000 4899 7626
8.本地安全策略和组策略的设置,如果你在设置本地安全策略时设置错了,可以这样恢复成它的默认值.
打开 %SystemRoot%\Security文件夹,创建一个 "OldSecurity"子目录,将%SystemRoot%\Security下所有的.log文件移到这个新建的子文件夹中.
在%SystemRoot%\Security\database\下找到"Secedit.sdb"安全数据库并将其改名,如改为"Secedit.old".
启动"安全配置和分析"MMC管理单元:"开始"->"运行"->"MMC",启动管理控制台,"添加/删除管理单元",将"安全配置和分析"管理单元添加上.
右击"安全配置和分析"->"打开数据库",浏览"C:\WINNT\security\Database"文件夹,输入文件名"secedit.sdb",单击"打开".
当系统提示输入一个模板时,选择"Setup Security.inf",单击"打开".
如果系统提示"拒绝访问数据库",不管他.
你会发现在"C:\WINNT\security\Database"子文件夹中重新生成了新的安全数据库,
在"C:\WINNT\security"子文件夹下重新生成了log文件.安全数据库重建成功. 9.防止FSO的非法利用 现在绝大多数的虚拟主机都禁用了 ASP 的标准组件:FileSystemObject,因为这个组件为 ASP 提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作(当然,这是指在使用默认设置的Windows NT / 2000 下才能做到)。但是禁止此组件后,引起的后果就是所有利用这个组件的 ASP 将无法运行,无法满足客户的需求。
如何既允许FileSystemObject组件,又不影响服务器的安全性(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)呢?这里介绍本人在实验中获得的一种方法。(下文以 Windows 2000 Server 为例来说明)
在服务器上打开资源管理器,用鼠标右键点击各个硬盘分区或卷的盘符,在弹出菜单中选择“属性”,选择“安全”选项卡,此时就可以看到有哪些帐号可以访问这个分区(卷)及访问权限。默认安装后,出现的是“Everyone”具有完全控制的权限。点“添加”,将“Administrators”、“Backup Operators”、“Power Users”、“Users”等几个组添加进去,并给予“完全控制”或相应的权限,注意,不要给“Guests”组、“IUSR_机器名”这几个帐号任何权限。然后将“Everyone”组从列表中删除,这样,就只有授权的组和用户才能访问此硬盘分区了,而 ASP 执行时,是以“IUSR_机器名”的身份访问硬盘的,这里没给该用户帐号权限,ASP也就不能读写硬盘上的文件了。
下面要做的就是给每个虚拟主机用户设置一个单独的用户帐号,然后再给每个帐号分配一个允许其完全控制的目录。
如下图所示,打开“计算机管理”→“本地用户和组”→“用户”,在右栏中点击鼠标右键,在弹出的菜单中选择“新用户”:

在弹出的“新用户”对话框中根据实际需要输入“用户名”、“全名”、“描述”、“密码”、“确认密码”,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”。本例是给第一虚拟主机的用户建立一个匿名访问Internet信息服务的内置帐号"IUSR_VHOST1",即:所有客户端使用 http://xxx.xxx.xxxx/ 访问此虚拟主机时,都是以这个身份来访问的。输入完成后点“创建”即可。可以根据实际需要,创建多个用户,创建完毕后点“关闭”。
现在新建立的用户已经出现在帐号列表中了,在列表中双击该帐号,以便进一步进行设置:
在弹出的“IUSR_VHOST1”(即刚才创建的新帐号)属性对话框中点“隶属于”选项卡:
刚建立的帐号默认是属于“Users”组,选中该组,点“删除”。
现在出现的是如下图所示,此时再点“添加”:
在弹出的“选择组”对话框中找到“Guests”,点“添加”,此组就会出现在下方的文本框中,然后点“确定”:
出现的就是如下图所示的内容,点“确定”关闭此对话框:
打开“Internet信息服务”,开始对虚拟主机进行设置,本例中的以对“第一虚拟主机”设置为例进行说明,右击该主机名,在弹出的菜单中选择“属性”:
弹出一个“第一虚拟主机属性”的对话框,从对话框中可以看到该虚拟主机用户的使用的是“F:\VHOST1”这个文件夹:
暂时先不管刚才的“第一虚拟主机属性”对话框,切换到“资源管理器”,找到“F:\VHOST1”这个文件夹,右击,选“属性”→“安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),首先将“允许将来自父系的可继承权限传播给该对象”前面的对号去掉:
此时会弹出的“安全”警告,点“删除”此时安全选项卡中的所有组和用户都将被清空(如果没有清空,请使用“删除”将其清空),然后点“添加”按钮。
将如图中所示的“Administrator”及在前面所创建的新帐号“IUSR_VHOST1”添加进来,将给予完全控制的权限,还可以根据实际需要添加其他组或用户,但一定不要将“Guests”组、“IUSR_机器名”这些匿名访问的帐号添加上去。
再切换到前面打开的"第一虚拟主机属性"的对话框,打开"目录安全性"选项卡,点匿名访问和验证控制的"编辑":
在弹出的"验证方法"对方框(如下图所示),点"编辑", 弹出了"匿名用户帐号",默认的就是"IUSR_机器名",点"浏览", 在"选择 用户"对话框中找到前面创建的新帐号"IUSR_VHOST1",双击 , 此时匿名用户名就改过来了,在密码框中输入前面创建时,为该帐号设置的密码: 再确定一遍密码:
OK,完成了,点确定关闭这些对话框。
经此设置后,"第一虚拟主机"的用户,使用 ASP 的 FileSystemObject 组件也只能访问自己的目录:F:\VHOST1 下的内容,当试图访问其他内容时,会出现诸如"没有权限"、"硬盘未准备好"、"500 服务器内部错误"等出错提示了。
另:如果该用户需要读取硬盘的分区容量及硬盘的序列号,那这样的设置将使其无法读取。如果要允许其读取这些和整个分区有关的内容,请右键点击该硬盘的分区(卷),选择"属性"→"安全",将这个用户的帐号添加到列表中,并至少给予"读取"权限。由于该卷下的子目录都已经设置为"禁止将来自父系的可继承权限传播给该对象",所以不会影响下面的子目录的权限设置 。
|