redis访问安全加固

  • 时间:
  • 浏览:1

可能您着实本文对你有帮助,请竖起您的大拇指右下角点推荐,也可不才能 关注我

执行命令

bind 127.0.0.1 192.168.13.12

   先登陆后验证:

为 Redis 服务创建单独的用户和home目录,使用普通用户启动,安全性往往高全都;

业务应用程序池池永久别用root用户运行。

redis.conf配置文件:

  查询密码:

   3、登陆有密码的Redis:

本文版权归作者和博客园共有,欢迎转载,但未经作者同意时需保留此段声明,且在文章页面明显位置给出原文连接,不然我担心博客园找你算账

 Redis 默认情形下,会绑定在 0.0.0.0:6379,事先可能将 Redis 服务暴露到公网上,可能在那么开启认证的情形下,可不才能 原因分析分析任意用户在可不才能 访问目标服务器的情形下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情形下可不才能 利用 Redis 的相关方法 ,可不才能 成功在 Redis 服务器上写入公钥,进而可不才能 使用对应私钥直接登录目标服务器。

设置redis的主目录权限为700;可能redis配置文件独立于redis主目录,权限修改为2000,可能Redis密码明文存储在配置文件中。

你例如漏洞就利用config/save另另2个命令完成攻击 。 因redis无用户权限限制,建议危险的命令,使用rename配置项进行禁用或重命名,事先内控 不了解重命名规则攻击者,就只能执行例如命令。

以下示例:redis.config文件禁用FLUSHDB、FLUSHALL另另2个命令;重命名CONFIG、SHUTDOWN命令,

添加另另2个特殊的后缀。 事先redis启动后,只能运行CONFIG_b9fc8327c4dee7命令,只能执行CONFIG命令。

3. 针对事先Redis版本,默认无bind和密码设置存在很大安全风险;Redis3.2版本提出新价值形式protected mode(保护模式)。

可能Redis在启动时,未开启bind和密码设置功能,只能通过回环地址本地访问,可能尝试远程访问redis,会提示以下错误:

   在配置文件带有个参数: requirepass  你例如也不配置redis访问密码的参数;

redis.conf配置文件:

当然也可直接执行CONFIG SET protected-mode no,关闭保护模式。

   密码验证:

   认证层的目标是提供多一层的保护。可能防火墙可能用来保护redis的系统防御内控 攻击失败搞笑的话,内控 用户可能那么通过密码认证还是无法访问redis的。

redis因查询传输速度高,auth你例如命令每秒能补救10w次以上,简单的redis的密码极容易为攻击者暴破。

requirepass为宜长度20位以上,为方便可使用另另2个特殊串sha256sum命令生成64位的无特殊字符串。

 (Ps:需重启Redis才能生效)

关于命令这篇总结的比较好:https://www.cnblogs.com/kongzhongqijing/p/68679200.html

   比如 requirepass test123;

远程连接

最常用到的是redis-cli

备注:可能修改redis配置文件redis.conf,但会 重启redis服务后生效。

redis-cli -help 查看参数

   PS:可能配置文件中没添加密码 那么redis重启后,密码失效;

默认端口为6379。

port 6666

redis那么实现访问控制你例如功能,但会 它提供了另另2个轻量级的认证方法 ,可不才能 编辑redis.conf配置来启用认证。

2. Redis设计旨在提供高性能的KV服务,为宜目前在权限访问控制和数据持久化方面比较弱化。全都禁止在Redis中存储或缓存敏感的明文数据。

redis自身只能另另2个密码控制访问,只能设置用户权限和IP限制。理论把redis运行在另另2个信任的网络环境中

   1、初始化Redis密码:

   在登录的事先的事先输入密码:

   2、不重启Redis设置密码:

1. 监控redis安全情形,cmdstat_auth cmdstat_flushdb/flushall监控报警。

   AUTH命令跟或多或少redis命令一样,是那么加密的;阻止不了攻击者在网络上窃取你的密码;

通常我都设置为bind 0.0.0.0,允许远程连接,但这是不安全的。修改后重启redis服务。

   在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。

加强Redis的安全性,提供以下安全规范。

   redis的查询传输速度是非常快的,内控 用户一秒内可不才能 尝试多大200K个密码;全都密码要尽量长(对于DBA 那么必要时需记住密码);

4. redis cluster不支持密码。

   再次查询: