受到武漢肺炎影響,使得許多人都是在家工作(WFH),也因此許多人都會進行遠端桌面連線。老貓平時就有在進行遠端桌面瀏覽,也有撰寫Windows 10遠端桌面連線相關文章,對於安全性方面老貓十分重視,也因此撰寫許多關於安全性的控管。不然遠端桌面連線如果沒做好安全性設定,就很容易被入侵,甚至會中勒索病毒讓所有檔案都被上鎖。
目前3項老貓已在使用的安全性設定:
- 3種方式,變更Windows 10 遠端桌面連線預設 「TCP 3389」連接埠
- 限制特定IP連入電腦,提高Windows 10 遠端桌面連接安全性
- 設定 Windows 10 密碼錯太多次就鎖住帳號,遠端桌面也適用
另外,也有一項是透過 %CLIENTNAME% 參數,讓系統判斷連線來源的電腦名稱,若不是我們允許的電腦名稱,就立即登出處理。這部分老貓是從如何輕鬆搞定 Windows 遠端桌面安全影片中了解到的方式,但實際測試是有遇到一些問題。影片中有提到本機端登入 %clientname% 為空白,而其他台登入時 %clientname% 會記錄這些電腦名稱。因此在登入時會針對 %clientname% 來判斷,讓空白的直接進入(嚴格說應該是屬於null);如果不是空白的再判斷是否為我們允許的主機名稱,如果不是就直接登出。
以下是顯示 %clientname% 的批次檔內容:
@echo off
echo %CLIENTNAME%
pause
以下是影片中分享範例一部分:
@echo off
if "%CLIENTNAME%" == "" goto end
shutdown /l
:end
針對這方面老貓先另外建了一個BAT批次檔,先來確認外連進來的主機名稱。卻發現有時 %clientname% 是會顯示遠端電腦的名稱,但有時是無法顯示,即為顯示空白。近期在Windows 10的實測來說,都是顯示null空白狀態。若照一開始的設定來說,是有可能照樣登入,無法達到防範效果。
這部分老貓先找到資料,留著日後研究,看是否老貓有疏忽了一些地方沒注意到。
- %CLIENTNAME% not available when launching published application via RemoteApp
- RDP “ClientName” Environment Variable is null, if run as administrator