网站地图    收藏   

主页 > 后端 > 网站安全 >

Windows2003网络服务器绝版攻略 - Windows操作系统

来源:自学PHP网    时间:2015-04-17 18:33 作者: 阅读:

[导读] Windows Server可以被配置为多种角色,Windows Server 2003 可以被配置为域控制器、成员服务器、基础设施服务器、文件服务器、打印服务器、IIS服务器、IAS服务器、终端服务器等等。而且服务...

Windows Server可以被配置为多种角色,Windows Server 2003 可以被配置为域控制器、成员服务器、基础设施服务器、文件服务器、打印服务器、IIS服务器、IAS服务器、终端服务器等等。而且服务器可以被配置为几种角色的综合。
铁通数据中心机房存在多台不同角色的服务器,例如:备份服务器,终端服务器,Web服务器等,大部分是集各种角色于一身的服务器,所以有必要制作一份完整的安全方案文档以供参考,综合了部分虚拟主机公司的方案以及网络整理的资料和个人的一些经验,制作此方案。
总的来说,做为一个集各种角色为一身的服务器,主要是从以下几个方面进行安全加固设置:组件安全、端口安全、Windows常见自带程序的安全设置、远程终端安全、第三方软件的安全设置、木马病毒的防范设置、系统服务设置、帐号安全问题、日志安全设置、MSSQL安全设置、常见危险协议的删除、日常服务器安全检测、目录权限设置、DDOS攻击的设置、MYSQL安全设置、php安全设置。
注意:下面的策略是本着安全最大化的目的来执行的,实际操作中,要本着服务器正常应用与安全尽量化两者同时兼并的标准来进行。

组件安全:
一、禁止使用FileSystemObject组件
FileSystemObject可以对文件进行常规操作以及进行各种存在安全隐患的操作,可以通过修改注册表,将此组件改名,来防止利用FSO组件的ASP木马的危害。
步骤1:HKEY_CLASSES_ROOTScripting.FileSystemObject 名为其它的名字,如:改为 FileSystemObject_ChangeName,如果ASP程序必须使用这个组件,那么在代码中改相应的名称

步骤2:将clsid值也改一下,HKEY_CLASSES_ROOTScripting.FileSystemObjectCLSID项目的值,也可以将其删除,来防止此类木马的危害。

步骤3:将此组件注销:RegSVR32 /u C:WINDOWSSYSTEM32scrrun.dll

步骤4:禁止Guest用户使用FSO组件文件:scrrun.dll,命令:cacls C:WINDOWSsystem32scrrun.dll /e /d guests

注意:部分流行网站程序中的功能可能会用到FSO组件,在一般情况下,请修改ASP程序文件中对应的FSO名和clsid值为修改过后的服务器中的值。
(注:此组件的注销可能会影响到很多asp网站程序中部分功能的使用,例如上传等,如果必要,那么利用命令RegSVR32 C:WINDOWSSYSTEM32scrrun.dll重新注册。)
二、禁止使用WScript.Shell组件
WScript.Shell可以调用系统内核运行DOS基本命令,可以通过修改注册表,将此组件改名,来防止此类木马的危害。
步骤1:HKEY_CLASSES_ROOTWScript.Shell及HKEY_CLASSES_ROOTWScript.Shell.1改名为其它的名字,如:改为WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName,自己以后调用的时候使用这个就可以正常调用此组件了
步骤2:将clsid值也改一下HKEY_CLASSES_ROOTWScript.ShellCLSID项目的值和HKEY_CLASSES_ROOTWScript.Shell.1CLSID项目的值也可以将其删除,来防止此类木马的危害。
注意:一般情况下,这个组件很少被网站程序应用到,但是如果要用,请修改ASP程序文件中对应的WSH名和clsid值为修改过后的服务器中的值。

三、禁止使用Shell.Application组件
Shell.Application可以调用系统内核运行DOS基本命令,可以通过修改注册表,将此组件改名,来防止此类木马的危害。
步骤1:HKEY_CLASSES_ROOTShell.Application及HKEY_CLASSES_ROOTShell.Application.1改名为其它的名字,如:改为Shell.Application_ChangeName 或 Shell.Application.1_ChangeName,自己以后调用的时候使用这个就可以正常调用此组件了
步骤2:也要将clsid值也改一下,HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值和HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值,也可以将其删除,来防止此类木马的危害。
步骤3:注销Shell.Application组件文件:regsvr32/u C:WINDOWSsystem32shell32.dll
步骤4:禁止Guest用户使用shell32.dll来防止调用此组件:cacls C:WINDOWSsystem32shell32.dll /e /d guests。

以上设置做完之后,重新启动服务器。几个危险组件就彻底禁止掉了。核对下它们是否禁止成功,可以用ASP探针aspcheck.asp来探测下组件安全性。可以看到禁止掉的几个组件是叉号表示。

防范了大部分主流的ASP木马,当然一些偏门的asp木马仍然需要注意,这些偏门的ASP木马:例如利用adodb.stream的木马等,这些基本上利用下面要讲解到的安全措施进行防范。


端口安全:
可以使用TCP/IP的过滤或者Windows 2003自带防火墙来实现端口的安全,下面逐个讲解。
一、Windows 自带防火墙(Windows Firewall/Internet Connection Sharing (ICS))
步骤1:网上邻居—>(右键)属性—>本地连接—>(右键)属性—>高级—>(选中)Internet 连接防火墙—>设置 服务器上面要用到的服务端口选中

例如:一台WEB服务器,要提供WEB(80)、FTP(21)服务及远程桌面管理(3389)在“FTP 服务器”、“WEB服务器(HTTP)”、“远程桌面”、“安全WEB服务器”前面打上对号
如果你要提供服务的端口不在里面,你也可以点击“添加”铵钮来添加,SMTP和POP3根据需要打开

具体参数可以参照系统里面原有的参数。
步骤2:然后点击确定。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。
一般需要打开的端口有:21、 25、 80、 110、 443、 3389、 等,根据需要开放需要的端口。注意将TCP/IP端口里面的10001-10005(需要用算法计算,下面会讲解到此算法)设置进去,因为这是设置Serv-U的PASV模式使用的端口,当然也可以使用别的。

二、WindowsTCP/IP的过滤
桌面上右击网上邻居--属性--双击打开外网网卡,选择Internet 协议(TCP/IP)--高级--切换到“高级TCP/IP设置”中的选项标签下,选择“TCP/IP筛选”,这里有三个过滤器,分别为:TCP端口、UDP端口和IP 协议,我们用TCP端口,将常用的端口添加进去。除了常见的服务程序应用端口外,仍然需要注意的是Serv-u的随机端口的设置。这个设置直接关系到用户访问FTP时是否会出现Socket错误。这里需要计算Serv-u的随机端口列表。参看下面“注意”中的随机端口计算。

注意:关于客户端软件出现Socket错误的几种可能的解决办法:
1、   将客户端软件的传输方式改为PASV方式
2、   根据Serv-u随机端口的算法,将计算出的随机端口列表添加到TCP/IP筛选中。例如:
客户端设置成被动方式,链接FTP服务器,会由于随机端口没有设置而出错,从软件中的出错信息中找到类似这样227 Entering Passive Mode (60,195,253,118,3,52)(格式:IP,m,n)找到它,我们利用公式计算出如果客户端用被动方式登录服务器时,服务器要动态开放的第一个端口值。公式为m*256+n,上例中应该是3*256+52=820,所以把随机端口列表820-830添加进去。注意:不要和已知存在的应用程序的端口冲突,例如mssqlmysql,termservice等端口。

3、   南北互联问题,这个问题的几率不大,没确切凭据。

三、端口与列表的进程关联查看
经常使用Activex Ports,psport, TCPView等小工具查看服务器端口对应的进程,可以防止一些低级别的木马后门植入。

同时也要检查常见的启动项,低级别的木马也喜欢在这些地方加载达到随机启动,可以利用小工具msconfig查看。


Windows常见自带程序的安全设置:
1、Tftp文件的修改
入侵者在权限允许的情况下可能会使用小型文件传输协议进行后门木马等危险程序的上传,所以需要彻底禁止掉TFTP服务,服务器一般很少用到这个服务。
操作:用文本编辑工具打开%systemroot%system32driversetc下的service文件找到对应的tftp那一行,将 69/udp 替换成 0/udp。保存退出

2、禁用Guests组用户调用cmd.exe
  2003使用命令:cacls C:WINDOWSsystem32Cmd.exe /e /d guests,同理,将上面的命令应用到如下进程:
net1.exet
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.com
netsh.exe(千万要注意这个程序,它可以修改网络属性以及windows自带防火墙设置,安全隐患大)

3、彻底禁止telnet的的登陆   
在c:windowssystem32目录下有个login.cmd文件,将其用记事本打开,在文件末尾另取一行,加入exit保存。这样用户在登陆telnet时,便会立即自动退出.


远程终端安全:
Termservices是Windows自带的远程管理程序,经常被入侵者利用。所以在这部分的安全设置要尤其注重。主要从端口,审核,日志,策略3个方面来加强它的安全
1、端口值:
将默认的3389改掉,改成一个很大的值,越大越好,因为入侵者可能利用某些工具探测终端端口,例如tsscan,设置的越大,越能起到拖延的作用。
修改注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp和HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwdTds cp,这两个分支下的portnumber键值改为你想要的端口,例如65511

如果感觉手工修改注册表麻烦,可以用下面这个小工具代劳。

2、用户审核设置:
设置完端口之后,有必要对每次终端登陆的日志进行记录,以方便日常安全检查。
为远程登录启动日志记录:开始-程序-管理工具-终端服务配置-连接-rdp/tcp-右键-属性-权限-添加administrators组-高级-审核-添加everyone组,选择审核的项目为登录和注销。

3、批处理记录远程终端连接IP日志
步骤1:将下面的代码保存在记事本中保存为3389.bat,
@echo off
date /t >> E:server3389.txt
attrib +s +h E:server3389.bat
attrib +s +h E:server3389.txt
time /t &g

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论