0.引言

数据库安全是系统安全的重中之重,做好数据库安全防护及规范,是系统建设的基础。

今天我们来看看企业生产如何落地数据库安全防护机制。

1. 数据库安全问题

最好数据库安全,我们首先要了解能够威胁数据库安全的问题有哪些:

  • 1、基础设施薄弱
    作为数据库的第一层防护,我们的防火墙、网络设备、服务器等基础设施的防护如果不足,那么黑客则能够利用这些薄弱点,来攻击服务器,以获取数据库数据。

    甚至如果系统的硬盘存在问题,都不需要外部攻击,可能内部使用时就会导致数据损坏。

  • 2、弱认证
    数据库访问请求在经过网络层、硬件层的校验后,进入到数据库本身的认证校验中时,如果数据库本身的密码防护不足,也会导致安全问题。这一点也是很多初学者容易出现的问题,

  • 3、用户权限未隔离
    用户权限不做层级划分,不进行严格的权限分配,这是很多企业内部容易出现的安全问题。有的数据库管理员为了图方便,给每一个开发者都分配了一个最高权限的管理员账号,开发者能够随意更改表结构,调整库信息,这是非常危险的行为。

    从数据库管理员的职责出发,这样的做法是对企业生产极大的不负责。

  • 4、SQL注入
    SQL注入是我们老生常谈的问题了,这一点我们一般在开发层进行防护。随着开发者安全意识的提高以及各类持久层的完备,这类问题倒是越来越少,但并不意味着我们可以不重视它,越是熟悉的地方,反而越容易马虎。

  • 5、数据库备份弱加密
    数据库连接加密是很多人都会完善的,但是较多企业缺会忽略备份数据的加密或者加密等级不足,也会导致数据的二次泄漏。安全防护在哪一层都容不得马虎。

  • 6、数据库未做审计
    针对数据库搭建审计系统,这一点依然是不可或缺的。使用审计系统,我们可以监控执行的数据库更新语句,能够在数据更改中加上一层防护。最后一层防止职权的滥用以及针对SQL的检验。

    很多企业觉得我们企业小,没必要花钱搭建数据库审计系统,但生产数据的安全防护,真的不能有一点马虎,如果企业在这一块的投入有限,但至少将生产环境保护起来,同时现在开源免费的数据库审计软件有很多,所需要投入的无非就是服务器成本和运维成本。如果连这一点都舍不得,那么数据安全的风险你也需要硬着头皮承担。

2. 安全防护措施

在我们了解了数据库安全的风险点后,我们再一一针对这些问题点,来提出我们的防护方案:

2.1 网络硬件安全防护

针对基础硬件的安全防护,这一点不是开发能够关注得到的,一般是由硬件供应商来提供。因此我们就需要关注我们能够触及到的网络层安全防护了。

1、对外暴露时不要使用默认的数据库端口
比如3306,建立内外网端口映射。这样能够降低恶意程序对数据库的攻击准度。

2、网络隔离
通过VLAN、防火墙建立网络环境隔离,将开发环境、测试环境、生产环境区分开来,防止一个环境产生问题而导致的事故蔓延。
针对开发者需要连接上企业服务器进行某些环境部署或者生产排错的,需要搭建堡垒机,并且指定用户禁用某些敏感指令,比如rm,reboot,chown等指令。从根本上扼杀“删库跑路”的可能。

3、防病毒系统
如果你不想让你的服务器裸奔,那么安装防病毒系统必不可少,而选择哪些防病毒系统呢,最方便的解决方案就是联系你的服务器供应商,让他们给你提供完备的解决方案吧。
如果实在预算有限,那么就做好其他方便的防控,严格把控端口开放、权限释放。

4、监控系统
我们需要一个监控系统来帮助我们全天监控服务器情况,发现异常情况马上告知我们,比较早期的zabbix和现在流行的k8s都是不错的选择。

2.2 连接加密

除了网络和硬件层外,连接加密是数据库内部最顶层的保护措施了,设置用户连接数据库的账号及密码,注意密码不可设置的过于简单,最好包含大小写字母、数字、特殊字符,长度不小于8位

针对书写在配置文件中的连接密码,要设置加密,防止二次暴露

2.3 用户权限隔离

这一点是重中之重,权限分层管理,不同的用户、角色设置不同的权限,普通开发人员不给予DDL权限,选择性开放DML权限。

不需要的绝不多开一点权限,权限开通严格执行审批流程。

2.4 视图保护

虽然现在已经不太建议采用视图了,但是针对一些内部对接或者特殊要求,视图依然是一种选择,通过视图可以严格把控输出哪些字段数据,并且针对视图进行赋权,把控哪些用户能够访问哪些视图。以此保障数据安全

2.5 审计系统

审计系统的搭建是小型企业实际生产容易忽略的问题,但是数据库审计系统却是数据安全防护至关重要的一环。除了完备的商业数据库审计软件外,我们还可以选择一些开源的数据库审计软件或插件,比如通过数据库审计插件:Percona Audit Log Plugin、MariaDB Audit Plugin、McAfee MySQL Audit Plugin、htp_audit,还有开源或免费审计软件:yearning、CloudQuery

2.6 防SQL注入

如今多数的web防火墙、数据库防火墙或者一些防护软件能够有效防护SQL注入,但是我们在实际的开发过程中依然要养成避免SQL注入的习惯,比如mybatis中书写中慎用${},在程序中书写特殊字符过滤器等。

2.7 数据库备份加密

数据库备份是必不可少的操作,一般我们可以采用mysqldump指令实现。但是备份的数据文件如果不加以严格管理,反而成为一个安全隐患。

针对备份的数据,做好异地储存,同时也要做好储存文件的加密,加密密码不可过于简单。守好安全防护的最后一关。

总结

本期针对数据库安全防护的讲解就到此结束了,本期先针对防护概念做出梳理,下一期我们将讲讲其中一些措施的具体实施

mysql进阶:企业数据库安全防护方案相关推荐

  1. 数据库安全防护几点介绍

    数据库安全问题一直以来都是人们关注的热点,由于数据库中储存着很多的重要的秘密数据信息,所以安全问题也是尤为重要,那么本文将主要讲述数据库安全防护. AD:2013大数据全球技术峰会低价抢票中 企业最有 ...

  2. PHP远程DoS漏洞深入分析及防护方案

    5月14日,国内爆出php远程DoS漏洞,官方编号69364.利用该漏洞构造poc发起链接,很容易导致目标主机cpu的占用率100%,涉及PHP多个版本.绿盟科技威胁响应中心随即启动应急机制, 应急响 ...

  3. 疫情之下网络安全如何保障?Akamai防护方案前来“保驾护航”

    2020年春天,以5G.人工智能.云计算为代表的"新基建"蔚然成风,着眼国家数字经济体系建设,打造数字经济体系底座的"新基建",无疑成为中国经济整体应对未来发展 ...

  4. MySql 高频企业面试题

    1.如何启动MySql服务 /etc/init.d/mysqld start service mysqld start Centos 7.x 系统 systemctl start mysqld 2.检 ...

  5. OWASP-TOP10漏洞详解以及防护方案

    OWASP TOP 10 漏洞详解以及防护方案 OWASP介绍 官网:http://www.owasp.org.cn/ OWASP TOP10 指出了 WEB 应用面临最大风险的 10 类问题,是目前 ...

  6. 【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统

    基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计 ...

  7. 芯盾时代人工智能全渠道业务安全防护方案:提供“业务+平台+建模服务”为核心的多场景反欺诈服务| 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  8. 黑马MySQL进阶篇笔记

    目录 MySQL进阶篇 一.存储引擎 1.1 Mysql体系结构图 1.2 存储引擎 1.概念 2.InnoDB 3.MyISAM 4.Memory 5.三种引擎对比 6.引擎的选择 1.3 安装my ...

  9. 企业网络安全防护概述

    企业网络安全防护概述 网络安全技术指保障网络系统硬件.软件.数据及其服务的安全而采取的信息安全技术. 网络安全(Network Securityy或cyber security )是一门涉及计算机科学 ...

最新文章

  1. 【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )
  2. EOJ_1021_可旋栈
  3. SDN的发展壮大确实在蚕食物理网络基础设施的阵地
  4. 光纤铜缆测试安装的基础知识你都了解了吗?
  5. 记一则js替换字符串的问题
  6. response.sendRedirect(quot;http://www.baidu.comquot;);重定向
  7. SAP 43亿美元收购Ariba 拓展云计算市场
  8. flume学习(四):Flume Channel Selectors使用
  9. django1.6 mysql_如何在Django1.6结合Python3.4版本中使用MySql
  10. SSM三大框架工作流程与原理详解
  11. Ubuntu系统安装教程
  12. 凹点匹配 matlab源码,基于凹点搜索的重叠粉体颗粒的自动分离算法
  13. Classic Shell 后继者之 Classic Start
  14. Formality学习笔记一:基本概念
  15. 微信企业支付到个人银行卡
  16. 天才程序员法布里·贝拉德
  17. 诛仙、凡人、遮天、剑来竟都不是第四届橙瓜网络文学奖第一仙侠!
  18. Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法
  19. 零基础教师成功转型数据分析师,它功不可没
  20. .me 域名注册的方法和规则

热门文章

  1. 新唐 M451系列APROM与LDROM间跳转
  2. 计算机网络中间设备(网关,路由器,交换机,网桥,中继器,集线器)
  3. js对div取值与赋值
  4. Linux(安装apache,设置端口,基于端口的配置方法)
  5. 远程桌面服务器office版本,Windows UWP 版 “Micosoft 远程桌面” 配置方法
  6. 神经网络学习笔记3——Transformer、VIT与BoTNet网络
  7. Kafka(三):kafka消费者
  8. k8s(一):基础核心概念
  9. 空气污染数据的空间地图绘制(点转面画出来)
  10. 走钢索的人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十七)[转]...