远程连接被爆破的最佳解决办法

背景

因为有公网ip,远程连接我一直是用的Windows自带的。对比其他软件来说,Windows自带的远程体验几乎完美,速度也不是其他免费版软件可以比的。不过这引来了一个新的问题,把端口公开到公网,会被人一直试密码。

对此我还发过一篇文章远程桌面一直被人爆破的解决思路,文章里是通过读取Windows日志,并且提取IP加入防火墙的黑名单。

这个实际体验下来还是不那么好用,原因有两个:无法避免被爆破,因为对方用的IP都是肉鸡,一直都在换;还有就是如果用的frp,日志里显示的IP是本地127.0.0.1或者是局域网的IP,无法正常过滤出爆破的IP

说一下之前评论中提到的一些解决方案

首先科普一下:爆破的人它并不是先ping一下你的IP通不通,在连你的3389端口。它们是直接扫描IP下的所有端口,然后爆破所有符合rdp协议的端口。

  1. 禁止PING: 意义不大,可能能避免一部分。
  2. 改端口: 没啥用,我使用frp做穿透用的也不是3389端口,每次改端口,不到一天就有新的IP再试。
  3. 改用户名加强密码: 无法避免被爆破,只是不会被爆破成功而已。如果你并不介意被人一直试账号密码,这个其实就足够了
  4. 防火墙白名单: 主要是我连的机器IP也是会变的,一直添加白名单不方便。有的说可以添加主机名作为白名单条件,这个我没测试过
  5. 换其他远程连接软件:免费版都不好用。得加钱,我家境贫寒就不考虑了

其他方式

有没有一种方法可以不用将端口公开到公网就能实现远程连接呢?有的,VPN其中一个功能就是做这个的,但是vpn配置复杂,而且会改变电脑的所有网络,并不是很方便,一般也就公司在家办公的时候会用。因为配置是运维的事,你只需要在需要使用时装个软件打开vpn连接公司的机器。

还有没有方法可以在不使用vpn的情况下,达到vpn的效果呢?有的,代理也可以实现这种效果。而且代理的配置很简单,就比如在frp中只需要在客户端的配置文件加几行配置,而另一个工具gost也只需要一条命令就能配置好一个代理

gost配置代理的命令:gost -L http+socks5://user:pass@:8888"。前面的http+socks5表示同时支持这两个代理协议,user和pass是代理的用户名和密码,8888则是代理的端口,这里把IP省略了,默认是0.0.0.0

因为代理设置了验证信息(账号和密码),基本是安全的。下面就说一下代理可以实现哪些功能

能达到的效果

你能通过这个代理连接任何你家里的机器上的任何服务,只需要相应的软件能支持代理。它有个最方便的点,你只需要设置一个代理,就能访问家里所有机器上的服务,不需要再对每个服务做端口转发

  1. 场景一:给浏览器设置代理(插件),它就能访问家里局域网机器的http服务,比如路由器的后台、frp的web管理界面等

  2. 场景二: Xshell连接linux时设置代理,就能连接家里局域网的linux机器,这样就不用公开ssh的端口到服务器避免ssh也被爆破。

  3. 场景三: 就是远程连接时设置代理

总而言之,只要你访问对应服务的软件支持设置代理,就可以通过代理来连接你局域网内的服务。

防火墙设置仅局域网连接(可选)

如果你的机器在内网,且没有对远程连接端口做映射或者转发,这一步就没必要了。如果是公网的机器就在防火墙仅允许本地连接

支持代理的rdp软件

不过遗憾的是,微软自带的远程连接并不支持代理,只能使用第三方的rdp远程工具

目前我搜索到的工具里面,只有Parallels Client是支持代理连接rdp远程的。官方下载地址:https://www.parallels.com/products/ras/capabilities/rdp-client/

远程连接被爆破的最佳解决办法

它是跨平台而且免费的,不过我没有测试其他平台,只在Windows上使用它。如果你有兴趣,可以测试下其他平台使用怎么样

使用步骤

下载安装完之后,点击 文件-》新建连接,或者在左侧里右键点新建连接

远程连接被爆破的最佳解决办法
远程连接被爆破的最佳解决办法
远程连接被爆破的最佳解决办法

这一页只需要填IP、用户名和密码,当然你名称改个好记的也行。默认显示的名称就是IP

远程连接被爆破的最佳解决办法

其他的设置和自带的远程连接差不多,就不说了,直接看关于代理的设置

远程连接被爆破的最佳解决办法

把你配置的代理填上去就可以连接了。

默认分辨率的话可以在配置连接的时候设置,如果你想脱离软件实现全屏的话,右键这个连接,取消勾选嵌入Launcher

有时候可能会连接不上,只需要最后一栏高级设置,取消或勾选下面的两个选项。有些机器取消可以连接上,有些勾选才能连接上,不清楚具体是设置了什么,都试一遍。

远程连接被爆破的最佳解决办法

使用体验

作为一个rdp管理软件而言实际用下来体验一般,不过在代理连接上是没有任何问题。下面说下我觉得不方便的地方

不能分组

创建的连接只能排成一列,无法对它们进行分组,不好管理。不过有个次选方法:他可以对每个连接创建快捷方式,这样也能自己做个分组

不能排序

不能分组也能接收了,至少你按名称排下序。我也可以通过名称前缀达到分组的效果,但是它的并不能排序,默认好像就是先添加的在前面

不能复制

每次创建连接都得点好几个步骤,如果能像Xshell一样直接复制连接,然后自己再修改某些设置就方便多了

有bug

当我连接很多个的时候,偶尔会莫名的抽风,直接无响应。我用任务管理器强制关闭它后,再打开,已经在连接状态,但我又看不到界面。这种情况只能通过快捷方式来打开这个连接

其他工具

如果不是为了代理连接的话,我觉得微软官方的RDCMan更好用,吾爱破解有汉化版本:  RDCMan(微软官方出品,远程桌面连接管理软件) 2.93 汉化版

远程连接被爆破的最佳解决办法

我写的小工具

在不知道RDCMan之前,我还自己写了个小工具,用于创建rdp连接文件的。使用电脑自带的记住密码一个IP只能记住一个用户名,如果端口变了,它还是用的这个用户名和密码。

如果在rdp文件里就写明了用户名和密码,那么双击它连接的时候,就会自动连接。就不在需要电脑来保存用户名密码。我只需要把这个rdp文件放到我随时能打开的地方(我一般放到Lucy上),我就能连接想要的机器了

rdp文件里保存的密码不是明文形式,无法被还原成密码,并且是和电脑绑定的,换个电脑就会失效。具体绑定电脑的什么,我就没有深入研究了

远程连接被爆破的最佳解决办法

项目地址:https://github.com/kanadeblisst00/rdp_helper

原文始发于微信公众号(Python成长路):远程连接被爆破的最佳解决办法

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容