Windows Server查看和记录远程登录信息的方法

时间:2021-04-07 01:15:58

前两天我的一台Windows Server 2012R2的服务器中了传说中的cryptowall病毒,所有数据文件都被加密,需要我支付1个比特币才能解码。幸好服务器上没什么重要的文件,还好我没钱,我选择回滚。

接着我开始考虑服务器安全方面的问题,第一步就是远程登录的登录记录问题。

一、利用系统日志查看登录信息

打开控制面板——系统和安全——查看事件日志,就进入了事件查看器

打开左侧事件查看器(本地)——Windows日志——安全,就能查看所有安全日志

点击右侧筛选,筛选事件ID为4776的所有事件,即为所有远程登录日志

Windows Server查看和记录远程登录信息的方法

可以看到我的日志中有他人登录,而且他还创建了登录账户User1

二、记录登录信息

上述查看方法并不能查看到对方的ip,为了查看到ip需要进行一些设置

假设在C盘RDP文件夹下进行操作:

1、创建空文件RDPlog.txt。创建批处理文件RDPlog.bat,写入代码

 
 
 
 
 
 

PowerShell

 
date /t >>RDPlog.txt
time /t >>RDPlog.txt
netstat -n -p tcp | find ":3389" >>RDPlog.txt
1
2
3
date /t >>RDPlog.txt
time /t >>RDPlog.txt
netstat -n -p tcp | find ":3389" >>RDPlog.txt

2、在管理工具中打开计划任务,新建计划任务,在触发器选项中新建“当连接到用户会话时”,在操作选项中新建操作,设置程序为C:\RDP\RDPlog.bat,起始于C:\RDP\

这样在远程登录后就会将登录的时间和ip记录在RDPlog.txt文件中。

但是有一个问题,会在登陆后跳出一个一闪而过的cmd窗口,要消除这个窗口,就再新建一个脚本RDPlog.vbs,写入代码

 
 
 
 
 
 

PowerShell

 
Set shell = Wscript.Createobject("wscript.shell")
Call shell.run("C:\RDP\RDPLog.bat", 0)
1
2
Set shell = Wscript.Createobject("wscript.shell")
Call shell.run("C:\RDP\RDPLog.bat", 0)

将计划任务程序设置为C:\RDP\RDPlog.vbs即可,如下

Windows Server查看和记录远程登录信息的方法

试着登录两次后结果如下图

Windows Server查看和记录远程登录信息的方法