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

标签 mysql database security encryption cryptography

  1. 如果我们为所有文件使用server1(文件服务器),为mysql 数据库(数据库服务器)使用server2。 server1 中的网站为了访问 server2 中的数据库,是否需要连接到第二个(mysql 服务器)的 ip 地址?

在本例中,是远程mysql连接。

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

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

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

  1. 通过允许静态 ip 地址允许从 server1 远程访问 mysql
  2. 通过设置允许连接到 3306 的端口允许从服务器 1 进行远程访问
  3. 将 3306 更改为其他端口?

有什么建议吗?

最佳答案

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

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

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

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

关于mysql - 如何加强Mysql数据库服务器的安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593183/

相关文章:

php - 将mysql数据库从开发导出和上传到生产

php - 两个 mysql 表之间的链接 ID

Mysql表中数据过多怎么办

java转mysql jdbc连接问题

java - 使用 Javascript 函数调用签名的小程序 : Initialization Error on IcedTea plugin

security - Lisp 应用程序和网络应用程序是否需要特殊的输入清理?

mysql - `brew link mysql` 给出 "Error: Could not symlink bin/my_print_defaults"

mysql - 基于两个条件的 SQL 中的 ALTER 和 UPDATE 表

java - 对于一个简单的应用程序,我应该使用 XML 文件还是真正的数据库或其他东西?

android - 开源用户安全/密码方案