设置DB防火墙
更新时间:2024-08-05
概述
SQL 注入:指通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令的目的,是一种严重影响数据库数据安全的恶意攻击。DB 防火墙功能不仅可以在线识别和记录 SQL 注入行为,向用户发送短信及邮件报警,还可以帮助用户控制是否阻断这些访问行为,提升云数据库 RDS 的数据安全性。
百度智能云支持用户在代理实例上开启 DB 防火墙功能,并提供 SQL 注入审计。默认该功能为关闭状态。
前提条件
DB 防火墙功能启用流程如下:
- 创建代理实例。
- 开通代理实例公网 IP,并测试代理实例连通性。
- 创建代理实例账号并设置密码。
- 开启 DB 防火墙并选择安全模式。
- 将业务程序中原有的数据库主实例域名或 IP、账号与密码替换为代理实例的域名或 IP、账号与密码。
其中步骤1到步骤3的操作详情参考使用代理实例。
影响
DB 防火墙开启后,会增加防御 SQL 注入等能力,SQL响应时间影响较小,每条 SQL 增加0.1毫秒延时。
操作步骤
- 登录 RDS 管理控制台。
- 在控制台页面的左上角,选择实例所在地域,进入“云数据库 RDS列表”页面。
- 找到目标代理实例,点击实例名称进入代理实例详情页面。
-
在左侧导航栏中单击安全管理,在“安全”页面选择 DB 防火墙页签,进行 DB 防火墙设置。
说明:如果为主实例,请按照页面指引进入对应的代理实例进行设置。
- 在代理实例的DB 防火墙页签下点击“编辑”。
- 点击编辑按钮后,展开防火墙配置信息。 具体分为DB防火墙和安全模式两类,具体设置参考如下说明:
参数 | 说明 |
---|---|
DB防火墙 | 此处选择开启,默认为关闭状态 |
安全模式 | • 告警:识别注入并写入审计,不阻断 SQL 执行 • 阻断:识别注入并写入审计,阻断 SQL 执行 |
- 开启 DB 防火墙功能后,用户可以通过 SQL 注入审计页面查看发生了 SQL 注入的行为统计,并能以时间、数据库、账号等维度进行分类。确认非 SQL 注入的语句可以点击操作列的添加到 SQL 白名单中。添加到 SQL 白名单对非 SQL 注入进行放行。
SQL 注入报警
通知策略
汇总 5 分钟注入详情向用户发送报警邮件与短信,如无注入则不发送; 只要您开通了 DB 防火墙功能,无论您选择拦截模式还是告警模式,当发生 SQL 注入时,您都将收到 SQL 注入报警通知。
内容示例
您的云数据库 RDS 实例 rdsproxy/rdsplrg92w5cmac 上发现 SQL 入侵5条,未拦截。 为了保证您的数据安全,请前往“百度智能云->云数据库 RDS ->代理实例->安全-> DB 防火墙”中查看详细注入信息,感谢支持!
订阅与退订
SQL注入报警订阅状况可在消息中心->消息接收设置->安全消息->报警、恢复通知中查看,并添加消息接收人。因为 SQL 注入对数据库安全影响重大,所以系统默认以邮件及短信方式发送通知且不允许退订。