被爆破后提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多。请稍候片刻再重试,或与系统管理员或技术支持联系”。
3389端口换了之后过几天依旧被爆破。
我的解决方法就是利用阿里云OpenAPI修改ECS实例安全组规则,只允许本机IP连接。
# 阿里云OpenAPI配置
access_key_id = ""
access_key_secret =""
# 安全组配置
region_id='cn-heyuan' # 安全组所属地域ID
security_group_id='' # 安全组ID
security_group_rule_id='' # 安全组规则ID
port_range='3389/3389' # 允许放行的端口
- 进入实例安全组规则新增安全组入方向规则,描述写“Python脚本API调用规则”,其他默认即可。
- 查询安全组规则ID,
进入OpenAPI调试,发起调用获取刚刚新建规则的具体ID。
根据刚刚的描述Description找到同一个字典中的SecurityGroupRuleId,该字符串就是规则IDsgr-f8z10hsv1dcip5k2hv3l。 - 下载工程文件安装依赖。
解压在目录下运行python setup.py install安装SDK依赖。

- 访问RAM访问控制获取阿里云 API 的密钥 AccessKey ID 和 AccessKey Secret 。
- 修改并运行以下Python代码修改安全组规则。
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import os
import sys
import requests
from typing import List
from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ecs20140526 import models as ecs_20140526_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_console.client import Client as ConsoleClient
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> Ecs20140526Client:
"""
使用AK&SK初始化账号Client
@return: Client
@throws Exception
"""
# 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
# 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378659.html。
config = open_api_models.Config(
# 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。,
access_key_id=access_key_id,
# 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。,
access_key_secret=access_key_secret
)
# Endpoint 请参考 https://api.aliyun.com/product/Ecs
config.endpoint = f'ecs.cn-heyuan.aliyuncs.com'
return Ecs20140526Client(config)
@staticmethod
def main(
ip,
) -> None:
client = Sample.create_client()
modify_security_group_egress_rule_request = ecs_20140526_models.ModifySecurityGroupEgressRuleRequest(
region_id=region_id,
security_group_id=security_group_id,
ip_protocol='TCP',
security_group_rule_id=security_group_rule_id,
port_range=port_range,
source_cidr_ip=ip
)
runtime = util_models.RuntimeOptions()
try:
resp = client.modify_security_group_egress_rule_with_options(modify_security_group_egress_rule_request, runtime)
ConsoleClient.log(UtilClient.to_jsonstring(resp))
except Exception as error:
# 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
# 错误 message
print(error.message)
# 诊断地址
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
if __name__ == '__main__':
ip = requests.get("https://4.ipw.cn/").text
# 阿里云配置
access_key_id = ""
access_key_secret =""
# 安全组配置
region_id='cn-heyuan' # 安全组所属地域ID
security_group_id='' # 安全组ID
security_group_rule_id='' # 安全组规则ID
port_range='3389/3389' # 允许放行的端口
Sample.main(ip)
运行后刷新网页的安全组规则就可以看到之前新建的规则被修改了。
远程桌面前需要先运行一次加入修改IP,记得把之前放行全部IP的规则删掉。




