1. 程式人生 > 資訊 >遊族網路:嚴格落實未成年人防沉迷機制,設定平臺所有遊戲累計充值上限

遊族網路:嚴格落實未成年人防沉迷機制,設定平臺所有遊戲累計充值上限

@

目錄

作為redis6.x版本新增的ACL(access control list)許可權管理模組,為redis的安全性提高了保障,至於如何使用,具體詳情請參考官方文件:https://redis.io/topics/acl
博主只記錄下博主的使用要點

設定使用者密碼

此處有必要說明redis對於密碼的操作有兩種方式,一種是明文,一種是SHA256雜湊值。而redis為了安全,在資料庫儲存的是密碼的SHA256雜湊值。

# 生成 password-demo 的SHA256值,顯示值3為:557c2f07e396f27896269ed0698d3d7b5c203c01372ddcf722208a1d0467a5fc
echo -n "password-demo" | shasum -a 256

兩種設定使用者密碼的方式

# 為 user1 使用者新增 password-demo 密碼(ps:redis一個賬號是可以對應多個密碼的)
acl setuser user1 #557c2f07e396f27896269ed0698d3d7b5c203c01372ddcf722208a1d0467a5fc
acl setuser user2 >password-demo

ACL配置通過外接檔案使用

有與生產環境下至少是三臺哨兵模式,甚至叢集。那麼redis服務就多了,一個一個的去手動通過指令設定使用者,雖說也可以實現,但無疑是會增加工作量(沒臺redis伺服器的賬號、許可權設定過後都要驗證一遍),並且錯誤機率也會大大增加的。

ACL檔案相關的兩個重要指令

# 重新載入 ACL 檔案(如果存在未入檔案的使用者、許可權配置,重新載入後會失效)
ACL LOAD
# 儲存當前 ACL 配置至 ACL 檔案
ACL SAVE

ACL檔案儲存的就是 acl list 指令檢視的列表資訊,需要注意的是關於密碼方面雖說可以在ACL檔案裡面採用明文的方式設定,但是不建議這麼做,因為這樣的話,如果有人找到了這個檔案就直接獲取了redis的所有賬號密碼(基於所有的使用者許可權管理已經寫入該檔案的情況)

ACL檔案案例

以下案例包含6個使用者配置,
1、default使用者置為無效,redis預設的defult使用者是不需要使用者密碼校驗就可以連線的,而這個使用者又不能刪除,所以設定位無效
2、admin使用者,給與所有許可權
3、redis普通使用使用者,給於所有的資料操作許可權,如果要配置使用者只讀的話可以參考官方文件:

https://redis.io/topics/acl
4、redis服務停止使用者,由於我們在redis停止指令碼的時候需要用到redis的shutdown許可權,所以專門建立一個redis使用者來做這個操作
5、redis哨兵使用者,參考官方redis哨兵使用者許可權建議設定:https://redis.io/topics/sentinel
6、redis從使用者,參考官方redis從使用者許可權建議設定:https://redis.io/topics/replication

user default off nopass ~* +@all
user admin-user on #6073ee0c1f33a7c55c023cfb5ae41202634ec5d47f5839766d7e9c72784692c7 ~* +@all
user redis-user on #b29890a1832f93ab561d6e5da14ac6cd6688a72674da66ba342e52dfb3fced0b ~* +@all -@dangerous +get +set
user stop-user on #aa655477ccee0866310f71602923f37351245c53fe77c178cf2f79b04d0b2cd0 +SHUTDOWN
user sentinel-user on #f52269d79c568147710decedb57dac72400211768eb1137097b5f67233f4290d -@all +subscribe +publish +client|setname +client|kill +config|rewrite +role +exec +slaveof +info +multi +ping +script|kill
user replica-user on #3ee15bb3d499740ccdc5ebf49b6f8b3f4a43dfc74b1597f6f3822023cbab008a -@all +ping +psync +replconf

上面的ACL檔案配置對應以下賬戶、密碼
隨機密碼可採用 ACL genpass 指令生成
admin-user 9cb1fdc2d0411f9830559dc525efcc4ecc4f455f6e877a620108bca801c58016
redis-user 47395dbd5fa638e33d31dc3d0bd14eba34ed9c981f11b06b0fa59cad97e54831
stop-user 9ff462ea9279cfbf384ee9a8678e14b0b76cafbe5d82f9787827876ae0028581
sentinel-user 05a364a63b7cd0894a7f97817ac11041fe4f581d82aeeb3b0d773b9dcc19ba9c
replica-user 77c350ef7716951bd54a0524a30ae89c9134a6eb8b54c70a588d7e9b056ac2b5

具體的ACL指令可以參考這一篇文章:https://blog.csdn.net/sl285720967/article/details/106440838