我想为不同的网站创建一些 mysql 用户,但不允许他们进行交互式连接。
如果恶意用户获得了网站的 mysql 登录凭据,则创建从终端到服务器的连接相当简单,但将 PHP 脚本上传到服务器是另一回事。我认为这个限制不是不必要的。
简而言之,我怎样才能禁止特定用户的交互式连接?
我想为不同的网站创建一些 mysql 用户,但不允许他们进行交互式连接。
如果恶意用户获得了网站的 mysql 登录凭据,则创建从终端到服务器的连接相当简单,但将 PHP 脚本上传到服务器是另一回事。我认为这个限制不是不必要的。
简而言之,我怎样才能禁止特定用户的交互式连接?
您通常以两种方式中的一种或两种方式来处理它,如果您愿意的话。您将授权位置设置为仅允许用户从您希望用户连接到的 ip、ip 范围或主机名进行连接
所以例如
仅授予从本地主机选择和插入。或者说你的网络服务器在一个单独的 vlan 上
这将允许从 10.128.10.0/24 选择和插入
您还可以防火墙关闭 mysql 端口,只允许来自您希望连接的主机的 mysql 连接。
你不能。MySQL 无法区分 CLI 会话和来自库的连接,或者至少没有权限模型来处理这种差异。
通常,您必须使权限尽可能具体。应允许来自特定网络服务器的连接应仅限于该服务器。这大大减少了攻击面。
此外,如果可能,不要
mysql
在该服务器上安装 CLI 程序以进一步限制攻击面。