虚拟机数据挂载映射
云服务器上的redis收到恶意攻击,检查时发现redis.conf文件是空目录而不是具体配置文件
默认空目录
仔细排查后想起自己是直接用本地创建时的命令在云服务器的docker上创建容器并挂载的,云服务器并没有本地的redis配置文件,所以默认创建了空目录,配置也就失效了。
数据挂载时需要先确保宿主机对应位置的文件是正确的,才能正常映射到容器中,否则就可能默认创建目录映射,若容器和宿主机的文件类型不同会导致映射报错无法启用。
控制外界IP访问
docker配置时若不指定ip地址,默认映射0.0.0.0的6379端口到本机6379端口,相当于将端口直接暴露给所有外界
同时由于docker的端口映射独立于防火墙和安全组,所以无法通过防火墙和安全组指定精确端口
我们可以修改redis的配置文件,当redis监听0.0.0.0时相当于配合docker默认配置相当于监听所有ip的请求,我们可以改为只监听本机和个人机器的ip地址,这样可以避免尽量其他ip的恶意攻击。达到精确控制的效果
目前只能通过nginx反向代理或ssh连接保证安全性,也可以更改端口映射为约定的端口避免直接攻击,或开启redis的安全模式强制要求访问密码