频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Linux远程连接Win平台的TerminalService

作者: 佚名 出处:51CTO论坛  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-09-11 10:46
关 键 词:TerminalService  Linux  Windows  远程管理
阅读提示:微软的win2000服务器版中带了一个终端服务Terminal Service,这个服务基于远程桌面协议RDP,他的速度非常快,也很稳定,是一个比较好的远程管理软件。

微软的win2000服务器版中带了一个终端服务Terminal Service,这个服务基于远程桌面协议RDP,他的速度非常快,也很稳定,是一个比较好的远程管理软件,不过这个终端服务有几个不方便的地方:

第一是没有改端口的地方,终端服务只能使用默认得3389端口。对于一个谨慎地管理员来说,服务器开着3389端口,随便哪个人都能上去试试密码;再加上前些时候微软输入法的漏洞,不需密码就是System权限。

第二是没有完善的功能日志,这样什么人什么时候连结上都不知道。其实这两个问题都可以非常容易的解决,对于端口问题,微软提供了一个方法允许用户自己更改服务器端和客户端的端口:

微软的原文在:http://support.microsoft.com/support/kb/articles/Q187/6/23.ASP(上面这个连接是英文的。如果愿意,可自己看。)^_^

1、第一步,更改终端服务的服务器端设置。

打开注册表,找到类似这样的键值HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWdsRepwdTdsTcp,看到那个PortNumber没有?0xd3d,这个是16进制,就是3389啦,我改...这个值是RDP(远程桌面协议)的默认值,也就是说用来配置以后新建的RDP服务的,要改已经建立的RDP服务,我们去下一个键值:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminalServerWinStations这里应该有一个或多个类似RDP-TCP的子健(取决于你建立了多少个RDP服务),一样改掉PortNumber。

2、第二步,改客户端。

服务端改了端口而客户端端口没有改变,我们岂不是白瞪眼?再来改客户端:打开客户端连接管理器,按照正常的步骤建立一个客户端连接的快捷方式,选中这个连接,然后在“文件”菜单里选择“导出”(Menu->File->Export),这个操作会生成一个cns文件,就是终端服务客户端的配置文件,你可以用文本编辑器(比如记事本)编辑这个文件,找到“Server Port=3389”,改成你要的端口,然后再选导入(Menu->File->Import),这是的客户端快捷方式已经变成你需要的端口了。

需要主义的是,从微软主页上下载的终端服务客户端Terminal Service Client(MSI版)以及ActiveX版都不能更改端口,只有使用Win2000服务器版终端服务自带的“制作安装盘”功能制作版本可以改端口,这个功能在管理工具的“终端服务客户端生成器”(Terminal Service Client Creator)中。

对于日志的问题,其实Terminal Service自己是有日志功能的,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务(比如RDP-TCP(Microsoft RDP5.0)),选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了吗?

我们来加入一个Everyone组,这代表所有的用户,然后审核他的“连接”、“断开”、“注销”的成功和“登陆”的功能和失败就足够了,审核太多了反而不好,这个审核试记录在安全日志中的,可以从“管理工具”->“日志查看器”中查看。

现在什么人什么时候登陆都一清二楚了,可是它却不记录客户端的IP(只能查看在线用户的ip)而是记录计算机名,要是别人起个PIG的机器名你只好受他嘲弄了。我们来自己写个程序,一切搞定,你会c么?反正我不会,vb呢?我也不会^_^,Delphi??我还是不会 ^_^,别急,如果你和我一样,还有一个办法,我们建立一个.bat文件,叫做TSLog.bat,这个文件用来记录登录者的ip,内容如下:

time /t>>TSLog.log
netstat -n -p tcp|find ":3389">>TSLog.log
start Explorer

我来解释一下这个文件的含义:

第一行是记录用户登陆的时间,Time/t的意思是直接返回系统时间(如果不加/t,系统会等待你输入新的时间),然后我们用追加符号

>>把这个时间记入TSLog.log

第二行是记录用户的ip地址,Netstat是用来显示当前网络连接状况的命令,-n表示显示ip和端口而不是域名、协议,-p tcp是只显示tcp协议,然后我们用管道符号“|”把这个命令的结果输出给Find命令,从输出结果中查找包含“:3389”的行(这就是我们要得客户的ip所在行,如果你改了终端服务的端口,这个数值也要作相应的改变)。

最后我们同样把这个结果重定向到日志文件TSLog.log中去,于是在TSLog.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

也就是说只要这个TSLog.bat文件一运行,所有连在3389端口的ip都会被记录,那么如何让这个批处理文件运行呢?

我们知道终端服务允许我们为用户自定义起始的程序,在终端服务配置中,我们覆盖用户的登陆脚本设置并指定TSLog.bat为用户登录时需要打开的脚本,这样每个用户登录后都必须执行这个脚本,因为默认得脚本(相当于SHELL环境)是 Explorer(资源管理器),所以我在TSLog.bat的最后一行加上了启动Explorer的命令start Explorer,如果不加这一行命令,用户是没有办法进入桌面的。当然,如果你只需要给用户特定的SHELL:例如cmd.exe或者word.exe你也可以把start explorer替换成任意的SHELL。

这个脚本也可以有其他的写法,例如写一个脚本把每个登陆用户的ip发送到自己的信箱对于很重要的服务器也是一个很好的方法。

正常情况下,一般的用户没有查看终端服务设置的权限,所以他不会知道你对登陆进行了ip审核,只要把TSLog.bat文件和TSLog.log文件放在比较隐蔽的目录里就足够了,不过需要注意的是这只是一个简单的终端服务日志攻略,并没有太多的安全保障措施和权限机制,如果服务器有更高的安全要求,那还是需要通过编程后购买入侵检测 软件来完成。

【相关文章】

【责任编辑:刘兵 TEL:(010)68476606】

发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Windows XP远程桌面连接图解(.. (查看31920次)
·Windows Vista 初步 (查看21158次)
·Solaris基础知识入门 (查看20711次)
·Linux的安装 (查看17474次)
·Windows操作系统安装 (查看16476次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有