面试题答案
一键面试1. bind
配置项
- 关注原因:该配置项用于指定 Redis 服务器绑定的 IP 地址。通过设置特定的 IP 地址(如仅绑定内部网络 IP),可以限制 Redis 服务器仅对信任的网络或 IP 进行监听,避免暴露在公网环境中,从而降低被外部恶意攻击的风险。例如,若服务器仅用于内部服务交互,将
bind
设置为内部网络地址,外网无法直接访问 Redis 服务。
2. protected-mode
配置项
- 关注原因:当
protected-mode
开启(默认开启),如果没有设置bind
地址且没有设置密码,Redis 会仅监听本地回环地址(127.0.0.1),防止外部未授权访问。这是一种简单有效的安全防护机制,即使管理员疏忽未设置bind
或密码,也能一定程度上保障 Redis 服务的安全性。
3. requirepass
配置项
- 关注原因:此配置项用于设置访问 Redis 服务器的密码。客户端在连接 Redis 时需要提供正确的密码才能执行命令,有效防止未经授权的访问。若不设置密码,任何能够连接到 Redis 服务器的客户端都可以对数据进行读写操作,可能导致数据泄露或被恶意篡改。
4. rename-command
配置项
- 关注原因:Redis 某些命令(如
FLUSHALL
、DEL
等)具有较高危险性,如果被恶意用户调用可能导致数据丢失等严重后果。通过rename-command
可以将这些危险命令重命名为一个复杂难猜的名称,降低恶意调用风险。例如,将FLUSHALL
命令重命名为一个随机字符串,攻击者就难以通过常规方式调用该命令清空数据库。
5. dir
配置项
- 关注原因:该配置项指定 Redis 持久化文件(如 RDB、AOF 文件)的存储目录。合理设置存储目录,确保该目录具有适当的访问权限,防止外部恶意篡改或获取持久化文件,从而保护 Redis 数据的完整性和保密性。例如,将其设置在只有 Redis 服务有权限访问的目录下。