保护 RDS MySQL 数据库的最佳实践 ✅

Amazon RDS 是在云中创建 MySQL 数据库的一种非常流行的选择。许多现代公司使用它来存储他们的业务数据。但是,与任何其他数据库一样,保护这些数据库需要特别注意以防止潜在的威胁和漏洞。

在本文中,我们将探讨保护 AWS RDS MySQL 数据库实例的 10 个最佳实践。

1.使用强密码并轮换使用
使用强密码是保护数据库实例的重要措施。强密码由大小写字母、数字和特殊字符随机组合而成。它的长度至少应为 20 个字符。

定期更改密码也很重要。应定期更改密码,例如每 60 到 90 天更改一次。

使用 MySQL validate_password插件,它提供额外的安全性,如密码过期、密码重用限制或密码失败跟踪。

  1. 保持 MySQL 更新
    AWS 提供的托管服务的一大优势是您无需管理它们并且可以激活自动更新!没有这个就太傻了……当然,它不能防止 0-day 漏洞,但它已经很好地防止已知(和修补!)漏洞。

图片描述

3.更改默认端口
这种良好做法可以防止机器人定期扫描互联网以查找未得到充分保护的实例。这是非常基本的,但没有它会很遗憾。

图片描述

4.使用不同权限的不同用户
应该为每次使用创建一个用户。例如,如果我们有一个备份应用程序的脚本,我们将不会使用与应用程序相同的用户。只读用户在这里就足够了。root 用户应该只用于管理实例,而不是使用它!

  1. 断开您的 RDS 实例与互联网的连接
    如果您有能力断开您的实例与 Internet 的连接并使其只能从其 VPC 网络内访问,那就去做吧!

图片描述

6.使用防火墙
AWS 安全组可用于仅允许某些 IP 地址连接到您实例的端口:

图片描述

7.使用MySQL引擎主机检查
不要像这样创建 MySQL 用户CREATE USER ‘new_user’@‘%’ IDENTIFIED BY 'password‘;,而是使用 MySQL 引擎主机检查:

Fixed IP address

CREATE USER ‘new_user’@‘123.123.123.123/255.255.255.255’ IDENTIFIED BY ‘password’;

Private IP range from your subnet

CREATE USER ‘new_user’@‘192.168.0.0/255.255.255.0’ IDENTIFIED BY ‘password’;
8.使用SSL
使用 SSL 实施传输中加密:
ALTER USER ‘new_user’@‘123.123.123.123/255.255.255.255’ REQUIRE SSL;
9. 将所需的权限授予所需的数据库
不要像这样授予您的 MySQL 用户权限,而是将GRANT ALL PRIVILEGES ON * . * TO ‘new_user’@‘123.123.123.123/255.255.255.255’;所需的权限授予所需的数据库:
GRANT SELECT, INSERT, UPDATE, DELETE ON my_db.* TO ‘some_user’@‘123.123.123.123/255.255.255.255’;
10. 使用 2FA 或 3FA
MySQL 8.0.27 及更高版本支持多因素身份验证 (MFA),这样帐户最多可以有三种身份验证方法。IAM 身份验证还可以启用多重身份验证。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值