网络安全 频道

增强微软终端服务的安全性

By:Sir Variant [SirVariant@hotmail.com]
现在很多网络管理员都在使用微软的终端服务(Terminal Service)来维护自己的服务器,微软的终端服务基于远程桌面协议RDP(Remote Desktop Protocol),它的速度非常快,也很稳定,是一个比较好的远程管理软件,不过这个终端服务的安全性却有待增强:
首先,微软的终端服务默认情况下只能使用3389端口。这样随便哪个人都能用客户端连上去试试密码;再加上前些时候微软输入法的漏洞,不需密码就可获得System权限。实在很危险。(即便是装了SP2,如果之后又安装了其他输入法,如紫光拼音、拼音加加等,输入法漏洞又会重现。)
其次,微软的终端服务没有完善的日志功能,登录用户的IP和登录时间都不知道。这样有心入侵的黑客就会更加肆无忌惮地反复尝试登录密码了,一旦密码被破解,黑客就能完全控制该服务器,后果很严重。
下面Variant就这两个问题给出解决方法。
首先我们来更改终端服务的端口。
第一步,更改终端服务的服务器端的端口设置。
打开注册表,找到类似这样的键值HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp, 看到那个PortNumber没有?0xd3d,这个是16进制,就是3389啦,我改...这个值是RDP(远程桌面协议)的默认值,也就是说用来配置以后新建的RDP服务的,要改已经建立的RDP服务,我们去下一个键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations这里应该有一个或多个类似RDP-TCP的子健(取 决于你建立了多少个RDP服务),一样改掉PortNumber。
第二步,改终端服务客户端的端口设置。
打开客户端连接管理器,按照正常的步骤建立一个客户 端连接的快捷方式,选中这个连接,然后在“文件”菜单里选择“导出”,这个操作会生成一个cns文件,就是终端服务客户端的配置文件,你可以用文本编辑器(比如记事本、UltraEdit)编辑这个文件,找到“Server Port=3389”(改成你要的端口,然后再选导入,这是的客户端快捷方式已经变成你需要的端口了。 需要注意的是,从微软主页上下载的终端服务客户端Terminal Service Client(MSI版)以及ActiveX版都不能更改端口,只有使用 Win2000服务器版终端服务自带的“制作安装盘”功能制作版本可以改端口,这个功能在管理工具的“终端服务客户端生成器”(Terminal Service Client Creator中)。
下面我们来完善终端服务的日志功能,其实终端服务是有日志功能的,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务(比如RDP-TCP(Microsoft RDP5.0)),选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了吗?我们来加入一个Everyone组,这代表所有的用户,然后审核他的“连接”、“断开”、“注销”的 成功和“登陆”的功能和失败就足够了,这个审核试记录在安全日志中的,可以从“管理工具”->“日志查看器 ”中查看。 现在什么人什么时候登陆都一清二楚了,可是它却不记录客户端的IP(只能查看在线用户的IP)而是记录计算机名。我们可以利用终端服务允许我们为用户自定义起始的程序,来实现让用户运行下面这个ip.bat,以获得登录用户的IP,这个批处理文件的内容非常如下:
time /t>>D:\IP.log
netstat -n -p tcp|find ":3389">>D:\IP.log
start Explorer
解释一下这个文件的含义:
第一行是记录用户登陆的时间,Time /t的意思是直接返回系统时间(如果不加/t,系统会等待你输入新的时间),然后我们用重定向符号 >>把这个时间记入D:\IP.log 第二行是记录用户的ip地址,Netstat是用来显示当前网络连接状况的命令,-n表示显示ip和端口而不是域名、协议,-p tcp是只显示 tcp协议,然后我们用管道符号“|”把这个命令的结果输出给Find命令,从输出结果中查找包含“:3389”的行(这就是我们要得客户 的ip所在行,如果你改了终端服务的端口,这个数值也要作相应的改变),最后我们同样把这个结果重定向到日志文件D:\IP.log中去,于是在D:\IP.log文件中,记录格式如下:
22:40
TCP 192.168.12.28:3389 192.168.10.123:4903ESTABLISHED
22:54
TCP 192.168.12.28:3389 192.168.12.29:1039ESTABLISHED
也就是说只要这个IP.bat文件一运行,所有连在3389端口的ip都会被记录,那么如何让这个批处理文件运行呢?我们知道终端服务允 许我们为用户自定义起始的程序,在终端服务配置中,我们覆盖用户的登陆脚本设置并指定IP.bat为用户登录时需要打开的脚本

这样每个用户登录后都必须执行这个脚本,因为默认得脚本(相当于SHELL环境)是Explorer(资源管理器),所以我在IP.bat的最后 一行加上了启动Explorer的命令start Explorer,如果不加这一行命令,用户是没有办法进入桌面的。当然,如果你只需要给用户特定 的SHELL:例如“紧急通知.txt”或者“word.exe”你也可以把start explorer替换成任意的hell。
经过以上修改,终端服务的安全性有了一定的提高,当然您别忘了设置一个强壮的登陆密码哦。http://netadmin.77169.com/HTML/20031102024800.html

0
相关文章