61 lines
No EOL
1.9 KiB
Markdown
61 lines
No EOL
1.9 KiB
Markdown
## 新建用户
|
||
*使用root用户,若被攻入,安全风险急剧升高*
|
||
```shell
|
||
groupadd -g 1000 appgroup
|
||
useradd -u 1001 -g 1000 app
|
||
```
|
||
|
||
## 修改配置文件
|
||
#### 修改密码
|
||
*密码足够长,足够复杂,因为redis速度很快,简单的密码很容易被暴力破解*
|
||
```
|
||
# 修改配置文件redis.cnf中requirepass
|
||
...
|
||
requirepass xxxxxxxxxxxxxxx
|
||
...
|
||
```
|
||
#### 禁用或重命名某些命令
|
||
*redis若被攻入,攻击者可能使用config配置redis,或者shutdown干掉redis,或者flushdb/flushall清空redis*
|
||
```
|
||
# 配置文件redis.cnf中添加以下配置
|
||
...
|
||
## 代码中需要修改redis配置,config暂不能重命名
|
||
#rename-command CONFIG CONFIG_524045429941cc
|
||
rename-command SHUTDOWN SHUTDOWN_9941cc15f59e41cb
|
||
rename-command FLUSHDB ""
|
||
rename-command FLUSHALL ""
|
||
...
|
||
```
|
||
#### 监听本地或者在安全网络中监听所有ip
|
||
*redis目前没有配置项可以使其只处理特定ip的请求,若所有ip都可以访问,风险很大*
|
||
```
|
||
# 监听本地 redis.cnf
|
||
bind 127.0.0.1
|
||
```
|
||
或添加防火墙配置
|
||
```shell
|
||
# 只允许内网网段访问6379
|
||
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.19.0.0/16" port protocol="tcp" port="6379" accept"
|
||
# 只允许特定ip访问6379
|
||
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="123.146.236.55" port protocol="tcp" port="6379" accept"
|
||
# 重新加载firewall
|
||
firewall-cmd --reload
|
||
```
|
||
若为公有云服务器,可使用安全组
|
||
```
|
||
# 配置安全组,略
|
||
```
|
||
```
|
||
# 监听所有 redis.cnf
|
||
bind 0.0.0.0
|
||
```
|
||
|
||
## 启动redis
|
||
*若之前已经使用root启动,redis的数据和日志文件都需要修改所属用户与组*
|
||
```shell
|
||
# 切换到app用户,然后启动redis
|
||
su - app
|
||
/opt/redis-stable/src/redis-server /opt/redis-stable/redis.cnf
|
||
# 或者直接再root中执行如下命令
|
||
su - app -c "/opt/redis-stable/src/redis-server /opt/redis-stable/redis.cnf"
|
||
``` |