• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      簡單技巧提高Redis的安全性

      2020-08-11 09:37:22
      網(wǎng)絡(luò)安全和信息化 2020年8期
      關(guān)鍵詞:配置文件數(shù)據(jù)結(jié)構(gòu)命令

      編者按:Redis存儲系統(tǒng)在數(shù)據(jù)結(jié)構(gòu)服務(wù)方面為用戶提供了極大便利,但也存在安全隱患,這些安全問題很容易被用戶忽視。本文簡要介紹如何通過一些技巧來提升Redis的安全性。

      Redis是開源BSD許可的高級Key-Value存儲系統(tǒng),可存儲字符串、哈希結(jié)構(gòu)、鏈表和集合等,常用來提供數(shù)據(jù)結(jié)構(gòu)服務(wù)。

      同Memcached等數(shù)據(jù)庫相比,Redis可以用來做存儲,而Memcached只是用來做緩存,這使Redis可以實(shí)現(xiàn)數(shù)據(jù)的持久化存儲,即可以周期性的將更新的數(shù)據(jù)寫入到磁盤中,以及將修改的操作記錄追加到文件中保存起來。Redis不僅具有豐富的數(shù)據(jù)結(jié)構(gòu),而且支持主從同步。Redis在一定程度上彌補(bǔ)了Memcached這類Key-Value內(nèi)存緩存服務(wù)的不足,對關(guān)系型數(shù)據(jù)庫啟動很好的補(bǔ)充作用,因此,Redis在實(shí)際中得到了廣泛的應(yīng)用。

      但是Redis的安全卻很容易被使用者忽視。因?yàn)樵赗edis中并沒有用戶的概念,客戶端可以很輕松的連接上來。而且Redis并發(fā)能力很強(qiáng),運(yùn)行速度很快,對于一臺配置不錯(cuò)的Redis服務(wù)器來說,外部的用戶可以在1 s內(nèi)執(zhí)行15萬次的密碼嘗試,如果不配置密碼或者密碼設(shè)計(jì)的比較簡單的話,惡意用戶可以毫不費(fèi)力的盜取和破壞數(shù)據(jù)庫中信息。因此,從安全的角度考慮,需要為Redis配置長度盡可能長的復(fù)雜密碼來防止暴力破解。

      執(zhí)行“vim redis.conf”命令,打開Redis的配置文件,找 到“# requirepass foobared”行,可以看到其默認(rèn)的密碼認(rèn)證功能是被注釋掉的,將該行中的“#”刪除,將原來的“foobared”密碼更換為盡可能復(fù)雜的密碼。

      之后執(zhí)行“./bin/redisserver ./redis.conf”命令,來重新啟動Redis服務(wù),當(dāng)然具體的Redis安裝路徑需要根據(jù)實(shí)際情況而定。這里在本地測試,執(zhí)行“./bin/redis-cli”命令,和本地的Redis服務(wù)建立連接。如果不輸入連接密碼的話,雖然可以顯示操作提示符,但是卻無法進(jìn)行任何操作。例如執(zhí)行“set key1 value1”命 令,Redis會顯示“(error) NOAUTH Authentication required”的提示,說明權(quán)限不足需要安全認(rèn)證。在提示符下執(zhí)行“auth xxxxxx”命令,執(zhí)行密碼認(rèn)證,其中的“xxxxxx”為預(yù)設(shè)的密碼,如果密碼正確Redis會顯示“OK”字樣,之后就可以順利執(zhí)行各種操作了。

      除了使用上述交互式的登錄認(rèn)證外,也可以執(zhí)行“redis-cli -a xxxxxx”命令,來執(zhí)行進(jìn)行安全認(rèn)證。如果想連接遠(yuǎn)程主機(jī)上的Redis服務(wù),可以執(zhí)行“./bin/redis-cli -h xxx.xxx.xxx.xxx -a xxxxxx -p 6379”,其 中“xxx.xxx.xxx.xxx”為遠(yuǎn)程主機(jī)IP,6379為默認(rèn)端口號。

      如果只是臨時(shí)為Redis設(shè)置密碼,可以在Redis連接提示符下執(zhí)行“config set requirepass xxxxxx”命令,為其設(shè)置所需的密碼。執(zhí)行“config get require pass”命令,會顯示該密碼。當(dāng)然如果重啟Redis服務(wù),該臨時(shí)密碼就會消失。

      熟悉MySQL數(shù)據(jù)庫的用戶都知道,在MySQL中管理員可以使用Grant命令對數(shù)據(jù)庫進(jìn)行授權(quán),讓不同的用戶只能執(zhí)行規(guī)定的操作,可以有效保護(hù)數(shù)據(jù)庫的安全。在Redis中則可以通過對特定的命令更名或者禁用的方法,來防止使用者隨意操作指定的命令,這也可以在一定程度上保護(hù)數(shù)據(jù)庫的安全。

      例如,打開Redis的配置文件,在其中添加“renamecommand set ""”一行,就可以禁用Set命令。當(dāng)連接到Redis服務(wù)器后,執(zhí)行諸如“set key1 value1”等命令時(shí),Redis會提示“(error)ERR unknown command'set'”,說明找不到該命令。

      當(dāng)然,為了便于自己使用,可以將特定的命令進(jìn)行更名。這樣,就可以自己使用該命令,而別人因?yàn)椴恢烂畹男旅Q,自然就無法使用了。例如,打開Redis配置文件,在其中添加“rename-command CONFIG xxxxxx”命 令,將“CONFIG”命令更改為新的名稱,這里為“xxxxxx”。按照同樣的方法,可以為各種具有潛在風(fēng)險(xiǎn)的命令進(jìn)行更名,可以有效防止外部用戶隨意使用。即使別人破解了密碼,連接到了Redis及服務(wù)器,因?yàn)椴恢佬碌拿蠲Q,也無法對數(shù)據(jù)庫造成威脅。

      在默認(rèn)情況下,Redis會接受來自任何地址發(fā)送來的請求,在很多情況下我們只是在本機(jī)上操作Redis,無需接收來自公網(wǎng)IP的訪問。為此可以打開Redis配置文件,在其中修改bind參數(shù),只允許特定的IP進(jìn)行連接,比如將其修改為“bind 127.0.0.1”,這樣就只能在本機(jī)上連接Redis服務(wù)端了。

      當(dāng)然,為了進(jìn)一步提高Redis的安全性,防止惡意用戶利用潛在的Redis漏洞對系統(tǒng)進(jìn)行攻擊,較好的方法是較低權(quán)限賬號運(yùn)行Redis服務(wù),且禁用該賬號的登錄權(quán)限,這樣可以限制攻擊者往磁盤寫入文件。例如,可以執(zhí)行“su -m nobody -c ./bin/redis-server”命令,以Nobody用戶身份啟動Redis服務(wù)等。還可針對Redis連接配置防火墻IPTables策略,僅允許指定的IP來訪問Redis服務(wù),將無關(guān)的網(wǎng)絡(luò)連接屏蔽,可以有效地提高Redis的安全性。

      猜你喜歡
      配置文件數(shù)據(jù)結(jié)構(gòu)命令
      提示用戶配置文件錯(cuò)誤 這樣解決
      只聽主人的命令
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機(jī)root密碼怎么辦
      移防命令下達(dá)后
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      這是人民的命令
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      安平县| 鄯善县| 东兴市| 黔南| 蒙山县| 平塘县| 上高县| 车致| 上虞市| 台南县| 邹城市| 永城市| 桑植县| 肃宁县| 兰西县| 汪清县| 兴化市| 方山县| 石柱| 武穴市| 万荣县| 沙河市| 永顺县| 清流县| 普安县| 虞城县| 龙岩市| 电白县| 龙里县| 顺义区| 施甸县| 巧家县| 图片| 西华县| 本溪| 商河县| 罗江县| 全南县| 嵊州市| 百色市| 金山区|