告別RDP爆破恐慌:AI編程工具5步打造即時IP白名單系統
今天閒著沒事登入伺服器看看,不出意外又被爆破了。

每次遇到這種問題都得手動打開控制台,通過VNC登入一次才能消除,十分麻煩。
令人疑惑的是我有3台Windows伺服器,其他兩台都沒事,就這台有事。

問了下Codebuddy,說是除了暴力破解,也有可能是客戶端網路不穩定重連頻繁觸發,並且給了我一個腳本測試

然後直接讓Codebuddy通過MCP在伺服器運行這個檢測腳本。
不用費勁去手動登入控制台、到處找手機進行2FA認證,直接一句話搞定。

運行後讓他分析一下結果,可以確定並不是本地客戶端重連的問題,而是爆破導致的。
畢竟這7天我都沒登入。
可能有人會懷疑這會不會是AI幻覺,實際並沒有執行這個命令呢?
對於這方面我手動去確認了下,我讓Codebuddy通過MCP執行了解鎖腳本,手動上去執行了一下腳本:

從結果可知,MCP插件運行正常,給出的結果也是真實可靠的。
貌似後面這一步是多餘的,如果Codebuddy沒成功執行解鎖腳本我根本登不上去,沒必要再次執行檢測。
我讓Codebuddy給我列出了解決方案並且選出最簡單可行的,他給了我兩個方案。

這兩個方案確實不錯,但是我平時公司和家兩頭跑,兩邊的IP都是動態IP,IP白名單可行性不高。
Windows自帶的防火牆得登入設置,完全沒法用,騰訊雲的防火牆得登入帳號才能設置,又比較麻煩。
於是我繼續追問,說出了我的疑惑

Codebuddy提的方案的思路不錯,通過HTTP從用戶手中獲取白名單IP,然後後端執行命令去添加IP。
但他的方案過於複雜,技術棧也不太適合我。
從第一性原則出發,我要的是設置連接RDP的客戶端IP為白名單,而且這台機器只有我在用,
那麼他的功能只有兩個,一是判斷我的身份,二是設置當前IP為白名單。
所以只要我其實只要一個輸入框,我輸入密碼,後端鑑權成功後把我的IP加入白名單並且清除其他白名單IP即可。
於是我改改需求,讓他重新寫一個。

寫完了,還生成了一個README.md
不過我不用看這個,直接讓他通過MCP把這個部署上伺服器就好

打開瀏覽器,輸入[伺服器IP]:5000
ps. 如果你的5000端口沒開可以讓Codebuddy的MCP幫你開,不用登入控制台
輸入錯誤的密鑰

輸入正確的密鑰

驗證效果

這專案鴿了一個月一直懶得動,這次用Codebuddy來寫只用了不到20分鐘,如果沒有Codebuddy估計還能再鴿下去。
現在還缺一個限頻功能, 對於嘗試10次還失敗的IP,直接封禁一天,等下再去折磨下Codebuddy。
加需求真好玩。