作者:13
GItHub:https://github.com/ZHENFENG13
版權(quán)聲明:本文為原創(chuàng)文章逮走,未經(jīng)允許不得轉(zhuǎn)載刚梭。
警惕
前一篇文章《Spring+SpringMVC+MyBatis+easyUI整合進(jìn)階篇(九)Linux下安裝redis及redis的常用命令和操作》主要是一個(gè)簡(jiǎn)單的介紹乎婿,針對(duì)redis入門和安裝及命令行簡(jiǎn)單的使用测僵,雖然已經(jīng)正常啟動(dòng)和使用,但是由于所有的設(shè)置都沒有做任何改動(dòng)谢翎,使用的是默認(rèn)設(shè)置捍靠,默認(rèn)端口、默認(rèn)免密......其實(shí)目前狀態(tài)下的redis相當(dāng)于是一個(gè)裸奔的服務(wù)森逮,多多少少是有一些安全性方面的缺陷榨婆,如果被一些別有用心的人掃描到或者攻擊到還是比較麻煩的。
redis密碼設(shè)置
第一種方式:通過命令行設(shè)置
//首先通過```redis-cli```進(jìn)入redis褒侧,如果沒有啟動(dòng)redis的話則需要先啟動(dòng)redis服務(wù):
redis-cli
//查看當(dāng)前redis有沒有設(shè)置密碼:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
//requirepass參數(shù)為空良风,即未設(shè)置密碼,重新設(shè)置密碼為123:
127.0.0.1:6379> config set requirepass 123
OK
//設(shè)置之后再去操作會(huì)報(bào)錯(cuò):無權(quán)限
127.0.0.1:6379> get author
(error) NOAUTH Authentication required.
127.0.0.1:6379> info
NOAUTH Authentication required.
//auth + 密碼用來驗(yàn)證闷供,授權(quán)通過則可以進(jìn)行正常操作:
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
但是這種方式有個(gè)缺點(diǎn)烟央,當(dāng)前配置redis密碼的方法是臨時(shí)的不會(huì)永久有效,如果redis重啟之后密碼就會(huì)失效歪脏。
第二種方式:修改redis.conf
文件
默認(rèn)配置中疑俭,requirepass
是被注釋的。
修改redis.conf配置文件
# requirepass foobared
requirepass 123 //指定密碼123
希望配置密碼永久不失效的話唾糯,則需要redis的配置文件redis.conf中找到并修改requirepass
參數(shù),保存后重啟redis服務(wù)即可怠硼,密碼不會(huì)再因?yàn)橹貑⒍Я恕?/p>
由于redis并發(fā)能力極強(qiáng)鬼贱,僅僅只是設(shè)置密碼也是不夠的移怯,攻擊者可能在短期內(nèi)發(fā)送大量猜密碼的請(qǐng)求很容易暴力破解,所以建議密碼強(qiáng)度越高越好这难,密碼在配置文件里是明文顯示舟误,所以不用擔(dān)心自己會(huì)忘記。
redis默認(rèn)端口修改
在服務(wù)器安裝的一些服務(wù)姻乓,往往都有一個(gè)默認(rèn)端口嵌溢,而redis的默認(rèn)端口則是6379,通常我在安裝了一些軟件后會(huì)修改其默認(rèn)端口蹋岩,比如mysql的3306端口赖草、svn的3690端口或者其他的一些默認(rèn)設(shè)置,我都會(huì)稍加修改一下剪个,這個(gè)是個(gè)人習(xí)慣而已秧骑,可以不做參考。
打開redis的配置文件redis.conf,找到port設(shè)置項(xiàng)乎折,將6379改為想要修改的端口绒疗,重啟即可。
禁止高危命令的隨意使用
rename-command FLUSHALL redisflushall # 重命名FLUSHALL命令
rename-command FLUSHALL "" # 禁用FLUSHALL命令
類似的命令還有CONFIG和EVAL等骂澄。
總結(jié)
本文是關(guān)于redis安全性的個(gè)人總結(jié):
- 密碼設(shè)置是一定要做的吓蘑。
- 至于一些高危命令也建議多加留意,不要隨意執(zhí)行坟冲。
- 而默認(rèn)端口的修改則根據(jù)個(gè)人喜好或者項(xiàng)目組的要求了磨镶,不是一定要做。
首發(fā)于我的個(gè)人博客樱衷,新的項(xiàng)目演示地址:perfect-ssm,登錄賬號(hào):admin,密碼:123456
如果有問題或者有一些好的創(chuàng)意棋嘲,歡迎給我留言,也感謝向我指出項(xiàng)目中存在問題的朋友矩桂。
如果你想繼續(xù)了解該項(xiàng)目可以查看整個(gè)系列文章Spring+SpringMVC+MyBatis+easyUI整合系列文章,也可以到我的GitHub倉庫或者開源中國代碼倉庫中查看源碼及項(xiàng)目文檔沸移。