一般管理员在管理服务器时, 大部分都会用到微软远程桌面控制 mstsc 服务, 那么一旦账户密码外外泄, 是一件很危险的事情, 甚至会给个人或公司带来巨大损失; Windows 系统自带系统日志: 事件查看器 (应用程序, 安全, setup, 系统, 转发时间) 若其他机器远程到本机, 那么系统会在事件查看器 --Windows 日志 -- 安全事件中记录; 它却不记录客户端的 IP(只能查看在线用户的 ip)而是记录计算机名, 我们可以建立一个. bat 文件, 叫做 remote.bat, 这个文件用来记录登录者的 IP.
环境: win10 IP:192.168.0.102
server 2008R2 IP:192.168.0.110
现在我们用 win10 机器远程一下服务器:
登录过去后我们进入事件查看器: 出现了一个 4672 的事件 ID
此时我们想知道是哪台机器 (ip) 远程此服务器了, 方法如下:
1我们也可以在 CMD 中执行: netstat -an -p tcp|find ":3389"
注: 若远程端口做了修改的话, 那么端口为修改后的端口即可.
2建立一个. bat 文件, 叫做 remote.bat
内容如下:
- echo off
- date /t>>C:/temp/remote_login.log
- time /t>>C:/temp/remote_login.log
echo 协议 本地 IP 地址 远程 IP 地址 连接状态>>C:/temp/remote_login.log
- netstat -an -p tcp |find ":3389">>C:/temp/remote_login.log
- start servermanager
- echo =================================================================>>C:/temp/remote_login.log
执行 remote.bat 文件后效果如下:
当然我们可以做一个定时任务来监控通过远程连接到此服务器的 ip 记录:
开始 --- 管理工具 ---- 任务计划程序 ---- 新建任务
选择触发器标签 - 新建
确定后选择操作 -- 新建操作
确定后, 条件, 设置标签默认即可.(根据自己需求设置)
确定 ok
此时我们从新远程连接, 测试任务计划程序是否成功.
我们首先把 C:/temp / 目录下 remote_login.log 文件删除, 然后在远程:
测试成功!
注: 以上方法不是绝对的, 也有其它方式或其它脚本实现的, 一般情况下, 普通用户是没有终端服务设置权限的, 只需要把上面的 bat 文件放至只有管理员权限的目录下或者比较隐蔽的目录下即可, 不过这个方法并没有太高的安全保障, 倘若要求更高, 那么需要购买专业的入侵检测软件来防护监控等.
来源: http://www.bubuko.com/infodetail-3108113.html