(越辰科技整理)WINDOWS 2003 远程桌面不能记录登陆IP真是件头痛的事,本方法可以记录登陆者IP,具体的操作步骤如下:
1、建立一个存放日志的目录,如C盘下建立一个RDP的目录“C:/RDP”。 2、然后在“C:/RDP”目录下创建一个名字为“RDPlog.txt”的文本文件“C:/RDP/RDPlog.txt”。 3、然后在“C:/RDP”目录下创建一个名字为“RDPlog.bat”的批处理文件,内容为: date /t >>RDPlog.txt time /t >>RDPlog.txt netstat -n -p tcp | find ":3389">>RDPlog.txt start Explorer 4、进入控制面板---管理工具---终端服务器配置---RDP-Tcp---属性-环境-用户登录时启用下列程序---在程序路径和文件名---写“C:\RDP\rdplog.bat”---起始于---写“C:\RDP\”这样就ok了。下次用终端登陆的时候就会自动记录IP地址到“C:/RDP/RDPlog.txt”了,打开直接看就行了。
--------
方法二:
@echo off rem 3389log.bat :log date /t >>c:\winnt\system\38log.log time /t >>c:\winnt\system\38log.log netstat an /find "3389" /find "ESTABLI SHED" >> c:\winnt\system\38log.log goto :log
把这个文件放到c:\winnt\system\grouppolicy\user\script\Logon 下面,然后在运行中输入:gpedit.msc,进入组策略,选择:用户配制》》windows设置》》脚本。在右窗口中双击登陆,最后选“添加”把刚才的批处理加上。
===============
对于日志的问题,其实Terminal Service自己是有日志功能的,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务(比如RDP-TCP(Microsoft RDP5.0)),选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了吗?我们来加入一个Everyone组,这代表所有的用户,然后审核他的“连接”、“断开”、“注销”的成功和“登陆”的功能和失败就足够了,审核太多了反而不好,这个审核试记录在安全日志中的,可以从“管理工具”->“日志查看器”中查看。 现在什么人什么时候登陆都一清二楚了,可是它却不记录客户端的IP(只能查看在线用户的ip)而是记录计算机名,我们可以建立一个.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表示显緄p和端口而不是域名、协议,-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 文件放在比较隐蔽的目录里就足够了,不过需要注意的是这只是一个简单的终端服务日志攻略,并没有太多的安全保障措施和权限机制 ,如果服务器有更高的安全要求,那还是需要通过编程后购买入侵检测 软件来完成。
_______________________________________________________
首先建立一个bat 文件,比如:login.bat //或者login.cmd ,前提是你的系统上设置允许查看文件后缀名。具体设置选项,可以打开我的电脑/工具/文件夹选项/查看/ 清除“隐藏己知文件类型的扩展名”前面的钩。 文件内容如下:
echo off date /t >>D:\temp\login.log time /t >>D:\temp\login.log echo 协议 本地IP地址 远程IP地址 连接状态 >>D:\temp\login.log netstat -an -p tcp |find ":3389" >>D:\temp\login.log start explorer echo __________________________________________________________________ >>D:\temp\login.log
其中find ":3389" 为你的3389端口,如果你改过3389端口请改成相应的端口,后面的andy.log 是记录文件的名字!可随意更改(注:要把所有的LOG结尾的文件名改成你命名的文件)。把此文件放到你系统的目录下,本文以C:\winnt 目录为例:
点击 开始--程序--管理工具--终端服务配置--链接 选择右面栏里的RDP-TCP打开属性对话框 ,打开环境选项,在初始程序中的 替代用户配置文件和客户端链接管理器向导的设置 打对号 在 用户登录时,启动下列程序里写入 c:\winnt\3389.bat 在 开始位置 中写入 c:\winnt\ 点击确定 重启计算机. 再次登录时,查看login.log文件,确定脚本是否运行正常. 修改3389端口:
远程桌面终端服务默认端口为“3389”,为防止他人进行恶意连接,就需要对默认端口进行更改。对此可打开注册表编辑器,依次展开“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/tcp”分支,其下的“PortNumber”键值所对应的就是端口号, 如图2是十六进制下的键值,将其修改即可。上面设置完成后,需要再依次展开“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp”分支,同样将其下的“PortNumber”键值进行更改。 当更改了服务器的远程登录端口后,只需要在客户端链接地址栏中的IP地址加入端口号即可,如 IP地址:端口,比如;192.168.2.1:3191。如果开了防火墙,不要忘记在防火墙上加上远程桌面改过后的端口.
|