Redis 是一種流行的內存鍵值存儲,可用作 NoSQL 鍵值數據庫、消息代理和緩存解決方案。以其靈活性、可擴展性、無縫複製、簡單性和易用性而聞名。 Redis 廣泛用於各種領域,例如機器學習、實時分析、聊天、消息傳遞和遊戲排行榜。
Redis 本身並不是很強大,但您可以調整 Redis 以提供額外的安全性並阻止未經授權的用戶。
在本教程中,您將學習如何: 安裝和保護 Redis 存在 洛基 Linux 8 還 阿爾瑪Linux 8..
第 1 步:在 Rocky Linux 或 Alma Linux 8 上安裝 Redis
Redis 在 AppStream 存儲庫中可用,並且可以使用 DNF 包管理器進行安裝。
通過運行以下 DNF 命令安裝 Redis。
$ sudo dnf install redis
安裝後,您需要對配置文件進行細微更改以更改 Redis 的運行方式。 訪問 Redis 配置文件。
$ sudo vim /etc/redis.conf
滾動查找 監督 我會告訴你。這允許您使用 init 系統運行 Redis 並有效地管理它。默認情況下,這設置為 不要做Rocky/AlmaLinux運行在systemdinit系統上,所以設置值如下: 系統 如圖所示。

而已。因此,保存您的更改並退出文本編輯器。默認情況下,Redis 不會自動啟動,因此您需要像這樣啟動它:
$ sudo systemctl start redis
此外,每次打開或重新啟動系統時啟用該服務。
$ sudo systemctl enable redis
要驗證 Redis 是否正在運行,請運行以下命令:
$ sudo systemctl status redis

要測試您的 Redis 安裝是否成功,請發送一條 ping 消息,它將如下所示:乒乓球‘作為答复。

第 2 步:使用密碼保護 Redis
安全性是任何數據庫系統的重中之重,Redis 也不例外。通過啟用身份驗證來保護 Redis 並阻止未經授權的各方,這一步更進了一步。
再次訪問配置文件。
$ sudo vim /etc/redis.conf
出現 要求通行證 我會告訴你。這是一個配置客戶端在訪問數據庫之前進行身份驗證的指令。
取消註釋指令並指定您自己的密碼。
requirepass strong_password

重新啟動 Redis 數據庫以使更改生效。
$ sudo systemctl restart redis
要測試是否啟用了身份驗證,請轉到 Redis 客戶端。
$ redis-cli
接下來,嘗試將鍵設置為值。
$ set keystudent Mike
這將導致指示的錯誤。這表明需要進行身份驗證。
(error) NOAUTH Authentication required.

進行身份驗證 批准 關鍵字後跟密碼。 Redis 將驗證您的密碼並允許您繼續。

一旦通過身份驗證,您可以使用 set 命令繼續指定鍵/值對。要獲取分配給鍵的值,請調用以下命令:
get keystudent

要退出 Redis,請鍵入 quit 並按 Enter。
quit
步驟 3:為正確的數據目錄設置所有權和權限
另一個需要考慮的重要方面是您需要記住的所有權和權限,以確保您的 Redis 安裝是健壯的。這包括確保只有需要訪問 Redis 的用戶才有權讀取該數據——在這種情況下,該用戶 重複 用戶。
首先,您可以驗證您的 Redis 數據目錄是否具有正確的目錄所有權和權限。
$ ls -l /var/lib | grep redis

從輸出中,您可以看到 Redis 數據目錄歸 Redis 用戶所有,並且允許訪問 Redis 組。此外,目錄權限以十六進製表示法設置為 750。這些是推薦的 Redis 文件夾所有權和權限設置。
例如,如果您的 Redis 數據目錄具有不安全的權限,並且全局用戶可以讀取它,那麼只有 Redis 用戶和組應該能夠訪問該文件夾及其內容。
為此,請運行以下命令:
$ sudo chmod 750 /var/lib/redis
另外,請確保您的 Redis 配置文件歸 Redis 所有 重複 具有輔助組 root 的用戶。另外,請確保您具有八進制權限 640 如圖所示。
$ ls -l /etc/redis.conf
640的八進製表示法是 重複 什麼時候 根 用戶可以讀取配置文件。這很重要,因為它已在步驟 2 中使用。 要求通行證 我會告訴你。這意味著除了 Redis 和 Root 用戶之外的用戶無法讀取文件和訪問密碼。

為了增加安全性,請確保配置文件歸 Redis 用戶和組所有。
$ sudo chown redis:redis /etc/redis.conf
此外,設置配置文件的權限,以便只有 Redis 所有者可以讀取和寫入。
$ sudo chmod 600 /etc/redis.conf
重新啟動您的 Redis 服務器以應用您所做的更改。
$ sudo systemctl restart redis
第 4 步:配置 Redis 以進行遠程訪問
有時,您可能需要從另一個系統遠程訪問您的 Redis 實例。為此,請轉到配置文件。
$ sudo vim /etc/redis.conf
出現 揉 我會告訴你。默認情況下,這設置為在本地主機上偵聽。
bind 127.0.0.1
使用註釋指定遠程服務器的私有 IP。
bind private_ip
通過公網訪問時,可以設置: 0.0.0.0 綁定到公共 IP 地址。
bind 0.0.0.0
下一個變化 protected-mode yes
到達 protected-mode no
protected-mode no
然後重新啟動 Redis 服務器以應用您的更改。
$ sudo systemctl restart redis
剩下的另一個步驟是配置防火牆以允許訪問 Redis 服務器。
第 5 步:為 redis 配置防火牆
如果 Firewalld 處於活動狀態且正在運行,請考慮將 Redis 配置為允許端口 6379,這是它偵聽的端口。
$ sudo firewall-cmd --add-port=6379/tcp --permanent
$ sudo firewall-cmd --reload
完美的!現在,要測試您是否可以遠程訪問您的 Redis 實例,請使用 -h 選項,後跟您的 Redis 服務器的 IP 地址。
$ redis-cli -h server_IP
在這種情況下:
$ redis-cli -h 10.128.0.44

結論是
您已在 RockyLinux8 或 AlmaLinux8 上成功安裝和保護 Redis。歡迎對本指南提供反饋。