mysql - Docker中MySQL默认密码的安全性

标签 mysql docker security passwords

目前,我正在 Docker 中使用 MySQL,并问自己如何处理(root)密码。该容器无法从外部访问(没有端口转发到主机),只能从 Docker 网络内部访问(Docker Compose)。

从我目前的角度来看,我只能使用默认/简单的密码,因为除了从 Docker 内部之外无法访问 mysql 服务器,并且任何有权访问 Docker 的人都是 root(至少是类似 root 的)(因此可以访问无论如何,例如通过直接访问文件)。这是正确的还是我错过了什么?

最佳答案

我不会依赖它!例如,如果您稍后安装了一个网络服务器,使用它来提供像 e 这样的应用程序。 G。 phpMyAdmin,很容易攻击你的数据库。

在大多数情况下,攻击媒介不是服务本身,而是使用它的其他应用程序,从而暴露了该服务,在我看来,phpMyAdmin 就是一个很好的例子。另一个例子是 SQL 注入(inject),如果攻击者获得对您的 MySQL root 帐户的访问权限,他就可以访问您的文件系统。关于这一点,我建议您看看MySQL Security Guidelines 。因此,您应该始终使用安全密码,特别是对于拥有 GRANTFILEPROCESS 权限的用户。

如果您安装了 Debian 或其他基于 Debian 的操作系统,您可以使用 debian-sys-maint 用户轻松访问 shell 上的数据库,如下所示:

# mysql --defaults-file=/etc/mysql/debian.cnf

它为您提供 root 访问权限,而不会提示您输入密码。

我希望这会有所帮助,请确保其安全!

关于mysql - Docker中MySQL默认密码的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53556530/

相关文章:

ASP.NET 状态服务器安全性

java - 创建 ECDSA key

mysql - 用于存储词典列表的数据库

docker - 如何查看 docker 图像的 TreeView ?

docker - 如何设置 docker 注册表作为代理?

git - NPM 安装在 dockerized env 中失败

java - Java 小程序可以打开 "select directory"并通过 JavaScript 交互写入文件系统吗?

php - 向表列添加标题,并从 SQL 输出总计

mysql - 通过重用 MYSQL 中的派生字段列名来简化查询字符串

mysql - 无法从 MySQL 表中删除集合