告别RDP爆破恐慌:Codebuddy 5步打造实时IP白名单系统

3,947 阅读3分钟

告别RDP爆破恐慌:AI编程工具5步打造实时IP白名单系统

找原因

今天闲着没事登录服务器看看,不出意外又被爆破了。

image.png

每次遇到这种问题都得手动打开控制台,通过VNC登录一次才能消除,十分麻烦。

令人疑惑的是我有3台Windows服务器,其他两台都没事,就这台有事。

image.png

问了下Codebuddy,说是除了暴力破解,也有可能是客户端网络不稳定重连频繁触发,并且给了我一个脚本测试

image.png

然后直接让Codebuddy通过MCP在服务器运行这个检测脚本。

不用费劲去手动登录控制台、到处找手机进行2FA认证,直接一句话搞定。

image.png

运行后让他分析一下结果,可以确定并不是本地客户端重连的问题,而是爆破导致的。

毕竟这7天我都没登陆。

image.png 可能有人会怀疑这会不会是AI幻觉,实际并没有执行这个命令呢?

对于这方面我手动去确认了下,我让Codebuddy通过MCP执行了解锁脚本,手动上去执行了一下脚本:

1764504469386.jpg转存失败,建议直接上传图片文件

image.png 从结果可知,MCP插件运行正常,给出的结果也是真实可靠的。

貌似后面这一步是多余的,如果Codebuddy没成功执行解锁脚本我根本登不上去,没必要再次执行检测。

定方案

我让Codebuddy给我列出了解决方案并且选出最简单可行的,他给了我两个方案。

image.png

这两个方案确实不错,但是我平时公司和家两头跑,两边的IP都是动态IP,IP白名单可行性不高。

Windows自带的防火墙得登录设置,完全没法用,腾讯云的防火墙得登录账号才能设置,又比较麻烦。

于是我继续追问,说出了我的疑惑

image.png

Codebuddy提的方案的思路不错,通过HTTP从用户手中获取白名单IP,然后后端执行命令去添加IP。

但他的方案过于复杂,技术栈也不太适合我。

从第一性原则出发,我要的是设置连接RDP的客户端IP为白名单,而且这台机器只有我在用,

那么他的功能只有两个,一是判断我的身份,二是设置当前IP为白名单。

所以只要我其实只要一个输入框,我输入密码,后端鉴权成功后把我的IP加入白名单并且清除其他白名单IP即可。

于是我改改需求,让他重新写一个。

image.png

快部署

写完了,还生成了一个README.md

不过我不用看这个,直接让他通过MCP把这个部署上服务器就好

image.png

验成效

打开浏览器,输入[服务器IP]:5000

ps. 如果你的5000端口没开可以让Codebuddy的MCP帮你开,不用登录控制台

输入错误的密钥

image.png

输入正确的密钥

image.png

验证效果

image.png

做总结

这项目鸽了一个月一直懒得动,这次用Codebuddy来写只用了不到20分钟,如果没有Codebuddy估计还能再鸽下去。

现在还缺一个限频功能, 对于尝试10次还失败的IP,直接封禁一天,等下再去折磨下Codebuddy。

加需求真好玩