栏目头部广告

Windows云主机远程登录报错“内部错误”问题分析

一、背景介绍

近期发现有不少用户反馈,Windows云主机远程登录报错“出现了内部错误”的问题,经过我们的分析发现,云主机内部有大量3389端口的无效TCP连接请求,异常现象如下图:

image.png

Windows+R调出运行窗口,输出cmd回车,然后输入:netstat -ano|findstr "3389"

image.png

随后我们排查了所有远程连接异常的主机,结果都能够发现同网段源IP或相同源IP地址,且均来自与境外IDC供应商。我们初步判断很有可能是黑客恶意扫描攻击3389端口导致远程桌面服务异常,从而引起远程连接失败。我们随后的验证方案,也间接证明了我们的判断~

二、解决方案

2.1 方案一:针对远程桌面服务

(1)重启远程桌面服务进程-方式一

注:如果想临时解决的话,可以通过重启远程服务进程(任务管理器中找到:Remote Desktop Services),释放异常TCP连接的方式解决,但是如果扫描攻击在持续,你将很快再次出现无法远程的问题。

操作步骤1:Windows桌面下方鼠标右键,打开任务管理器:选择“进程”、点击名称部分右键,然后勾选“PID”

image.png

操作步骤2:根据netstat截图输出,可以发现远程桌面服务的PID是808

image.png

操作步骤3:如果遇到下述情况,可以直接重启主机或者修改主机端口或使用方式二

image.png

(2)重启远程桌面服务进程-方式二

操作步骤一:Windows+R输入services.msc

image.png

操作步骤二:找到“Remote Desktop Services”服务,点击重启动

image.png

(3)修改远程桌面默认端口

注:修改远程桌面服务默认端口,比如:改成33389,释放3389端口无效TCP连接请求,也可以起到规避黑客针对3389端口盲扫的问题。但是针对黑客定向攻击的场景是不行的,无论你开放哪个端口,如果没有针对访问源IP进行限制,都会遇到被暴力破解的问题。另外,关于源IP的限制,也是我们要介绍的方案二。

操作步骤1:Windows+R调出运行窗口,输入regedit,调出注册表管理页面

image.png

操作步骤2:依次点开注册表子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber

image.png

修改新的端口后,点击确认。

操作步骤3:关闭注册表编辑器,重启云主机主机即可。

2.2 方案二:限制针对3389端口访问的源IP地址或IP段

注:通过防火墙针对访问源IP进行限制,丢弃一切不合法请求,保障远程管理服务的稳定性!!!

image.png

2.3 方案三:定时清理不活跃 TCP 连接

Windows 定期清理3389端口不活跃 TCP 连接并输出清理日志到 3389.log 文件的脚本

# 脚本名称:3389.bat 

@echo off
setlocal enabledelayedexpansion

set currentDate=%date%
set currentTime=%time%
set currentTime=%currentTime::=%

set logfile=3389.log

echo Cleaning up TCP connections on port 3389...
for /f "tokens=1,2,3,4,5" %%a in ('netstat -aon ^| find ":3389" ^| find "ESTABLISHED"') do (
   set "ip_port=%%a %%b"
   set "pid=%%d"
   call :CheckIdle %pid% %ip_port% %currentDate% %currentTime%>>%logfile%
)
echo All connections on TCP port 3389 have been terminated.

goto :eof

:CheckIdle
set response=0
for /f "skip=3 tokens=3,5" %%c in ('tasklist /svc /fi "PID eq %1" 2^>nul') do (
   set "service=%%d"
   if /i "!service!" == "rdpclip.exe" (
       set "response=%%c"
   )
)
if "%response%" NEQ "0" (
   echo %3 %4: TCP connection %2 owned by %1 with service rdpclip.exe has recent activity. >>%5
   goto :eof
)
echo %3 %4: Terminating TCP connection %2 owned by %1 due to inactivity... >>%5
taskkill /f /pid %1
goto :eof

# 设置定时任务,10min执行一次3389.bat脚本
schtasks /create /tn 3389_task /tr C:\3389.bat /sc minute /mo 10

# 查看定时任务列表
schtasks /query /tn 3389_task

image.png

图形化界面:控制面板\管理工具\任务计划程序 >> 活跃任务

image.png

作者:UStarGao
链接:https://www.starcto.com/system/274.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`