如何加强Mysql数据库服务器的安全性?

时间:2009-10-20 08:31:10

标签: mysql database security encryption cryptography

  1. 如果我们将server1用于所有文件(文件服务器),则将server2用于mysql数据库(数据库服务器)。 为了让server1中的网站访问server2中的数据库,是不是需要连接到第二个(mysql服务器)的ip地址?
  2. 在这种情况下,是远程mysql连接。

    但是,我从一些人那里看到了对安全问题的评论。

    远程访问MySQL不是很安全。当您的远程计算机首次连接到MySQL数据库时,密码会在通过Internet传输之前进行加密。但之后,所有数据都以未加密的“纯文本”形式传递。如果有人能够查看您的连接数据(例如“黑客”从您正在使用的未加密的WiFi连接捕获数据),那么该人将能够查看您的部分或全部数据库。

    所以我只是想知道如何保护它?

    1. 允许静态IP地址
    2. 允许从server1进行远程mysql访问
    3. 允许通过设置允许连接到3306的端口
    4. 来从服务器1进行远程访问
    5. 将3306更改为其他端口?
    6. 有什么建议吗?

2 个答案:

答案 0 :(得分:3)

1)连接到MySQL over SSL。这将保护您的用户名/密码以及正在传输的数据。另一种选择是use a vpn,如果你有多台需要共享的机器或守护进程,那么它更适合。

2)不允许远程root登录。至少禁用“root”帐户,因为这是攻击者首先尝试和暴力破解。

3)您正在使用的用户帐户的Restrict ip addresses

4)从所有帐户中删除file_priv。如果被授予,这将允许攻击者在托管mysql的服务器上读写文件。

答案 1 :(得分:1)

  • 锁定对特定用户的特定用户的访问权限。
  • 使用非公共网络进行服务器间通信。
  • 如果适用,请锁定对您在操作系统级别决定的任何MySQL端口的访问。
  • 如果您觉得它适用,请更改默认端口(尽管这会导致许多事情的连锁配置)。