一、為什麼需要配置遠程連接?
Redis是一個內存型的KV數據庫,由於其出色的性能,被廣泛應用在各種場景中。通常情況下,我們會將Redis部署到服務器中,而開發者直接在無需安裝數據庫的開發環境中操作Redis,就需要配置遠程連接。
二、遠程連接的安全性問題
遠程連接會帶來一定的安全性問題,因為它將服務暴露在公網上,一旦被攻擊則會造成極大的損失。因此,在配置遠程連接之前,應該加強相應的安全措施。在開放遠程連接的同時,我們應該注意如下幾點。
1. 防火牆
開啟防火牆是必要的,這樣才能限制可訪問的IP地址和端口範圍。當我們只允許指定的IP地址訪問時,只有這些IP地址的請求才能夠被服務器接收和處理,這樣就能夠防止一部分網絡攻擊。
# ubuntu下防火牆配置 $ sudo apt-get install ufw $ sudo ufw default deny incoming $ sudo ufw default allow outgoing $ sudo ufw allow from IP_ADDRESS to any port PORT_NUM $ sudo ufw enable
2. 密碼加密
Redis默認沒有密碼,如果不設置密碼直接開啟遠程連接,則會給攻擊帶來極大的方便。因此,在Redis配置文件中應該設置密碼,並且將密碼加密存儲到配置文件中,以防止密碼被惡意獲取。
# 在 Redis 配置文件中添加 requirepass YOUR_PASSWORD # YOUR_PASSWORD 為你所設定的密碼 # 使用以下命令讓你的密碼以密文的方式儲存在redis配置文件中 $ echo "YOUR_PASSWORD" | sha256sum
3. 隨機端口
隨機端口是一種有效的防範手段,攻擊者難以窮盡所有可能的端口。因此,在開啟遠程連接時,應該將Redis服務的端口設置為一個較大的數值,而不是默認的6379端口。
# 在 Redis 配置文件中添加, 並將 PORT_NUM 替換成你自己選定的端口號。 port PORT_NUM
三、配置遠程連接的步驟
1. 修改Redis配置文件redis.conf
在配置文件redis.conf中,我們需要配置以下內容:
# 綁定地址,這裡採用 0.0.0.0 表示哪個網卡都可以接收來自外網的請求。 bind 0.0.0.0 # 明確告知Redis設置密碼 requirepass YOUR_PASSWORD # 開啟遠程連接端口,可以選擇非 6379 端口,這裡選擇 6380 port 6380
2. 重啟Redis服務
修改完配置文件後,需要重啟Redis服務,使得配置生效。Ubuntu下使用如下命令重啟Redis。
$ sudo service redis-server restart
3. 測試連接
修改完配置文件並重啟Redis服務後,我們需要測試連接是否成功。下面是一個PHP連接Redis的示例,其中127.0.0.1和6380分別替換成你的Redis服務器地址和端口號;redis_pass為你所設定的密碼:
phpredis版本 extension=redis.so $redis = new Redis(); $redis->connect('127.0.0.1', 6380); $redis->auth('redis_pass'); $redis->set('key', 'value');
四、總結
遠程連接可以給我們的開發帶來相當多的便利,但是,如果不加以設置,會給數據的安全帶來一定的威脅。因此,在開放遠程連接的同時,也需要注意相應的安全措施,加強操作的安全性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247635.html