Windows 2003 服务器安全设置图文教程

时间:2016-09-25

 一、系统的安装

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再次备份系统。

二、系统权限的设置

1、磁盘权限
 系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
 系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
 系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM
的完全控制权限
 系统盘\Inetpub 目录及下面所有目录、文件只给 Administrators 组和 SYSTEM 的完全控制权限
 系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe 文件只给
Administrators 组和 SYSTEM 的完全控制权限
2、本地安全策略设置
 开始菜单—>管理工具—>本地安全策略
 A、本地策略——>审核策略
 审核策略更改 成功 失败
 审核登录事件 成功 失败
 审核对象访问 失败
 审核过程跟踪 无审核
 审核目录服务访问 失败
 审核特权使用 失败
 审核系统事件 成功 失败
 审核账户登录事件 成功 失败
 审核账户管理 成功 失败
 B、本地策略——>用户权限分配
 关闭系统:只有Administrators组、其它全部删除。
 通过终端服务拒绝登陆:加入Guests、User组
 通过终端服务允许登陆:只加入Administrators组,其他全部删除
 C、本地策略——>安全选项
 交互式登陆:不显示上次的用户名 启用
 网络访问:不允许SAM帐户和共享的匿名枚举 启用
 网络访问:不允许为网络身份验证储存凭证 启用
 网络访问:可匿名访问的共享 全部删除
 网络访问:可匿名访问的命 全部删除
 网络访问:可远程访问的注册表路径 全部删除
 网络访问:可远程访问的注册表路径和子路径 全部删除
 帐户:重命名来宾帐户 重命名一个帐户
 帐户:重命名系统管理员帐户 重命名一个帐户
3、禁用不必要的服务
 开始菜单—>管理工具—>服务
 Print Spooler
 Remote Registry
 TCP/IP NetBIOS Helper
 Server
 以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。
4、启用防火墙
 桌面—>网上邻居—>(右键)属性—>本地连接—>(右键)属性—>高级—>(选中)Internet 连接防火墙—>设置
 把服务器上面要用到的服务端口选中
 例如:一台WEB服务器,要提供WEB(80)、FTP(21)服务及远程桌面管理(3389)
 在“FTP 服务器”、“WEB服务器(HTTP)”、“远程桌面”前面打上对号
 如果你要提供服务的端口不在里面,你也可以点击“添加”铵钮来添加,具体参数可以参照系统里面原有的参数。
 然后点击确定。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。


Win2003 Server的安全性较之Win2K确实有了很大的提高,但是用Win2003
Server作为服务器是否就真的安全了?如何才能打造一个安全的个人Web服务器?下面给大家一些建议:

一、Windows Server2003的安装
 1、安装系统最少两需要个分区,分区格式都采用NTFS格式
 2、在断开网络的情况安装好2003系统
 3、安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP
服务)。默认情况下,IIS服务没有安装,在添加/删除Win组件中选择“应用程序服务器”,然后点击“详细信息”,双击Internet信息服务(iis),勾选以下选项:
 Internet 信息服务管理器;
 公用文件;
 后台智能传输服务 (BITS) 服务器扩展;
 万维网服务。
 如果你使用 FrontPage 扩展的 Web 站点再勾选:FrontPage 2002 Server Extensions
 4、安装MSSQL及其它所需要的软件然后进行Update。
 5、使用Microsoft 提供的 MBSA(Microsoft Baseline Security Analyzer)
工具分析计算机的安全配置,并标识缺少的修补程序和更新。下载地址:见页末的链接
二、设置和管理账户
 1、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。
 2、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
 3、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码,当然现在也有一个DelGuest的工具,也许你也可以利用它来删除Guest账户,但我没有试过。
 4、在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”。
 5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
 6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。
 7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。
三、网络服务安全管理
 1、禁止C$、D$、ADMIN$一类的缺省共享
 打开注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,在右边的窗口中新建Dword值,名称设为AutoShareServer值设为0
 2、 解除NetBios与TCP/IP协议的绑定
 右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS
 3、关闭不需要的服务,以下为建议选项
 Computer Browser:维护网络计算机更新,禁用
 Distributed File System: 局域网管理共享文件,不需要禁用
 Distributed linktracking client:用于局域网更新连接信息,不需要禁用
 Error reporting service:禁止发送错误报告
 Microsoft Serch:提供快速的单词搜索,不需要可禁用
 NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用
 PrintSpooler:如果没有打印机可禁用
 Remote Registry:禁止远程修改注册表
 Remote Desktop Help Session Manager:禁止远程协助
四、打开相应的审核策略
 在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,所以你需要根据情况在这二者之间做出选择。
 推荐的要审核的项目:
 登录事件 成功 失败
 账户登录事件 成功 失败
 系统事件 成功 失败
 策略更改 成功 失败
 对象访问 失败
 目录服务访问 失败
 特权使用 失败

五、其它安全相关设置
 1、隐藏重要文件/目录
 可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击
“CheckedValue”,选择修改,把数值由1改为0
 2、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。
 3、防止SYN洪水攻击
 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
 新建DWORD值,名为SynAttackProtect,值为2
 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、禁用DCOM:
 运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。
 对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。
 清除“在这台计算机上启用分布式 COM”复选框。
 注:3-6项内容我采用的是Server2000设置,没有测试过对2003是否起作用。但有一点可以肯定我用了一段的时间没有发现其它副面的影响。
六、配置 IIS 服务:
 1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。
 2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。
 3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。
 4、删除不必要的IIS扩展名映射。
 右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml, .shtm,
.stm
 5、更改IIS日志的路径
 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性
 6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。
 7、使用UrlScan
 UrlScan是一个ISAPI筛选器,它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。目前最新的版本是2.5,如果是2000Server需要先安装1.0或2.0的版本。下载地址见页未的链接
 如果没有特殊的要求采用UrlScan默认配置就可以了。
 但如果你在服务器运行ASP.NET程序,并要进行调试你需打开要%WINDIR%\System32\Inetsrv\URLscan
 文件夹中的URLScan.ini 文件,然后在UserAllowVerbs节添加debug谓词,注意此节是区分大小写的。
 如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。
 如果你的网页使用了非ASCII代码,你需要在Option节中将AllowHighBitCharacters的值设为1
 在对URLScan.ini 文件做了更改后,你需要重启IIS服务才能生效,快速方法运行中输入iisreset
 如果你在配置后出现什么问题,你可以通过添加/删除程序删除UrlScan。
 8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描.

七、配置Sql服务器
 1、System Administrators 角色最好不要超过两个
 2、如果是在本机最好将身份验证配置为Win登陆
 3、不要使用Sa账户,为其配置一个超级复杂的密码
 4、删除以下的扩展存储过程格式为:
 use master
 sp_dropextendedproc '扩展存储过程名'
 xp_cmdshell:是进入*作系统的最佳捷径,删除
 访问注册表的存储过程,删除
 Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
 Xp_regread Xp_regwrite Xp_regremovemultistring
 OLE自动存储过程,不需要删除
 Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
 Sp_OAMethod Sp_OASetProperty Sp_OAStop
 5、隐藏 SQL Server、更改默认的1433端口
 右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。
八、如果只做服务器,不进行其它*作,使用IPSec
 1、管理工具—本地安全策略—右击IP安全策略—管理IP筛选器表和筛选器*作—在管理IP筛选器表选项下点击
 添加—名称设为Web筛选器—点击添加—在描述中输入Web服务器—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为Tcp——IP协议端口第一项设为从任意端口,第二项到此端口80——点击完成——点击确定。
 2、再在管理IP筛选器表选项下点击
 添加—名称设为所有入站筛选器—点击添加—在描述中输入所有入站筛选—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为任意——点击下一步——完成——点击确定。
 3、在管理筛选器*作选项下点击添加——下一步——名称中输入阻止——下一步——选择阻止——下一步——完成——关闭管理IP筛选器表和筛选器*作窗口
 4、右击IP安全策略——创建IP安全策略——下一步——名称输入数据包筛选器——下一步——取消默认激活响应原则——下一步——完成
 5、在打开的新IP安全策略属性窗口选择添加——下一步——不指定隧道——下一步——所有网络连接——下一步——在IP筛选器列表中选择新建的
Web筛选器——下一步——在筛选器*作中选择许可——下一步——完成——在IP筛选器列表中选择新建的阻止筛选器——下一步——在筛选器*作中选择阻止
——下一步——完成——确定
 6、在IP安全策略的右边窗口中右击新建的数据包筛选器,点击指派,不需要重启,IPSec就可生效.
九 严重注意
 如果你按这些去*作,建议每做一项更改就测试一下服务器,如果有问题可以马上撤消更改。而如果更改的项数多,才发现出问题,那就很难判断问题是出在哪一步上了。

十、运行服务器记录当前的程序和开放的端口

 1、将当前服务器的进程抓图或记录下来,将其保存,方便以后对照查看是否有不明的程序。
 2、将当前开放的端口抓图或记录下来,保存,方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程,和端口这一步可以省略。

建议设置

本地链接属性
极限测试
在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。
tcpip1.jpg
tcpip13.jpg
在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。
tcpip2.jpg
在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。
tcpip3.jpg
在高级选项里,使用”Internet连接防火墙”,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
tcpip4.jpg
tcpip5.jpg
tcpip6.jpg

放开使用到的端口,如果修改了远程桌面的端口,别忘记添加上。如果有邮件服务器的话还要放开SMTP服务器端口25 POP3服务器端口110。对外提供服务的端口都要加上,不然无法访问服务。

tcpip12.jpg
tcpip7.jpg
tcpip8.jpg
tcpip9.jpg
修改ICMP设置,建议全部启用,便于网络测试ping等
tcpip10.jpg
tcpip11.jpg
权限的设置所有磁盘分区的根目录只给Administrators组和SYSTEM 的完全控制权限,注意系统盘不要替换子目录的权限。windows目录和Program Files目录等一些目录并没有继承父目录权限,这些目录还需要其它一些权限才能运行。 C:Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限,并应用到子对象的项目替代所有子对象的权限项目。 系统盘Documents and SettingsAll Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限。这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。
cacls1.jpg
cacls2.jpg
cacls3.jpg
c:/Documents and Settings/这里要注意,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All Users/Application Data目录下会 出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点等等。在用做web/ftp服务器的系统里,建议设置。
cacls4.jpg
Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。如果修改的话,不要应用到子对象的项目替代所有子对象的权限项目。系统目录权限拿不准的话就不要动了,一般做好根目录和Documents and Settings就比较安全了,asp程序访问不了根目录就访问不了子目录。
cacls5.jpg
另外Documents and Settings目录增加Users用户组的读取运行权限,可以避免出现LoadUserProfile失败,需要注意的是一但有users组读取权限,asp木马就能访问这个目录。为了安全需要接受一些错误日志。(2009年1月13日备注:貌似是没有system完全就出现LoadUserProfile,与users无关。)
cacls7.jpg
系统盘
下 cacls.exe; cmd.exe; net.exe; net1.exe; ftp.exe; tftp.exe; telnet.exe; netstat.exe; regedit.exe; at.exe; attrib.exe; format.com 文件只给 Administrators 组和SYSTEM 的完全控制权限。可查找一下统一设置,或者编辑一份批处理,使用cacls命令处理。 
cacls6.jpg

本地策略→审核策略

  审核策略更改   成功 失败  
  审核登录事件   成功 失败
  审核对象访问      失败
  审核过程跟踪   无审核
  审核目录服务访问    失败
  审核特权使用      失败
  审核系统事件   成功 失败
  审核账户登录事件 成功 失败
  审核账户管理   成功 失败

  本地策略→用户权限分配
  关闭系统:只有Administrators组、其它全部删除。
  通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除

  本地策略→安全选项
  交互式登陆:不显示上次的用户名       启用
  网络访问:不允许SAM帐户和共享的匿名枚举  启用
  网络访问:不允许为网络身份验证储存凭证   启用
  网络访问:可匿名访问的共享         全部删除
  网络访问:可匿名访问的命          全部删除
  网络访问:可远程访问的注册表路径      全部删除
  网络访问:可远程访问的注册表路径和子路径  全部删除
  帐户:重命名来宾帐户            重命名一个帐户
  帐户:重命名系统管理员帐户         重命名一个帐户

【禁用不必要的服务 开始-运行-services.msc】

  Computer Browser :维护网络上计算机的最新列表以及提供这个列表
  Distributed File System :局域网管理共享文件,不需要可禁用
  Distributed Link Tracking Client :用于局域网更新连接信息,不需要可禁用
  Error Reporting Service :禁止发送错误报告
  Messenger :传输客户端和服务器之间的 NET SEND 和 警报器服务消息
  Microsoft Serch :提供快速的单词搜索,不需要可禁用
  NT LM Security Support Provider :telnet服务和Microsoft Serch用的,不需要可禁用
  Print Spooler :如果没有打印机可禁用
  Remote Desktop Help Session Manager :禁止远程协助
  Remote Registry:禁止远程修改注册表
  Server :支持此计算机通过网络的文件、打印、和命名管道共享
  Task scheduler :允许程序在指定时间运行
  TCP/IPNetBIOS Helper :提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享文
  Workstation :关闭的话远程NET命令列不出用户组
  以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。

【卸载最不安全的组件】

  最简单的办法是直接卸载后删除相应的程序文件。

  将下面的代码保存为一个.BAT文件,( 以下以win2003为例系统文件夹应该是 C:WINDOWS )


  regsvr32 /u C:WINDOWSsystem32wshom.ocx
  regsvr32 /u C:windowssystem32wshext.dll
  regsvr32 /u C:WINDOWSsystem32shell32.dll


  如果有可能删除这些组件
  del C:WINDOWSsystem32shell32.dll
  del C:WINDOWSsystem32wshom.ocx
  del C:windowssystem32wshext.dll
  然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。
  去http://www.ajiang.net/products/aspcheck/下载阿江的探针查看相关安全设置情况。

  可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。

  恢复的话,去掉/u就行了FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。是ASP编程中非常有用的一个控件。但是因为权限控制的问题,很多虚拟主机服务器的FSO反而成为这台服务器的一个公开的后门,因为客户可以在自己的ASP网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。因此不少业界的虚拟主机提供商都干脆关掉了这个控件,让客户少了很多灵活性。我们公司的W2K虚拟主机服务器具有高安全性,可以让客户在自己的网站空间中任意使用却有没有办法危害系统或者妨碍其他客户网站的正常运行。

FSO的添加

1、首先在系统盘中查找scrrun.dll,如果存在这个文件,请跳到第三步,如果没有,请执行第二步。
2、在安装文件目录i386中找到scrrun.dl_,用winrar解压缩后scrrun.dll复制到系统盘:windowssystem32目录。
3、运行regsvr32 scrrun.dll即可。

FSO删除
regsvr32 /u scrrun.dll
建议保留

卸载stream对象

在cmd下运行:
regsvr32 /s /u "C:Program FilesCommon FilesSystemadomsado15.dll"
恢复的话,去掉/u就行了,建议保留修改远程桌面连接的3389端口为9874,十六进制2692等于十进制9874,根据需要修改成合适的端口。将下面的内容保存为.reg文件,导入注册表即可。(非必需)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp]
"PortNumber"=dword:00002692

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]
"PortNumber"=dword:00002692


杀毒

这里介绍MCAFEE 8.5i 中文企业版(s.jb51.net有的下载)
因为这个版本对于国内的许多恶意代码和木马都能够及时的更新.
比如已经能够检测到海阳顶端2006
而且能够杀除IMAIL等SMTP软件使用的队列中MIME编码的病毒文件
而很多人喜欢安装诺顿企业版.而诺顿企业版,对于WEBSHELL.基本都是没有反应的.
而且无法对于MIME编码的文件进行杀毒.
在MCAFEE中.
我们还能够加入规则.阻止在windows目录建立和修改EXE.DLL文件等
我们在软件中加入对WEB目录的杀毒计划.
每天执行一次
并且打开实时监控.
注意:安装一些杀毒软件会影响ASP地执行,是因为禁用了jscript.dll和vbscript.dll组件
在dos方式下运行 regsvr32 jscript.dll, regsvr32 vbscript.dll解除限制即可
比如出现 请求的资源在使用中

regsvr32 %windir%system32jscript.dll
regsvr32 %windir%system32vbscript.dll

上一条:IIS 6.0 安装与网站架设教程[图文] 下一条:在dell PowerEdge 2950上安装win2003 server的方法介绍

相关文章

最新文章