Redis 是一種流行的內存鍵值存儲,可用作 NoSQL 鍵值數據庫、消息代理和緩存解決方案。它以其靈活性、可擴展性、無縫複製、簡單性和易用性而聞名。 Redis 被廣泛應用於許多領域,例如機器學習、實時分析、聊天、消息傳遞和遊戲排行榜。

Redis 本身並不強大,但您可以對其進行調整以提高安全性並阻止未經授權的用戶。

在本教程中,您將學習如何: 安裝和保護 Redis 存在 洛奇 Linux 8 再次 阿爾瑪 Linux 8.

第一步:在 Rocky Linux 或 AlmaLinux 8 上安裝 Redis

Redis 在 AppStream 存儲庫中可用,並且可以使用 DNF 包管理器進行安裝。

通過運行以下 DNF 命令安裝 Redis:

$ sudo dnf install redis

安裝後,您需要對配置文件進行小的更改以更改 Redis 的行為。 訪問 Redis 配置文件。

$ sudo vim /etc/redis.conf

滾動查找 導演是 指導。這允許您利用 init 系統來運行 Redis 並有效地管理它。默認情況下這是 . Rocky/AlmaLinux 運行在systemd init系統上,所以值為 系統 如圖所示..

在 Rocky Linux 上配置 Redis

就是這樣。保存更改並退出文本編輯器。默認情況下 Redis 不會自動啟動,所以你必須像這樣啟動它:

$ sudo systemctl start redis

此外,每次打開或重新啟動系統時都啟用該服務。

$ sudo systemctl enable  redis

要驗證 Redis 是否正在運行,請運行以下命令:

$ sudo systemctl status redis
在 Rocky Linux 上檢查 Redis 狀態

作為Redis安裝是否成功的測試,發送ping信息顯示’乒乓球‘ 回复。

第 2 步:密碼保護 Redis

安全是任何數據庫系統的重中之重,Redis 也不例外。在此步驟中,我們更進一步,啟用身份驗證以保護 Redis 並將未經授權的人拒之門外。

再次訪問配置文件。

$ sudo vim /etc/redis.conf

出現 請求路徑 指導。這是一個將客戶端配置為在訪問數據庫之前需要身份驗證的指令。

取消註釋該指令並指定您自己的密碼。

requirepass  strong_password
密碼保護 Redis

重新啟動 Redis 數據庫以應用更改。

$ sudo systemctl restart  redis

要測試身份驗證是否已啟用,請訪問您的 Redis 客戶端。

$  redis-cli

現在嘗試將值設置為鍵。

$ set keystudent Mike

這會導致指示的錯誤。這表明需要進行身份驗證。

(error) NOAUTH Authentication required.
Redis 需要的身份驗證

要進行身份驗證,請致電 領有牌照 密碼跟在關鍵字後面。 Redis 將檢查您的密碼並允許您繼續。

Redis中的調用認證

通過身份驗證後,您可以使用 set 命令指定鍵值對。要獲取分配給鍵的值,請調用:

get keystudent
在 Redis 中設置鍵值對

要退出 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 服務器。

第五步:為redis配置防火牆

如果 firewalld 處於活動狀態並正在運行,請考慮將其配置為允許端口 6379,這是 Redis 偵聽的端口。

$ 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
遠程訪問 Redis

結論是

您已在 Rocky Linux 8 或 AlmaLinux 8 上成功安裝並保護 Redis。我們歡迎您對本指南提出反饋意見。