new api使用mysql数据库,非root用户远程连接安全性如何设置

背景

我在VPS上部署了new api,连接的是mysql(版本8.4.3),已经禁止了root远程连接。但是new api的数据库(库名:newapi)我允许了远程密码登录。连接方式是user:newapi库用户名,host:%

但是目前使用 newapi库用户名 远程连接后,可以看到newapi的用户信息,并且可以修改信息!查看了 newapi库用户名 的权限是all privilege,这样似乎很不安全啊,如果对方知道我的主机IP、用户名和密码就能远程登录,并且修改信息。

需求

想请教各位佬,有没有什么办法提高安全性?
目前能想到的是1.修改 newapi库用户名 的host,但是我连接时需要挂代理,host固定后自己连也不方便。2.限制 newapi库用户名 的privilege,但是我尝试用root用户限制后,发现依然是all privilege,flush privilege后还是all privilege,并且限制后担心会不会影响new api的项目?

1 Like

数据库限制远程登录,只开放内网连接

new api使用docker 配置,mysql 暴露为127.0.0.1:端口,或者压根不暴露。docker内部网络是可以通过容器名称访问mysql的。

另外主机ip,端口,用户名,密码都泄露了,这个条件还挺难的。端口修改为非常用端口,其实还好。