当前位置:网站首页 > 云计算与后端部署 > 正文

redis的默认端口是(redis默认服务端口)



本章目录:

0x01 Redis 安全优化

描述: Redis提供的访问控制、代码安全问题、选择恶意输入可从外部触发的攻击等功能,需要我们运维人员进行相应的配置提高安全性。

描述: Redis 不需要 root 权限即可运行,建议以仅用于此目的的非特权redis用户身份运行它,此种方式能最大程度防止 目录和其他类似运行时配置指令的可能性。。

描述: 因为redis密码明文存储在配置文件中,所以我们需要限制redis文件目录访问权限,如设置redis的主目录权限为700,如果redis.conf配置文件独立于redis主目录权限修过为600。

描述: 除了网络中受信任的客户端之外,每个人都应该拒绝访问 Redis 端口,因此运行 Redis 的服务器应该只能由使用 Redis 实现应用程序的计算机直接访问。

假如服务器有两个网络接口(一个A区域、一个B区域),如果只需要A区域的机器访问则只绑定到A区域网络接口中,如服务器自身访问则只绑定到本地回环接口上。

描述: 除了我们可以指定绑定的接口外,我们还可以更改默认的redis服务端口,可以防止黑客针对于默认Redis服务扫描探测。

描述: 为Redis服务端设置一个认证密码是非常必须,下面讲解 Redis 配置密码认证的几种方式总结:

操作流程:

使用密码验证登陆Redis服务器:

非常注意: AUTH 命令与其他所有 Redis 命令一样,以未加密的方式发送,因此它无法防范对网络有足够访问权限以执行窃听的攻击者, 所以对应高敏感的数据建议配置TLS 支持(Redis 在所有通信通道上都可选地支持 TLS)以加密数据与命令传输。

描述: 我们可以禁用 Redis 中的命令或将它们重命名为不可猜测的名称,以便普通客户端仅限于指定的一组命令,比如漏洞就利用config/save两个命令完成攻击 。

由于redis无用户权限限制,建议将危险的命令使用rename配置项进行禁用或重命名,这样外部不了解重命名规则攻击者,就不能执行这类命令

例如: 普通用户可能无法调用Redis 来更改实例的配置,但提供和删除实例的系统应该能够这样做。

Tips: 注意配置后需要重新redis-server服务。

描述: 为Redis创建访问(或Debug)日志(根据需求设置),在建立Redis蜜罐时,如果有攻击尝试时,就开业及时发现监控redis安全状态, 以及可以监控指标信息报警;

日志记录配置:

描述: Redis 协议没有字符串转义的概念,所以一般情况下使用普通客户端库是不可能注入的, 但有可能会通过EVAL和EVALSHA命令执行的 Lua 脚本来构造恶意脚本。

Tips : EVALSHA 通过其 SHA1 摘要评估缓存在服务器端的脚本。脚本使用SCRIPT LOAD命令缓存在服务器端。该命令在其他方面与EVAL相同。

描述: 有可能攻击者构造恶意的数据结构插入到 Redis 数据库中, 这可能会触发Redis 内部实现的数据结构的病态(最坏情况)算法复杂性。

例如,攻击者可以通过 Web 表单将一组已知散列到同一桶的字符串提供到散列表中,以便将 O(1)预期时间(平均时间)变为O(N )最坏的情况,消耗比预期更多的 CPU,并最终导致拒绝服务。

解决办法: 为了防止这种特定的攻击,Redis 对哈希函数使用了每次执行的伪随机种子。

描述: 前面针对Redis-server服务层面进行安全配置,此处针对网络层面进行限制,只允许指定的IP地址进行访问,在主机上配置防火墙的优点是防止同一网段的东西流量。

在Linux上系统防火墙设置命令:

在Windows上系统防火墙设置命令:

禁止redis中存储敏感的明文数据

描述: Redis设计旨在提供高性能的KV服务,至少目前在权限访问控制和数据持久化方面比较弱化,所以从应用层面上,不建议使用Redis来存储敏感信息,例如鉴权的密码。

安全配置示例:

描述: Redis开发和运维人员更加关注的是Redis本身的一些配置优化,例如AOF和RDB的配置优化、数据结构的配置优化等,但是对于操作系统是否需要针对Redis做一些配置优化不甚了解或者不太关心,然而事实证明一个良好的系统操作配置能够为Redis服务良好运行保驾护航。

Tips : 日志中的 Background save 代表的是 bgsave 和 bgrewriteaof,如果当前可用内存不足,操作系统应该如何处理fork。如果vm.overcommit_memory=0,代表如果没有可用内存,就申请内存失败,对应到Redis就是fork执行失败,在Redis的日志会出现:

如果Linux > 3.5的情况下 vm.swapniess=1 () 否则 vm.swapniess=0 () 从而实现如下两个目标:

运维提示:OOM(Out Of Memory) killer机制是指Linux操作系统发现可用内存不足时,强制杀死一些用户进程(非内核进程),来保证系统有足够的可用内存进行分配。

Tips : 从提示看Redis建议修改Transparent Huge Pages (THP)的相关配置,Linux kernel在2.6.38内核增加了Transparent Huge Pages (THP)特性 ,支持大内存页(2MB)分配,默认开启。当开启时可以降低fork子进程的速度,但fork之后,每个内存页从原来4KB变为2MB,会大幅增加重写期间父进程内存消耗。同时每次写命令引起的复制内存页单位放大了512倍,会拖慢写操作的执行时间,导致大量写操作慢查询。

因此Redis日志中建议将此特性进行禁用,禁用方法如下:

从提示看Redis建议修改Transparent Huge Pages (THP)的相关配置,Linux kernel在2.6.38内核增加了Transparent Huge Pages (THP)特性 ,支持大内存页(2MB)分配,默认开启。当开启时可以降低fork子进程的速度,但fork之后,每个内存页从原来4KB变为2MB,会大幅增加重写期间父进程内存消耗。同时每次写命令引起的复制内存页单位放大了512倍,会拖慢写操作的执行时间,导致大量写操作慢查询。例如简单的incr命令也会出现在慢查询中。因此Redis日志中建议将此特性进行禁用,禁用方法如下:


当设置为最小值时,该进程将不会被OOM killer杀掉,设置方法如下:

    解决办法:

    解决方法:

    例如:每小时的同步1次NTP服务

* * * * /usr/sbin/ntpdate ntp.xx.com /dev/null

系统优化配置

应用配置优化

应用使用中优化

            如果你觉得这个专栏还不错的,请给这篇专栏点个赞、投个币、收个藏,这将对我有很大帮助!          

欢迎各位志同道合的朋友一起学习交流,如文章有误请在下方留下您宝贵的经验知识,个人邮箱地址【master#weiyigeek.top】


文章来源: https://weiyigeek.top 【WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少】


到此这篇redis的默认端口是(redis默认服务端口)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • git服务器部署(git 服务器配置)2025-03-08 07:27:04
  • samba共享服务端口(samba文件共享端口)2025-03-08 07:27:04
  • py文件打包成exe之后打不开(py文件怎么打包成可执行文件)2025-03-08 07:27:04
  • onnx模型部署(onnx模型部署arm板)2025-03-08 07:27:04
  • nfs客户端软件(win nfs客户端)2025-03-08 07:27:04
  • 手机软件后缀exe怎么安装(手机安装exe应用程序)2025-03-08 07:27:04
  • onnx模型部署c语音(onnx加载模型)2025-03-08 07:27:04
  • 前端工程化工具和框架(前端工程化工具和框架工具区别)2025-03-08 07:27:04
  • redis 6380端口(redis端口怎么看)2025-03-08 07:27:04
  • py文件打包成exe之后打不开(py文件打包成exe文件)2025-03-08 07:27:04
  • 全屏图片