Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十一)redis密码设置、安全设置

作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载。

警惕

前一篇文章《Spring+SpringMVC+MyBatis+easyUI整合进阶篇(九)Linux下安装redis及redis的常用命令和操作》主要是一个简单的介绍,针对redis入门和安装及命令行简单的使用,虽然已经正常启动和使用,但是由于所有的设置都没有做任何改动,使用的是默认设置,默认端口、默认免密......其实目前状态下的redis相当于是一个裸奔的服务,多多少少是有一些安全性方面的缺陷,如果被一些别有用心的人扫描到或者攻击到还是比较麻烦的。

redis密码设置

第一种方式:通过命令行设置

//首先通过```redis-cli```进入redis,如果没有启动redis的话则需要先启动redis服务:
redis-cli 
//查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
//requirepass参数为空,即未设置密码,重新设置密码为123:
127.0.0.1:6379> config set requirepass 123
OK
//设置之后再去操作会报错:无权限
127.0.0.1:6379> get author
(error) NOAUTH Authentication required.
127.0.0.1:6379> info
NOAUTH Authentication required.

//auth + 密码用来验证,授权通过则可以进行正常操作:
127.0.0.1:6379> auth 123
OK
127.0.0.1:6379> get author
(nil)
127.0.0.1:6379> info
# Server
redis_version:4.0.2
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:5e81d0ebc9709a8a

但是这种方式有个缺点,当前配置redis密码的方法是临时的不会永久有效,如果redis重启之后密码就会失效。

第二种方式:修改redis.conf文件

默认配置中,requirepass是被注释的。

修改redis.conf配置文件

# requirepass foobared
requirepass 123   //指定密码123

希望配置密码永久不失效的话,则需要redis的配置文件redis.conf中找到并修改requirepass参数,保存后重启redis服务即可,密码不会再因为重启而失效了。

由于redis并发能力极强,仅仅只是设置密码也是不够的,攻击者可能在短期内发送大量猜密码的请求很容易暴力破解,所以建议密码强度越高越好,密码在配置文件里是明文显示,所以不用担心自己会忘记。

redis默认端口修改

在服务器安装的一些服务,往往都有一个默认端口,而redis的默认端口则是6379,通常我在安装了一些软件后会修改其默认端口,比如mysql的3306端口、svn的3690端口或者其他的一些默认设置,我都会稍加修改一下,这个是个人习惯而已,可以不做参考。

打开redis的配置文件redis.conf,找到port设置项,将6379改为想要修改的端口,重启即可。

禁止高危命令的随意使用

rename-command FLUSHALL redisflushall   # 重命名FLUSHALL命令  
rename-command FLUSHALL ""  # 禁用FLUSHALL命令  

类似的命令还有CONFIG和EVAL等。

总结

本文是关于redis安全性的个人总结:

  • 密码设置是一定要做的。
  • 至于一些高危命令也建议多加留意,不要随意执行。
  • 而默认端口的修改则根据个人喜好或者项目组的要求了,不是一定要做。

首发于我的个人博客,新的项目演示地址:perfect-ssm,登录账号:admin,密码:123456

如果有问题或者有一些好的创意,欢迎给我留言,也感谢向我指出项目中存在问题的朋友。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏杂谈

使用devenv.exe自动编译项目

因为手游项目使用的是cocos2d-x lua进行开发,在打PC版本提交测试时,有一些环境配置的地方需要进行改动,出包的时候比较麻烦,先修改文件再生成。如果能自...

11840
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装Redis

Redis是一个内存中的键值存储器,以其灵活性,性能和广泛的语言支持而闻名。它通常用作数据库,缓存和消息代理,并支持各种数据结构。

55120
来自专栏后台及大数据开发

docker:(5)利用docker -v 和 Publish over SSH插件实现war包自动部署到docker

在 docker:(3)docker容器挂载宿主主机目录 中介绍了运行docker时的一个重要命令 -v

10620
来自专栏分布式系统和大数据处理

linux常用命令(防火墙)

在部署和配置集群的时候,集群中的多台服务器需要通信,对于一些复杂的应用,例如consul、hadoop等,往往是客户端通信占用一个端口、Web UI占用一个端口...

1.1K20
来自专栏JavaEdge

Spring Security 实战 - Spring Security OAuth2项目准备

20020
来自专栏云计算教程系列

如何在Ubuntu 14.04服务器上设置Chef 12配置管理系统

随着基础架构需求的扩展,手动管理每台服务器变得越来越困难。这种困难因重复性要求而变得复杂,如果节点出现故障或需要水平缩放,则需要再现性。

11000
来自专栏小灰灰

shell脚本后台运行

1. 使用&符号在后台执行命令 你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:. $ ./my-shell-script.sh...

43550
来自专栏cloudskyme

一步一步学Mule ESB——(第二篇:Ajax篇)

待完成功能 使用Ajax请求向后端发送请求 把网页的数据转换成请求的处理流 使用XSL and Mule Transformers转换成Google API可以...

42960
来自专栏cloudskyme

jbpm5.1介绍(11)

Jbpm-gwt-console源码编译 从svn下载,svn的下载地址是 http://anonsvn.jboss.org/repos/soag/bpm-c...

32440
来自专栏FreeBuf

一次与缓冲区溢出的亲密接触

这是一个简单的缓冲区溢出的漏洞,今天没事,来分析一下看看他溢出的原因,最后通过平衡堆栈的方式,让目标程序执行shellcode使程序不crash。只是用来研究和...

14500

扫码关注云+社区

领取腾讯云代金券