摘要:最近安全事故瀕發(fā)啊,前幾天發(fā)生了順豐高級(jí)運(yùn)維工程師的刪庫事件,今天又看到了工程師在線執(zhí)行了危險(xiǎn)命令導(dǎo)致某公司損失萬。。該公司表示,如再犯類似事故,將直接開除,并表示之后會(huì)逐步收回運(yùn)維部各項(xiàng)權(quán)限。
最近安全事故瀕發(fā)啊,前幾天發(fā)生了《順豐高級(jí)運(yùn)維工程師的刪庫事件》,今天又看到了 PHP 工程師在線執(zhí)行了 Redis 危險(xiǎn)命令導(dǎo)致某公司損失 400 萬。。
什么樣的 Redis 命令會(huì)有如此威力,造成如此大的損失?
具體消息如下:
據(jù)云頭條報(bào)道,某公司技術(shù)部發(fā)生 2 起本年度 PO 級(jí)特大事故,造成公司資金損失 400 萬,原因如下:由于 PHP 工程師直接操作上線 redis,執(zhí)行 keys wxdb(此處省略)cf8 這樣的命令,導(dǎo)致redis鎖住,導(dǎo)致 CPU 飆升,引起所有支付鏈路卡住,等十幾秒結(jié)束后,所有的請(qǐng)求流量全部擠壓到了 rds 數(shù)據(jù)庫中,使數(shù)據(jù)庫產(chǎn)生了雪崩效應(yīng),發(fā)生了數(shù)據(jù)庫宕機(jī)事件。
該公司表示,如再犯類似事故,將直接開除,并表示之后會(huì)逐步收回運(yùn)維部各項(xiàng)權(quán)限。
看完這個(gè)消息后,我心又一驚,為什么這么低級(jí)的問題還在犯?為什么線上的危險(xiǎn)命令沒有被禁用?這事件報(bào)道出來真是覺得很低級(jí)。。。
且不說是哪家公司,發(fā)生這樣的事故,不管是大公司還是小公司,我覺得都不應(yīng)該,相關(guān)負(fù)責(zé)人應(yīng)該引咎辭職!??!
對(duì) Redis 稍微有點(diǎn)使用經(jīng)驗(yàn)的人都知道線上是不能執(zhí)行 keys * 相關(guān)命令的,雖然其模糊匹配功能使用非常方便也很強(qiáng)大,在小數(shù)據(jù)量情況下使用沒什么問題,數(shù)據(jù)量大會(huì)導(dǎo)致 Redis 鎖住及 CPU 飆升,在生產(chǎn)環(huán)境建議禁用或者重命名!
還有哪些危險(xiǎn)命令?Redis 的危險(xiǎn)命令主要有以下幾個(gè):
keys
客戶端可查詢出所有存在的鍵。
flushdb
Delete all the keys of the currently selected DB. This command never fails.
刪除 Redis 中當(dāng)前所在數(shù)據(jù)庫中的所有記錄,并且此命令從不會(huì)執(zhí)行失敗。
flushall
Delete all the keys of all the existing databases, not just the currently selected one. This command never fails.
刪除 Redis 中所有數(shù)據(jù)庫中的所有記錄,不只是當(dāng)前所在數(shù)據(jù)庫,并且此命令從不會(huì)執(zhí)行失敗。
config
客戶端可修改 Redis 配置。
怎么禁用或重命名危險(xiǎn)命令?看下 redis.conf 默認(rèn)配置文件,找到 SECURITY 區(qū)域,如以下所示。
################################## SECURITY ################################### # Require clients to issue AUTHbefore processing any other # commands. This might be useful in environments in which you do not trust # others with access to the host running redis-server. # # This should stay commented out for backward compatibility and because most # people do not need auth (e.g. they run their own servers). # # Warning: since Redis is pretty fast an outside user can try up to # 150k passwords per second against a good box. This means that you should # use a very strong password otherwise it will be very easy to break. # # requirepass foobared # Command renaming. # # It is possible to change the name of dangerous commands in a shared # environment. For instance the CONFIG command may be renamed into something # hard to guess so that it will still be available for internal-use tools # but not available for general clients. # # Example: # # rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 # # It is also possible to completely kill a command by renaming it into # an empty string: # # rename-command CONFIG "" # # Please note that changing the name of commands that are logged into the # AOF file or transmitted to slaves may cause problems.
看說明,添加 rename-command 配置即可達(dá)到安全目的。
1)禁用命令
rename-command KEYS "" rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG ""
2)重命名命令
rename-command KEYS "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" rename-command FLUSHALL "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" rename-command FLUSHDB "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" rename-command CONFIG "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
上面的 XX 可以定義新命令名稱,或者用隨機(jī)字符代替。
經(jīng)過以上的設(shè)置之后,危險(xiǎn)命令就不會(huì)被客戶端執(zhí)行了
關(guān)注下面的微信公眾號(hào),回復(fù) “答案” 獲取全套R(shí)edis面試題及答案。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77298.html
摘要:最近的互聯(lián)網(wǎng)線上事故發(fā)生比較頻繁,年月號(hào)順豐發(fā)生了一起線上刪庫事件,在這里就不介紹了。最后的最后,線上操作的任何一條命令,再小心也不為過,因?yàn)橛捎谀愕囊粋€(gè)符號(hào)而引起的事故可能是你所承擔(dān)不起的。 摘要: 使用 Redis 的開發(fā)者必看,吸取教訓(xùn)?。? 原文:Redis 的 KEYS 命令引起 RDS 數(shù)據(jù)庫雪崩,RDS 發(fā)生兩次宕機(jī),造成幾百萬的資金損失 作者:陳浩翔 Fundebu...
摘要:最近的互聯(lián)網(wǎng)線上事故發(fā)生比較頻繁,年月號(hào)順豐發(fā)生了一起線上刪庫事件,在這里就不介紹了。最后的最后,線上操作的任何一條命令,再小心也不為過,因?yàn)橛捎谀愕囊粋€(gè)符號(hào)而引起的事故可能是你所承擔(dān)不起的。 摘要: 使用 Redis 的開發(fā)者必看,吸取教訓(xùn)??! 原文:Redis 的 KEYS 命令引起 RDS 數(shù)據(jù)庫雪崩,RDS 發(fā)生兩次宕機(jī),造成幾百萬的資金損失 作者:陳浩翔 Fundebu...
摘要:表示受勒索軟件侵害的食品和農(nóng)業(yè)企業(yè)因支付贖金生產(chǎn)力損失和補(bǔ)救成本而遭受重大經(jīng)濟(jì)損失。公司也可能會(huì)丟失專有信息和個(gè)人身份信息,并可能因勒索軟件攻擊而遭受聲譽(yù)損失。年月,針對(duì)美國一家農(nóng)場(chǎng)的勒索軟件攻擊致其運(yùn)營暫時(shí)關(guān)閉,造成約萬美元的損失。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-siz...
閱讀 4710·2021-09-22 16:06
閱讀 2092·2021-09-22 15:22
閱讀 1435·2019-08-30 15:54
閱讀 2524·2019-08-30 15:44
閱讀 2351·2019-08-29 16:31
閱讀 2022·2019-08-29 16:26
閱讀 2339·2019-08-29 12:41
閱讀 744·2019-08-29 12:22