码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • redis漏洞修复:(CNVD-2019-21763)


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

    文章目录

    • 前言
    • 一、漏洞内容
    • 二、镜像准备
      • 1.确认镜像版本
      • 2.下载镜像
    • 三、配置文件准备
      • 1.获取配置文件
      • 2.修改配置文件
    • 四、启动redis容器
    • 五、修改iptables文件
    • 总结


    前言

    漏扫发现机器上基于容器运行的redis的访问权限没有限制,需要增加安全配置。
    现在使用的7.0.4版本,正好一起升级版本。
    由于redis使用的是容器形式运行,所以防火墙的相关配置是到DOCKER中,而不是在INPUT中。因为配置到INPUT中无法影响到容器运行的服务端口。


    一、漏洞内容

    Redis 未授权访问漏洞(CNVD-2019-21763)【原理扫描】在这里插入图片描述


    二、镜像准备

    1.确认镜像版本

    目前latest中使用的redis版本是7.2.1
    在这里插入图片描述

    2.下载镜像

    docker pull redis:latest
    
    • 1

    三、配置文件准备

    1.获取配置文件

    下载7.2.1版本的配置文件

    wget http://download.redis.io/releases/redis-7.2.1.tar.gz
    tar -xvf redis-7.2.1.tar.gz
    cp redis-7.2.1/redis.conf /data/
    
    • 1
    • 2
    • 3

    2.修改配置文件

    这里把bind修改为0.0.0.0,保护模式的开关也关闭上

    bind 0.0.0.0 -::1
    protected-mode no
    port 6379
    
    • 1
    • 2
    • 3

    四、启动redis容器

    启动redis容器,挂载数据目录和配置文件

    docker run --name redis  -d -p 6379:6379  -v /data/redis-data:/data -v /date/redis.conf:/etc/redis/redis.conf  redis-server /etc/redis/redis.conf
    
    • 1

    五、修改iptables文件

    查看已有的防火墙规则

    Chain DOCKER (1 references)
    target     prot opt source               destination         
    ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:6379
    
    
    • 1
    • 2
    • 3
    • 4

    通过iptable防火墙进行规则控制
    /etc/sysconfig/iptables

    # 这一行是docker服务自动创建的规则,172.17.0.4是redis容器的IP
    -A DOCKER -d 172.17.0.4/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 6379 -j ACCEPT
    
    • 1
    • 2

    增加访问控制规则

    # 增加XXX.XX.XX.XX容器访问的规则,已172.16.112.1、2为例
    -A DOCKER -s XXX.XX.XX.XX -d 172.17.0.4/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 6379 -j ACCEPT
    # 增加所有地址无法访问的规则
    -A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 6379 -j DROP
    # 系统原有规则
    -A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 6379 -j ACCEPT
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    重启服务

    systemctl restart iptables
    iptables -L -n
    
    • 1
    • 2

    增加后的防火墙规则

    Chain DOCKER (1 references)
    target     prot opt source               destination         
    ACCEPT     tcp  --  172.16.112.1         172.17.0.2           tcp dpt:6379
    ACCEPT     tcp  --  172.16.112.2         172.17.0.2           tcp dpt:6379
    ACCEPT     tcp  --  172.16.254.10        172.17.0.2           tcp dpt:6379
    DROP       tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:6379
    ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:6379
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    总结

    增加安全控制比较简单,重要的是docker运行的redis的规则控制在DOCKER组中,而不是在INPUT中。

  • 相关阅读:
    每天 20 题吃透这份将近 500 页的“Java 工程师八股文”,成功入职阿里
    Python 基础记录 - 第1课
    【week307-amazon】leetcode2386. 找出数组的第 K 大和
    [ICS] Inferno(地狱) ETH/IP未授权访问,远程控制工控设备利用工具
    fps透视基础-3分钟快速定位矩阵基址-附3D坐标转屏幕坐标算法
    合众汽车选用风河Wind River Linux系统
    探花交友_第2章-完善个人信息与MongoDB入门
    docker desktop for mac os如何使用本地代理
    【NVIDIA CUDA】2023 CUDA夏令营编程模型(四)
    Java:原型模式
  • 原文地址:https://blog.csdn.net/baidu_35848778/article/details/133126473
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号