Redis安裝與配置

今天在使用Redis的時(shí)候遇到了一些問(wèn)題,這個(gè)問(wèn)題的解決,發(fā)現(xiàn)很多人使用Redis的時(shí)候沒(méi)有一點(diǎn)安全意識(shí)。所以又重溫了一下Redis,覺(jué)得應(yīng)該寫一下Redis的安全和配置。

今天在使用Redis的時(shí)候遇到了一些問(wèn)題,這個(gè)問(wèn)題的解決,發(fā)現(xiàn)很多人使用Redis的時(shí)候沒(méi)有一點(diǎn)安全意識(shí)。所以又重溫了一下Redis,覺(jué)得應(yīng)該寫一下Redis的安全和配置。

Redis安裝與配置Redis安裝與配置

安裝

下載,解壓,編譯:

$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz

$ tar xzf redis-4.0.10.tar.gz

$ mv redis-4.0.10 /usr/local/redis

$ cd /usr/local/redis

$ make

二進(jìn)制文件是編譯完成后在src目錄下

$ ll -a src | grep redis

-rw-rw-r-- 1 root root 2.4K Jun 13 19:02 redisassert.h

-rwxr-xr-x 1 root root 2.6M Sep 14 12:05 redis-benchmark

-rw-rw-r-- 1 root root? 29K Jun 13 19:02 redis-benchmark.c

-rw-r--r-- 1 root root 129K Sep 14 12:05 redis-benchmark.o

-rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-check-aof

-rw-rw-r-- 1 root root 7.0K Jun 13 19:02 redis-check-aof.c

-rw-r--r-- 1 root root? 38K Sep 14 12:05 redis-check-aof.o

-rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-check-rdb

-rw-rw-r-- 1 root root? 14K Jun 13 19:02 redis-check-rdb.c

-rw-r--r-- 1 root root? 68K Sep 14 12:04 redis-check-rdb.o

-rwxr-xr-x 1 root root 2.8M Sep 14 12:05 redis-cli

-rw-rw-r-- 1 root root? 99K Jun 13 19:02 redis-cli.c

-rw-r--r-- 1 root root 450K Sep 14 12:05 redis-cli.o

-rw-rw-r-- 1 root root? 22K Jun 13 19:02 redismodule.h

-rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-sentinel

-rwxr-xr-x 1 root root 6.0M Sep 14 12:05 redis-server

-rwxrwxr-x 1 root root? 65K Jun 13 19:02 redis-trib

其中redis-server為服務(wù)端程序,redis-cli為客戶端程序。

創(chuàng)建服務(wù)

二進(jìn)制文件是編譯完成后在src目錄下,通過(guò)下面的命令啟動(dòng)Redis服務(wù):

$ ln -s /usr/local/redis/src/redis-cli /usr/bin/redis

$ ln -s /usr/local/redis/src/redis-server /usr/bin/redisd

輸出版本

$ redis --version

redis-cli 4.0.10

$ redisd --version

Redis server v=4.0.10 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=e53a76b77e60d5b0

至此,表明你的redis已經(jīng)安裝完畢。

配置

為什么配置要單獨(dú)列出來(lái)一個(gè)標(biāo)題呢?

這是因?yàn)镽edis并沒(méi)有最大地去優(yōu)化安全方面,而是盡最大可能去優(yōu)化高性能和易用性。

Redis默認(rèn)情況下會(huì)開啟6379端口,在認(rèn)證未開啟的情況下,可導(dǎo)致任意用戶進(jìn)行未授權(quán)訪問(wèn)操作。

所以我們這里需要做一些安全性配置

新增用戶

千萬(wàn)不要用一個(gè)有較高權(quán)限的用戶來(lái)啟動(dòng)Redis。如果你的Reidis不安全,那么你的高權(quán)限用戶將會(huì)成為突破口,導(dǎo)致你的服務(wù)器被攻擊。

所以我們需要?jiǎng)?chuàng)建redis賬戶,并通過(guò)該賬戶啟動(dòng)redis服務(wù),并且配置該賬戶禁止登陸。

$ adduser redis

$ vim /etc/passwd

redis:x:1001:1001:,,,:/home/redis:/usr/sbin/nologin

$ chown -R redis:redis /usr/local/redis

修改配置文件

這里需要你對(duì)vim有基本的操作

$ vim redis.conf

# 第92行左右? 修改端口

port 7379

# 第171行左右? 日志文件

logfile /var/log/redis/redis.log

# 第263行左右? 設(shè)置快照文件目錄,切勿設(shè)置成一個(gè)redis用戶沒(méi)有權(quán)限的目錄

dir /usr/local/redis/

# 第500行左右? 設(shè)置密碼

requirepass YOUR_PASSWORD

$ mkdir /var/log/redis

$ chown -R redis:redis /var/log/redis/

配置一個(gè)啟動(dòng)程序

redis-server默認(rèn)不是后臺(tái)程序啟動(dòng),所以我們需要為它配置一個(gè)啟動(dòng)程序

$ vim /sr/bin/goredisd

nohup /usr/bin/redisd /usr/local/redis/redis.conf >> /var/log/redis/goredisd.log 2>&1 &

$ goredisd

$ ps -axu | grep redis

redis 19498 0.0 0.1 145304 2580 pts/0 Sl 10:49 0:09 /usr/bin/redisd *:7379

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容