linux – 在Puppet中,我如何保护密码变量(在这种情况下是MySQL密码)?

前端之家收集整理的这篇文章主要介绍了linux – 在Puppet中,我如何保护密码变量(在这种情况下是MySQL密码)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Puppet为 MySQL配置参数化类:
class MysqL::server( $password ) {

        package { 'MysqL-server': ensure => installed }
        package { 'MysqL': ensure => installed }

        service { 'MysqLd':
                enable => true,ensure => running,require => Package['MysqL-server'],}

        exec { 'set-MysqL-password':
                unless => "MysqLadmin -uroot -p$password status",path => ['/bin','/usr/bin'],command => "MysqLadmin -uroot password $password",require => Service['MysqLd'],}
}

我该如何保护$密码?目前,我从节点定义文件删除了默认的世界可读权限,并通过ACL显式提供了puppet读取权限.

我假设其他人遇到了类似的情况,所以也许有更好的做法.

解决方法

在使用Puppet和MysqL时,我倾向于将root密码放在/root/.my.cnf中,将此文件锁定,然后将SSH访问限制在数据库服务器上.

是的,以明文形式将root密码存储数据库服务器上并不是最安全的解决方案.但是,如果您在此文件中编写MysqL root密码,则保护MysqL root帐户以允许从localhost登录只会将密码保留在puppet之外,并且还会保留在进程列表ps表之外.

此外,如果某人有root权限来读取/root/.my.cnf上的文件,那么他们可能还可以访问停止本地MysqL守护程序并重新启动守护程序而不使用users表来获得对数据库的直接root访问权限.

原文链接:https://www.f2er.com/linux/400930.html

猜你在找的Linux相关文章