[转帖]kafka漏洞升级记录,基于SASL JAAS 配置和 SASL 协议,涉及版本3.4以下
攻击者可以使用基于 SASL JAAS 配置和 SASL 协议的任意 Kafka 客户端,在对 Kafka Connect worker 创建或修改连接器时,通过构造特殊的配置,进行 JNDI 注入。
影响范围:2.3.0 <= Apache Kafka <= 3.3.2
解决办法:升级到3.4版本
具体步骤:原本的版本是kafka_2.11-2.3.1,升级到了kafka_2.12-3.4
1下载kafka3.4并解压
2将原配置文件复制一份到3.4版本
3修改3.4版本的配置文件,停止原kafka,启动3.4版本
1下载kafka3.4并解压
下载地址https://kafka.apache.org/downloads
拷贝到linux目标机器上,tar -zxvf kafka_2.12-3.4 进行解压
2将原配置文件复制一份到3.4版本
主要是把config/service.properties 复制到3.4版本的config目录下
把鉴权的配置文件kafka_server_jaas.conf放到config目录下(请按照自己的配置文件修改)
修改3.4版本的kafka-server-start.sh server启动脚本的JVM参数进行修改
注意,我原本使用了kafka_server_jaas鉴权,请自行修改文件的相对路径
把export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"这一行,改为
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G -Djava.security.auth.login.config=../config/kafka_server_jaas.conf"
3修改3.4版本的配置文件
由于kafka3.4做了升级,和低版本配置文件是不一致的。
目的是为了高版本兼容使用低版本的文件格式(万一高版本不适应,可以恢复到低版本)。如果数据量不大,可以直接写当前版本3.4,此处由于我是生产环境,而且是集群模式,所以使用的是2.3.1
#如果您是从 0.11.0.x 或以上版本升级,并且您没有覆盖消息格式,那么您只需要覆盖 inter-broker 协议版本即可。
inter.broker.protocol.version=CURRENT_KAFKA_VERSION(例如3.3,3.2等)
#例如我现在版本是2.3.1,就写2.3.1
inter.broker.protocol.version=2.3.1
重点来了,由于我使用的低版本设置鉴权类,有设置这个参数时,“authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer” ,这个参数在3.4版本是不需要的,直接注释就好,否则会报错。
#auth add properties
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
#authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
super.users=xxx:xxx
如果是集群,注意Broker.id的配置项
先将低版本kafka停止,然后启动高版本kafka,再修改inter.broker.protocol.version=2.3.1为高版号,重新启动。至此,kafka漏洞升级完毕。
参考官网,会英文的可自行使用https://kafka.apache.org/documentation/#security_sasl
[转帖]kafka漏洞升级记录,基于SASL JAAS 配置和 SASL 协议,涉及版本3.4以下的更多相关文章
- aws 基于延迟策略配置dns故障切换
前提:由于国内访问首尔地区经常出现不稳定情况,现将请求从nginx(sz)转发到nginx(hk)再转发到首尔地区,在基于不改变nginx(seoul)的配置的前提下,引入aws的延迟策略,同时保证国 ...
- [转帖]Kafka 原理和实战
Kafka 原理和实战 https://segmentfault.com/a/1190000020120043 两个小时读完... 实在是看不完... 1.2k 次阅读 · 读完需要 101 分钟 ...
- 禁被ping 软件漏洞升级
禁被ping:echo “net.ipv4.icmp_echo_ignore_all=1” /etc/sysctl.conf 软件漏洞升级:yum install openssh bash -y
- WEBLOGIC 11G (10.3.6) windows PSU 升级10.3.6.0.171017(Java 反序列化漏洞升级)
10.3.6版本的weblogic需要补丁到10.3.6.0.171017(2017年10月份的补丁,Java 反序列化漏洞升级),oracle官方建议至少打上2017年10月份补丁. 一.查看版本 ...
- Struts2高位漏洞升级到struts2.3.32
Struts2高位漏洞升级到struts2.3.32 3月7日带来了一个高危漏洞Struts2漏洞——CVE编号CVE-2017-5638.其原因是由于Apache Struts2的Jakarta M ...
- XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录
XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录 详细介绍: https://blog.pythonwood.com/2018/04/XUbuntu18.04(Bionic河狸) ...
- python-爬虫技能升级记录
====== python-爬虫技能升级记录 ====== ===== (一)感知爬虫及爬取流程 =====<code>从简单存取一个页面到 爬取到大量的定量数据,对技术要求更高,以百度百 ...
- 基于 HTTP/2 的全新 APNs 协议
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotifi ...
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
- 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程
评论» 文章目录 为什么要Https 如何选择Https 安装部署SSL证书 平滑过渡Https 搜索引擎的响应 启用Https小结 正如大家所看到的,部落全站已经启用了Https访问了,连续几天 ...
随机推荐
- AnimatedList 实现动态列表
AnimatedList实现动画 AnimatedList 和 ListView 的功能大体相似,不同的是, AnimatedList 可以在列表中插入或删除节点 时执行一个动画,在需要添加或删除列 ...
- 跑AI大模型的K8s与普通K8s有什么不同?
本文分享自华为云社区<跑AI大模型的K8s与普通K8s有什么不同?>,作者:tsjsdbd. 得益于AI开始火的时候,云原生体系已经普及,所以当前绝大多数的AI底层都是基于Kubernet ...
- 30亿参数,华为云发布全球最大预训练模型,开启工业化AI开发新模式
摘要: 4月25日,华为云发布盘古系列超大规模预训练模型,包括30亿参数的全球最大视觉(CV)预训练模型,以及与循环智能.鹏城实验室联合开发的千亿参数.40TB训练数据的全球最大中文语言(NLP)预训 ...
- 华为中国生态大会2021举行在即,GaussDB将重磅发布5大解决方案
摘要:企业数字化转型如火如荼,云成为数字化与新基建的关键要素,数据成为智能时代新的生产资料和企业数字化的生命,而数据库则是支撑数据生命线的底座. 本文分享自华为云社区<华为中国生态大会2021举 ...
- 【“互联网+”大赛华为云赛道】EI命题攻略:华为云EI的能力超丰富,助你实现AI梦想
摘要:本次"互联网+"大赛华为云赛道EI命题,从实际业务场景出发,在人工智能和大数据领域推出四个命题. 本文分享自华为云社区<["互联网+"大赛华为云赛道 ...
- 浏览器层面优化前端性能(2):Reader引擎线程与模块分析优化点
Reader 引擎线程与模块分析 首先是网页内容,加载完输入到HTML解释器,解释后构成DOM树,这期间如果遇到JavaScript代码就交给JavaScript引擎去处理,如果网页中包含CSS,就交 ...
- GPT-4测评,大家先别急,图片输入还没来
昨天GPT-4朋友圈刷屏,我更新了一篇小文章,极简罗列GPT-4的一些情报: 1 ChatGPT Plus用户才可试用GPT-4 2 试用阶段每四小时最多100条信息 3 知识库还是2021年 4 上 ...
- AliAGC 自动增益控制算法:解决复杂场景下的音量问题
音视频会议,直播连麦以及短视频已经成为人们工作.教学以及娱乐的一部分,其背后都离不开音视频实时通信等关键技术的广泛应用.音频方面,可预见的是客户业务形式的多样性,环境的复杂性,以及接入设备的差异性会带 ...
- 关于_beginthreadex和CreateThread的区别
关于_beginthreadex和CreateThread的区别 在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是 C++ 运行库的 ...
- 【Boost】Windows 下个人在配置 Boost 踩到的坑以及解决方案
要编译的 Boost 版本:1.82.0 假设 Boost 的根目录为 ${boost_root}$ 如果不想编译可以使用博主编译后的Boost:https://pan.baidu.com/s/1s2 ...