新聞中心
CINFIG命令來設(shè)置密碼;另外一種則是手動(dòng)修改 Redis 的配置文件。雖然看似前者更為簡單,其實(shí)兩種方式各有特點(diǎn)。本節(jié)將對(duì)它們進(jìn)行介紹。
創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、高陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為高陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
命令配置密碼
通過執(zhí)行以下命令查看是否設(shè)置了密碼驗(yàn)證:
127.0.0.1:6379> CONFIG get requirepass 1) "requirepass" 2) ""
在默認(rèn)情況下 requirepass 參數(shù)值為空的,表示無需通過密碼驗(yàn)證就可以連接到 Redis 服務(wù)。
下面執(zhí)行以下命令設(shè)置密碼。如下所示:
127.0.0.1:6379> CONFIG set requirepass "www.biancheng.net" OK 127.0.0.1:6379> CONFIG get requirepass 1) "requirepass" 2) "www.biancheng.net"
執(zhí)行完上述操作后,客戶端要連接到 Redis 服務(wù)就需要密碼驗(yàn)證,如果不驗(yàn)證就無法操作 Redis 數(shù)據(jù)庫。如下所示:
127.0.0.1:6379> set key name www.biancheng.net #報(bào)錯(cuò)無法操作 (error) NOAUTH Authentication required.
使用
AUTH命令驗(yàn)證密碼:
127.0.0.1:6379> AUTH www.biancheng.net OK #執(zhí)行命令成功 127.0.0.1:6379> SET name www.biancheng.net OK 127.0.0.1:6379> GET name www.biancheng.net
注意:通過命令行設(shè)置的密碼并非永久有效,當(dāng)您重啟服務(wù)后密碼就會(huì)失效,所以一般不采用這種方式。下面介紹一種永久有效的修改方式,也就是手動(dòng)配置密碼。
手動(dòng)配置密碼
手動(dòng)修改配置密碼也非常的簡單,首先,您要在 Redis 的安裝目錄中找到 redis.windows.conf 配置文件,然后打開該文件,并使用 Ctrl+F 搜索 requirepass 關(guān)鍵字,找到配置項(xiàng)并配置密碼,如下所示:
# requirepass foobared requirepass www.biancheng.net //配置自己的密碼
然后使用更改后的配置文件重啟服務(wù)器,依次執(zhí)行以下命令:
#首先停止服務(wù): C:\Users\Administrator>redis-server.exe --service-stop #重啟服務(wù)器 C:\Users\Administrator>redis-server.exe --service-start #重新登陸 C:\Users\Administrator>redis-cli.exe -h 127.0.0.1 -p 6379 -a www.biancheng.net Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. #命令執(zhí)行成功 127.0.0.1:6379>config get requirepass 1)"requirepass" 2)"www.biancheng.net"
手動(dòng)配置無須驗(yàn)證密碼,只需要重新啟動(dòng) Redis 服務(wù)器。這種配置方式,密碼永遠(yuǎn)有效。如果想取消密碼設(shè)置,您需要將配置文件更改回原來的狀態(tài),然后再次重啟服務(wù)器,即可取消。
除了需要為 Redis 配置密碼外,我們在使用 Redis 時(shí)也需要注意一些常見的安全風(fēng)險(xiǎn)以及防范措施,從而避免數(shù)據(jù)泄露和丟失,以及人為操作失誤等。
指令安全
Redis 有一些非常危險(xiǎn)的命令,這些命令會(huì)對(duì) Redis 的穩(wěn)定以及數(shù)據(jù)安全造成非常嚴(yán)重的影響。比如 keys 指令會(huì)導(dǎo)致 Redis 卡頓,而 flushdb 和 flushall 會(huì)讓 Redis 的所有數(shù)據(jù)全部清空。那么如何避免這些操作失誤帶來的災(zāi)難性后果呢?
Redis 在配置文件中提供了 rename-command 指令用于將某些危險(xiǎn)的指令修改成特別的名稱,用來避免人為誤操作。比如在配置文件的 security 模塊增加以下內(nèi)容:
rename-command keys 123keys123
如果您還想執(zhí)行 keys 命令,那就需要在命令行輸入123keys123。 當(dāng)然也可以將指令 rename 成空字符串,這樣就無法通過字符串來執(zhí)行 keys 命令了。
rename-command flushall ""
端口安全
Redis 默認(rèn)監(jiān)聽
*:6379,如果當(dāng)前的服務(wù)器主機(jī)有外網(wǎng)地址,那么 Redis 的服務(wù)將會(huì)直接暴露在公網(wǎng)上,別有用心的人使用適當(dāng)?shù)奶綔y工具就可以對(duì) IP 地址進(jìn)行端口掃描,從而威脅您的系統(tǒng)安全。
如果 Redis 的服務(wù)地址一旦可以被外網(wǎng)直接訪問,其內(nèi)部數(shù)據(jù)就徹底喪失了安全性。黑客們可以通過 Redis 執(zhí)行 Lua 腳本拿到服務(wù)器權(quán)限,然后清空您的 Redis 數(shù)據(jù)庫。因此務(wù)必在 Redis 的配置文件中綁定要監(jiān)聽的 IP 地址,避免類似的情況發(fā)生。如下所示:
bind 193.168.1.1 #綁定外網(wǎng)ip地址
不僅如此,還可以增加 Redis 的密碼訪問限制,客戶端必須使用 auth 命令傳入正確的密碼才可以訪問 Redis。
requirepass yourspassword
這樣即使地址暴露出去了,普通黑客也無法對(duì) Redis 服務(wù)器進(jìn)行任何指令操作。
密碼配置也會(huì)影響到主從復(fù)制。要求從機(jī)必須配置與主服務(wù)相同的密碼才可以進(jìn)行主從復(fù)制。
masterauth yourspassword
SSH代理
Redis 不支持 SSL 鏈接,這意味著客戶端和服務(wù)器交互的數(shù)據(jù)不應(yīng)該在公網(wǎng)上傳輸,否則會(huì)有被竊聽的風(fēng)險(xiǎn)。如果必須要在公網(wǎng)上,可以考慮使用 SSL 代理。SSL 代理比較常見的有 ssh。Redis 官方也推薦了一種代理工具,也就是 spiped (點(diǎn)擊了解)。 其功能雖然單一,但使用起來比較簡單,易于理解。
分享名稱:Redis安全策略
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/ccieecg.html


咨詢
建站咨詢
