MySQL数据库中的重要数据应当如何保护

2016-02-19 16:37 5 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享MySQL数据库中的重要数据应当如何保护,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

  企业最有价值的资产通常是其数据库中的客户或产品信息。因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件故障。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  在大多数情况下,软硬件故障通过数据备份机制来处理。多数数据库都自带有内置的工具自动完成整个过程,所以这方面的工作相对轻松,也不会出错。但麻烦却来自另一面:阻止外来黑客入侵窃取或破坏数据库中的信息。不幸的是,一般没有自动工具解决这一问题;而且,这需要管理员手工设置障碍来阻止黑客,确保公司数据的安全。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  不对数据库进行保护的常见原因是由于这一工作“麻烦”而“复杂”。这确实是事实,但如果你应用MySQL,就可以使用一些方便的功能来显著减少面临的风险。下面列出了以下几个功能:

  删除授权表中的通配符

  MySQL访问控制系统通过一系列所谓的授权表运行,从而对数据库、表格或栏目级别的用户访问权利进行定义。但这些表格允许管理员为一名用户设定一揽子许可,或一组应用通配符的表格。这样做会有潜在的危险,因为黑客可能会利用一个受限的账户来访问系统的其他部分。由于这一原因,在设置用户特权时要谨慎,始终保证用户只能访问他们所需的内容。在给个别用户设定超级特权时要尤其小心,因为这种级别允许普通用户修改服务器的基本配置,并访问整个数据库。

  建议:对每个用户账户应用显示特权命令,以审查授权表,了解应用通配符许可是否恰当。

  要求使用安全密码

  用户账号的安全与用来保护它们的密码密切相关。因此,在安装MySQL时第一件事就应该设置MySQL根账号的密码(默认为空)。修复这一漏洞后,接下来就应要求每个用户账号使用一个密码,且不要使用生日、用户名或字典中的单词这些容易识别的启发式密码。

  建议:应用MySQL-安全-授权选项避免使用旧的,不大安全的MySQL密码格式。

  检查配置文件许可

  一般来说,要使服务器连接更为快速方便,单个用户和服务器管理员必须把他们的用户账号密码存储在单用户MySQL选项文件中。但是,这种密码是以纯文本形式存储在文件中的,很容易就可以查阅。因此,必须保证这样的单用户配置文件不被系统中的其他用户查阅,且将它存储在非公共的位置。理想情况下,你希望单用户配置文件保存在用户的根目录,许可为0600。

  加密客户与服务器之间数据传送

  MySQL(及其它)客户与服务器构架的一个重要问题就是通过网络传送数据时的安全问题。如果客户与服务器间的交互以纯文本形式发生,黑客就可能“嗅出”被传送的数据包,从而获得机密信息。你可以通过激活MySQL配置中的SSL,或应用一个OpenSSH这样的安全应用来为传送的数据建立一个安全的加密“通道”,以关闭这一漏洞。以这种形式加密客户与服务器连接可使未授权用户极难查阅往来的数据。

  禁止远程访问

  如果用户不需要远程访问服务器,你可以迫使所有MySQL连接通过UNIX插槽文件来完成,从而大大减少网络受攻击的风险。这一过程可通过跳过网络选项启动服务器来完成。这样可以阻止TCP/IP网络连接到MySQL上,保证没有用户可以远程连接系统。

  建议:可以在MySQL服务器配置中添加捆绑地址127.0.0.1指令来增强这一功能,迫使MySQL捆绑当地机器的IP地址来保证只有同一系统中的用户可以连接到MySQL。

  积极监控MySQL访问记录

  MySQL中带有很多不同的日志文件,它们记录客户连接,查询和服务器错误。其中,最重要的是一般查询日志,它用时间标签记录每名客户的连接和中断时间,并记录客户执行的每个查询。如果你怀疑发生了不寻常的行为,如网络入侵,那么监控这个日志以了解行为的

来源:http://www.tulaoshi.com/n/20160219/1612577.html

延伸阅读
标签: MySQL mysql数据库
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事! 备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(...
1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec)  2、创建一个数据库abccs mysql CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库...
标签: MySQL mysql数据库
因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法。 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的...
标签: ASP
  MYSQL数据库以它短小、方便、速度快、免费等优点成为很多网站目前首选数据库,但一般都是用PHP+MYSQL相结合来开发各种动态页面,其实ASP也可以使用MYSQL数据库开发动态页面,小弟我也是刚刚学会,不敢独享,所以特写了这篇文章供大伙参考。 我的环境是WINDOWS98+PWS4.0+mysql-3.23.32-win+PHP4 必要的软件:PWS4.0(呵呵,废...
你可能在使用MySQL过程中,各种意外导致数据库表的损坏,而且这些数据往往是最新的数据,通常不可能在备份数据中找到。本章将继上篇文章中检查出表的问题后,告诉你如何修复表。 一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误: ◆ “tbl_name.frm”被锁定不能改变。 ◆ 不能找到文件“tbl_name.MYI”(Errcode :### )。...

经验教程

454

收藏

65
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部