VPS购买后MySQL安全加固:防火墙与SSL加密
文章分类:更新公告 /
创建时间:2025-12-12
购买VPS后使用MySQL数据库,数据安全是核心考量。对MySQL进行安全加固能有效防范数据泄露、恶意攻击等风险。下面详细介绍通过防火墙限制访问与SSL加密传输两大关键方法。
防火墙配置:限制端口访问源
防火墙是网络安全的首道关卡,通过限制MySQL端口(默认3306)的访问源,仅允许指定IP或IP段连接,能大幅降低外部攻击风险。以Linux系统常用的iptables防火墙为例,具体配置分三步:
首先查看当前防火墙规则,执行命令`iptables -L -n`,这会列出所有已配置的规则,方便确认是否有冲突设置。
接着添加允许特定IP访问的规则。假设仅允许IP 192.168.1.100连接,执行`iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT`。这里`-A INPUT`表示在输入链添加规则,`-s`指定源IP,`--dport 3306`锁定MySQL端口,`-j ACCEPT`表示允许该连接。
最后拒绝其他所有对3306端口的访问,执行`iptables -A INPUT -p tcp --dport 3306 -j DROP`,`-j DROP`会直接丢弃未授权请求。完成配置后需保存规则,CentOS系统可执行`service iptables save`,Ubuntu则用`iptables-save > /etc/iptables/rules.v4`。
曾有用户因未配置防火墙,MySQL端口暴露在公网,3天内被扫描出2000次异常连接尝试,部分弱密码账号遭暴力破解。通过上述方法限制仅内网IP访问后,异常连接量骤降99%。
SSL加密:保护传输中的数据
SSL加密(安全套接层加密)能对客户端与MySQL服务器间的传输数据进行加密,防止中间人窃取或篡改,是数据传输安全的关键保障。配置分四步:
第一步生成证书与密钥。使用OpenSSL工具执行以下命令:
```bash
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca-cert.pem
openssl genrsa 2048 > server-key.pem
openssl req -new -key server-key.pem -out server-csr.pem
openssl x509 -req -in server-csr.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
openssl genrsa 2048 > client-key.pem
openssl req -new -key client-key.pem -out client-csr.pem
openssl x509 -req -in client-csr.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
```
这会生成CA根证书、服务器证书/密钥、客户端证书/密钥。
第二步配置MySQL启用SSL。编辑配置文件(如/etc/my.cnf),添加:
```ini
[mysqld]
ssl-ca=/路径/ca-cert.pem
ssl-cert=/路径/server-cert.pem
ssl-key=/路径/server-key.pem
```
注意替换实际文件路径。
第三步重启MySQL生效,执行`service mysql restart`(或`systemctl restart mysql`)。
第四步客户端启用SSL连接。使用命令`mysql -h 服务器地址 -u 用户名 -p --ssl-ca=ca-cert.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem`,确保传输全程加密。
某电商平台曾因未启用SSL,用户支付信息在传输中被截获,导致2000余条数据泄露。通过配置SSL加密后,经第三方检测,传输数据破解难度提升至“理论不可行”级别。
完成防火墙与SSL加密配置后,VPS购买后的MySQL数据库安全性将显著提升。实际使用中需定期检查防火墙规则是否异常,每1-2年更新一次SSL证书(视证书有效期而定),确保安全措施持续有效。
工信部备案:苏ICP备2025168537号-1