如何在 Rocky Linux 8 或 AlmaLinux 8 上安裝 Redis

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

Redis 本身沒有強大的功能,但是,您仍然可以調整 Redis 以提供額外的安全性並阻止未經授權的用戶。

在本教程中,我們將學習如何 安裝和保護Redis洛奇 Linux 8 或者 阿爾瑪Linux 8.

第 1 步:在 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 系統上運行,因此將值設置為 系統 如..所示。

就是這樣。 因此,保存更改並退出文本編輯器。 默認情況下,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

找到 綁定 指示。 默認情況下,這設置為偵聽 localhost。

bind 127.0.0.1

註釋並指定遠程服務器的私有 IP。

bind private_ip

如果您通過公共互聯網訪問它,您可以將其設置為 0.0.0.0 將其綁定到公共 IP 地址。

bind 0.0.0.0

接下來換 protected-mode yesprotected-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。非常歡迎您對本指南的反饋。