问题
- 对于生产项目来说,无密码或弱密码都是高危漏洞,是存在巨大安全风险的
- 对于测试环境或本地调试,数据库无密码或者弱密码可以接受,生产环境一定要保持强密码
- 生产环境,要使用防火墙,并做好端口管理,不需要暴露的端口,不要暴露出来
- 对于clickhouse数据库,默认是允许无密码访问的,如果要上生产环境,一定要设置好密码
- 关于clickhouse安装,可以参考我的这篇博文:ClickHouse安装和使用(windows10 docker 和 linux centos7)
设置密码
-
clickhouse 用户信息,在配置文件
/etc/clickhouse-server/users.xml
里 -
可以通过修改这个配置文件,给用户设置密码
-
clickhouse默认密码加密传输,所以我们要设置密文,使用加密算法sha256
-
密码生成可以使用命令
echo -n 密码 | sha256sum | tr -d '-'
,如echo -n a123b456 | sha256sum | tr -d '-'
输出5b28b1d5ee792ea157182cfd12caec6c31cb1a689f21b4a9b71bc7dc5c057223
-
使用vi命令修改文件
vi /etc/clickhouse-server/users.xml
-
使用
/<password>
找到密码位置,注释掉,添加我们的新密码<password_sha256_hex>5b28b1d5ee792ea157182cfd12caec6c31cb1a689f21b4a9b71bc7dc5c057223</password_sha256_hex>
-
使用
:wq!
进行保存 -
重启clickhouse服务
systemctl restart clickhouse-server
,即可生效 -
这里的
a123b456
只是作为示例,请设置足够强度的密码