如何提高mysql数据库的安全性

时间:2010-01-28 09:14:36

标签: mysql-management

我是学生,我们正在为医院建立一个简单的信息系统。 我们如何提高mysql数据库的安全性,以保护机密信息。

5 个答案:

答案 0 :(得分:4)

我的头顶上只有几个......

  1. 使用密码
  2. 仅允许从应访问的位置访问服务器。例如。如果它只能由同一台机器上的Web服务器访问,则不允许从机器外部访问mysql。
  3. 为每个可以访问它的人提供他们自己的用户名和密码,并将其限制为只需要执行的操作。禁用DROP,DELETE等,并且不允许普通用户更改数据库,创建表,更改表等等的权限。
  4. 确保您了解MySQL中使用的用户权限系统。起初这是一场噩梦,但是当你得到它时会给你很多控制。
  5. 不要认为它是安全的 - 它不是 - 无论你做了什么,你总能做得更多。

答案 1 :(得分:3)

安全是一个复杂的问题,很难回答模糊的问题。

一些概括。

如果在同一服务器上共同定位数据库和应用程序是有意义的,那么您应该这样做并禁用对数据库的所有远程访问。缺点是这限制了您使用单独的数据库和应用程序服务器进行扩展的能力。

您还需要确定是否需要复制。如果你这样做,你需要允许访问,而如果你可以逃脱它,你不应该。

您需要严格遵守用户名和密码制度。我实际上使用密码生成器来获取应用程序访问的用户名和密码,但是你走多远取决于你。

您应该假设有人可以访问您的数据库。每个“用户”应该只具有用户执行该作业所需的权限。当有人闯入时,每个用户可以做得越少就越安全。您可能需要创建多个用户,这样您的应用程序的每个位都可以完成他们的工作,而且只能完成他们的工作。

最后,您应该考虑获取对数据库的访问权限的后果。我认为健康记录需要极高的安全性。您可以在数据库本身考虑某种形式的加密/混淆,但我自己也不需要这样做,所以我不能发表评论。

答案 2 :(得分:2)

  1. 使用一个好密码
  2. 仅允许来自某些IP的访问者
  3. 强大的密码系统,即使是黑客,也没有人得到它自己
  4. md5('your-password')不够安全,请尝试md5(md5('your-password').'your-password')

答案 3 :(得分:1)

确保您的申请不允许SQL Injection

答案 4 :(得分:0)

禁止来自除应用程序服务器IP地址之外的所有IP地址的连接。并确保使用DB的应用程序没有安全漏洞。 :)