原理篇

  我们将从***者***的各个环节来作出对应措施,一步步的加固windows系统.

  加固windows系统.一共归于几个方面

  1.端口限制

  2.设置ACL权限

  3.关闭服务或组件

  4.包过滤

  5.审计

  我们现在开始从***者的第一步开始.对应的开始加固已有的windows系统.

1.扫描

  这是***者在刚开始要做的第一步.比如搜索有漏洞的服务.

  对应措施:端口限制

  以下所有规则.都需要选择镜像,否则会导致无法连接

  我们需要作的就是打开服务所需要的端口.而将其他的端口一律屏蔽

2.下载信息

  这里主要是通过URL SCAN.来过滤一些非法请求

  对应措施:过滤相应包

  我们通过安全URL SCAN并且设置urlscan.ini中的DenyExtensions字段

  来阻止特定结尾的文件的执行

3.上传文件

  ***者通过这步上传WEBSHELL,提权软件,运行cmd指令等等.

  对应措施:取消相应服务和功能,设置ACL权限

  如果有条件可以不使用FSO的.

  通过 regsvr32 /u c:\windows\system32\scrrun.dll来注销掉相关的DLL.

  如果需要使用.

  那就为每个站点建立一个user用户

  对每个站点相应的目录.只给这个用户读,写,执行权限,给administrators全部权限

  安装杀毒软件.实时杀除上传上来的恶意代码.

  个人推荐MCAFEE或者卡巴斯基

  如果使用MCAFEE.对WINDOWS目录所有添加与修改文件的行为进行阻止.

4.WebShell

  ***者上传文件后.需要利用WebShell来执行可执行程序.或者利用WebShell进行更加方便的文件操作.

  对应措施:取消相应服务和功能

  一般WebShell用到以下组件

  WScript.Network

  WScript.Network.1

  WScript.Shell

  WScript.Shell.1

  Shell.Application

  Shell.Application.1

  我们在注册表中将以上键值改名或删除

  同时需要注意按照这些键值下的CLSID键的内容

  从/HKEY_CLASSES_ROOT/CLSID下面对应的键值删除

5.执行SHELL

  ***者获得shell来执行更多指令

  对应措施:设置ACL权限

  windows的命令行控制台位于\WINDOWS\SYSTEM32\CMD.EXE

  我们将此文件的ACL修改为

  某个特定管理员帐户(比如administrator)拥有全部权限.

  其他用户.包括system用户,administrators组等等.一律无权限访问此文件.

6.利用已有用户或添加用户

  ***者通过利用修改已有用户或者添加windows正式用户.向获取管理员权限迈进

  对应措施:设置ACL权限.修改用户

  将除管理员外所有用户的终端访问权限去掉.

  限制CMD.EXE的访问权限.

  限制SQL SERVER内的XP_CMDSHELL
 
7.登陆图形终端

  ***者登陆TERMINAL SERVER或者RADMIN等等图形终端,

  获取许多图形程序的运行权限.由于WINDOWS系统下绝大部分应用程序都是GUI的.

  所以这步是每个***WINDOWS的***者都希望获得的

  对应措施:端口限制

  ***者可能利用3389或者其他的***之类的获取对于图形界面的访问.

  我们在第一步的端口限制中.对所有从内到外的访问一律屏蔽也就是为了防止反弹***.

  所以在端口限制中.由本地访问外部网络的端口越少越好.

  如果不是作为MAIL SERVER.可以不用加任何由内向外的端口.

  阻断所有的反弹***.

8.擦除脚印

  ***者在获得了一台机器的完全管理员权限后

  就是擦除脚印来隐藏自身.

  对应措施:审计

  首先我们要确定在windows日志中打开足够的审计项目.

  如果审计项目不足.***者甚至都无需去删除windows事件.

  其次我们可以用自己的cmd.exe以及net.exe来替换系统自带的.

  将运行的指令保存下来.了解***者的行动.

  对于windows日志

  我们可以通过将日志发送到远程日志服务器的方式来保证记录的完整性.

  evtsys工具( https://engineering.purdue.edu/ECN/Resources/Documents)

  提供将windows日志转换成syslog格式并且发送到远程服务器上的功能.

  使用此用具.并且在远程服务器上开放syslogd,如果远程服务器是windows系统.

  推荐使用kiwi syslog deamon.

  我们要达到的目的就是

  不让***者扫描到主机弱点

  即使扫描到了也不能上传文件

  即使上传文件了不能操作其他目录的文件

  即使操作了其他目录的文件也不能执行shell

  即使执行了shell也不能添加用户

  即使添加用户了也不能登陆图形终端

  即使登陆了图形终端.拥有系统控制权.他的所作所为还是会被记录下来.
  
额外措施:

  我们可以通过增加一些设备和措施来进一步加强系统安全性.

   1.代理型防火墙.如ISA2004

  代理型防火墙可以对进出的包进行内容过滤.

  设置对HTTP REQUEST内的request string或者form内容进行过滤

  将SELECT.DROP.DELETE.INSERT等都过滤掉. 

  因为这些关键词在客户提交的表单或者内容中是不可能出现的.

  过滤了以后可以说从根本杜绝了SQL 注入

   2.用SNORT建立IDS

  用另一台服务器建立个SNORT.

  对于所有进出服务器的包都进行分析和记录

  特别是FTP上传的指令以及HTTP对ASP文件的请求

  可以特别关注一下.

  本文提到的部分软件在提供下载的RAR中包含

  包括COM命令行执行记录

  URLSCAN 2.5以及配置好的配置文件

  IPSEC导出的端口规则

  evtsys

  一些注册表加固的注册表项.