跨境独立站数据库远程访问权限管控加固实战指南

为什么要加固数据库远程访问权限

跨境独立站通常会开放数据库远程连接,方便从本地管理工具或第三方服务进行数据操作。
但默认配置下,数据库监听所有IP(0.0.0.0)、使用默认端口(如3306)、且授权用户允许任意IP登录,极易被扫描器发现并尝试爆破。
本文将通过几个核心步骤,帮你在不中断业务的前提下,将数据库远程访问权限收紧到最小可用范围。

准备工作

在开始操作前,请确认你具备以下条件:

  • 服务器已安装 MySQL 8.0+ 或 MariaDB 10.5+,本文命令以 MySQL 为例,MariaDB 通用。
  • 拥有 root 权限或能执行 sudo 的用户。
  • 已通过 SSH 登录服务器,或能使用面板(如宝塔)的终端功能。
  • 记录当前业务使用数据库的远程 IP 列表(可通过数据库日志或应用配置获取)。

核心加固操作

1. 限制监听地址,只绑内网 IP

默认 MySQL 可能监听 0.0.0.0,修改为仅监听内网 IP(如私有IP)或 127.0.0.1(如果只本机访问)。
编辑配置文件:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf   # 常见路径,也可能在 /etc/my.cnf

找到 bind-address 一行,修改为你的内网 IP(例如 192.168.1.100)或回环地址:

bind-address = 127.0.0.1

保存后重启数据库:

sudo systemctl restart mysql
注意:如果改回环地址,则只能通过本机连接,无法远程。跨境独立站一般需要远程管理,建议绑定内网 IP,再通过 SSH 隧道或 VPN 访问。

2. 更改默认端口,避开自动扫描

修改配置文件中的 port 参数,选择一个非标准端口(如 33060):

port = 33060

重启服务后,连接时需指定新端口。
同时,在云防火墙或宝塔安全组中放行该新端口,并 删除旧端口规则

3. 创建专用远程用户,限制登录 IP

不要直接使用 root 远程连接,新建一个仅用于特定 IP 的用户。
登录数据库:

CREATE USER 'remote_admin'@'你公司或跳板机的公网IP' IDENTIFIED BY '强密码!';
GRANT SELECT, INSERT, UPDATE, DELETE ON 你的数据库.* TO 'remote_admin'@'你公司或跳板机的公网IP';
FLUSH PRIVILEGES;
关键点'remote_admin'@'你公司公网IP' 表示只允许该 IP 远程访问,使用 % 通配符会暴露给所有 IP。

4. 启用 SSL 加密连接

MySQL 支持 TLS 加密,强制远程用户使用 SSL。
首先确保有证书文件(可使用自签名),在配置文件中开启:

ssl-ca = /etc/mysql/ssl/ca.pem
ssl-cert = /etc/mysql/ssl/server-cert.pem
ssl-key = /etc/mysql/ssl/server-key.pem
require_secure_transport = ON

然后修改用户要求 SSL:

ALTER USER 'remote_admin'@'你公司公网IP' REQUIRE SSL;

客户端连接时需指定证书参数,例如使用 MySQL Workbench 在 SSL 标签中选择“Require SSL”。

避坑指南

  • 授权用户不要写 %:很多教程为了省事用 'user'@'%',这等于对所有 IP 开放,建议精确到单个 IP 或 C 段。
  • 防火墙规则必须重启后验证:修改端口后,服务器防火墙和云控制台安全组都要同步放行新端口,并阻止旧端口。可用 telnetnc 测试端口是否可达。
  • 自签名 SSL 证书有效期:自签名证书通常只有一年,记得设置提醒续期,否则远程连接会失败。
  • 重启前先检查配置:执行 sudo mysqld --validate-config 确认无语法错误再重启。

效果验证与常见问题

验证远程连接

在远程客户端(例如另一台服务器或本机)尝试用新端口、新用户、SSL 连接:

mysql -u remote_admin -h 服务器内网IP -P 33060 -p --ssl-mode=REQUIRED

连接成功后,查看当前用户和 IP:

SELECT CURRENT_USER(), @@hostname;

常见问题

Q:修改 bind-address 后无法远程连接怎么办?
A:确保 bind-address 设置的是内网 IP,而不是 127.0.0.1;同时检查云安全组和服务器防火墙是否放行了对应端口。

Q:新建用户连接提示“Access denied for user”
A:检查授权语句中 @'IP' 是否与你的客户端 IP 完全一致(包括子网掩码);也可尝试使用 'user'@'192.168.%' 放宽范围。

Q:SSL 连接时报“SSL connection error: unknown error number”
A:确认服务器 SSL 配置中的证书路径正确,且 MySQL 用户启用了 REQUIRE SSL。客户端也需要支持 SSL。

完成以上步骤后,你的跨境独立站数据库远程访问权限已得到有效加固。
建议定期检查数据库日志(/var/log/mysql/error.log)中的连接来源,及时发现异常 IP。
如果过程中遇到其他报错,先回到本文的避坑指南检查遗漏点,再按错误日志排查。

分享到:
上一篇
家用住宅机器本地yum/apt源离线部署
下一篇
外贸站宝塔面板手机APP远程运维跨境站点
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意