DELPHI與.Net

程序開發中......... [注明:该Blog中的信息都并非原创,只是作为个人的阅读笔记]

让你的终端服务器“固若金汤”

让你的终端服务器“固若金汤”

来自: http://edu.cn700.com


  众所周知,WINDOWS2000(简称WIN2000)服务器器提供了一个基于远程桌面协议(RDP)的服务---终端服务,它是一个很优秀的远程管理软件,使WIN2000成为真正的多会话环境操作系统,并且为每个登录的用户提供自己唯一的环境,用户能使用服务器上的各种合法资源,但终端服务器为用户提供方便的同时,也带来了很多安全隐患,如何解决这些问题呢?下面就结合自己的一些经验,谈谈使用终端服务器的一些技巧。
 


 一、修改终端服务器的默认端口号
    大家都知道,终端服务器使用3389端口提供服务的,有些管理人员不想使用默认的端口号,因为用端口扫描程序很容易找到某一网段所以的终端服务器,这个安全带来很大隐患,现在我们用NETSCAN试试,看看会有什么结果。
  我们用NETSCAN扫描61.190.141.*网段的3389端口(图一),就会找到若干台3389端口开放的机器,这样网络中的终端服务器就很容易被找到,如果这些人“心怀叵测”,服务器就可能遭受损失,所以很多管理员想更改默认的端口号,但终端服务器管理工具没给我们提供这个功能,难道没办法修改了吗?其实试有的,我们可以通过修改注册表来实现。
    1、修改终端服务器服务端的端口号
  单击“开始-->运行”,在弹出的运行对话框中输入“regedit",点击”确定“,在注册表编辑器左栏中依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp”,在右栏中找到“PortNumber”(图二),双击打开编辑对话框,可以看到其值为“d3d”,转换成十进制就是“3389”,将其值更改为你想要的端口值即可。
然后在注册表编辑器左栏(图三),依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp”,在右栏中找到“PortNumber“,双击后,在编辑修改框中输入你”修改后的端口值“,单击”确定“,重新启动机器后修改即可生效。
    2、修改客户端的端口号
  服务器端修改完成后,如果不修改客户端,客户将不能连接到终端服务器,下面我们就修改客户端。
  打开Terminal Server Client的”客户端连接管理器“,选择需要修改端口的连接项目(图四),点击”文件-->导出 ,然后将导出的文件以.cns保存在硬盘上,用”写字板程序“打开此文件,修改”Server Port“为服务器所使用的端口号(图五),保存修改,最后导入该cns文件至Terminal Server的客户端管理器即可。
 以上就完成了终端服务的端口号修改。


二、Terminal Server的日志完善
    终端服务是一个功能强大而且只受到密码保护的服务,一旦入侵者拥有了管理员密码,就能够象使用本机一样控制远程服务器,现在很多终端服务器没有打开终端服务的日志,这是非常的危险,现在我们就打开打开”日志审核“。
    1、打开终端服务器的日志审核
  在服务器端,依次选择”开始--->程序--->管理工具--->终端服务配置“,在终端服务配置窗口左栏中选择”终端服务配置-->连接“,在右栏中右击”RDP--TCP“,在弹出的菜单中选择属性,切换到”权限“选项页,单击左下角”高级“按钮,切换到”审核“页,单击”添加“,在”选择用户和组“列表框中选择”Everyone“(加入一个Everyone组代表所有的用户),点击”确定“,弹出”RDP--TCP审核的项目“对话框(图六),在这里审核它的"连接"、"断开"、"注销"、"登录"的成功和失败就可以了,审核太多了反而不好,在”访问“框中钩选你想审核的项目,钩选完成后,单击”确定“即可。
   2、完善终端服务审核日志
     网络管理员打开”事件查看器“,发现终端服务日志很不完善,只能记录登录用户的”机器名“,没办法记录它的IP地址,用机器名去查找用户是很愚蠢的,不要着急,我们可以自己来完善日志。
    在C盘目录下,创建2个文件TS.BAT和TS.LOG,TS.BAT是用户登录是要运行的脚本文件,TS.LOG为日志文件(安全起见,可以将2个文件放在某个比较隐藏的目录下).
  TS.BAT脚本文件内容如下:
   time /t >>TS.log
   netstat -n -p tcp | find ":3389">>TS.log
   start Explorer

第一行是记录用户登录的时间,"time /t"的意思是返回系统时间,使用用追加符号">>"把这个时间记入TS.log作为日志的时间字段
第二行是记录用户的IP地址,"netstat"是用来显示当前网络连接状况的命令,"-n"表示显示IP和端口,,"-p  tcp"是只显示tcp协议,然后用管道符号"|"把这个命令的结果输出给find命令,从输出结果中查找包含":3389"的行,最后把这个结果重定向到日志文件TS.log.
 最后一行加上了启动Explorer的命令"start Explorer".

现在把TS.BAT脚本设置成用户的登录脚本.
在终端服务配置中,点击"连接",在右框中右击”RDP--TCP“,单击"属性"选项,在弹出的属性窗口中,切换到"环境"页(图七),在初始程序下,钩选"替代用户配置文件和客户端连接管理器向导的设置",然后在下面的"程序路径和文件名"输入"c:\tsl.bat"和"C:\",单击"确定"完成设置.
 现在我们使用客户端管理器登录服务器后,打开TS.LOG日志, 就会发现多了"
22:08
  TCP    218.22.123.26:3389     61.190.141.25:1115     ESTABLISHED"这个记录,
 "22:08"是登录时间,"61.190.141.25"就是客户的IP.
如果你的终端服务器端口号修改了,不是默认的3389,TS.BAT脚本文件也要做相应的修改.
 

三、提高会话的加密级别
  终端服务器默认的加密级别是”中级“,可以通过提高级别来增强服务器的安全性。
  在服务器端,依次选择”开始--->程序--->管理工具--->终端服务配置“,在终端服务配置窗口左栏中选择”终端服务配置-->连接“,在右栏中右击”RDP--TCP“,在弹出的菜单中选择属性,在”常规“选项页中(图八),点击”加密级别“下拉列表,选择”高“,单击”确定“,
 这样就可以提高传输数据的安全性。


四、操作系统补丁
  很多朋友记得在WIN2000没安装SP2补丁时存在一个输入法漏洞,用户在不知道管理员密码的情况下,可以通过这个漏洞直接获得管理员权限,这是系统本身存在的问题,只能通过下载补丁来修复,老的问题解决了,新的问题还会存在的,因此要经常登录微软的官方站点下载最新的补丁。,

posted on 2005-03-31 16:31  人淡如菊  阅读(794)  评论(0编辑  收藏  举报

导航