kafka开启SSL认证(包括内置zookeeper开启SSL)

这篇具有很好参考价值的文章主要介绍了kafka开启SSL认证(包括内置zookeeper开启SSL)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

zookeeper和kafka的SSL开启都可单独进行

生成SSL证书

使用jre自带的keytool工具生成,linux和windows下生成的证书可以通用

  1. 生成含有一个私钥的keystore文件,有效期10年(本文证书密码统一使用test123)
    keytool -genkeypair -alias certificatekey -dname “CN=127.0.0.1, OU=127.0.0.1, O=127.0.0.1, L=SH, ST=SH, C=CN” -keyalg RSA -validity 3650 -keystore keystore.jks
  2. 查看生成的keystore文件
    keytool -list -v -keystore keystore.jks
  3. 导出证书
    keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer
  4. 导入证书到truststore文件中
    keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks
  5. 查看生成的truststore文件
    keytool -list -v -keystore truststore.jks

zookeeper开启SSL

受版本影响,需要3.5及以上版本才能正常开启,(可查看 libs/zookeeper-xxx.jar确认版本号)

  1. 将生成的证书文件统一放在kafka安装路径ssl文件夹(需要新建)
  2. 编辑config/zookeeper.properties配置文件,添加下列配置
#开启SSL
#ssl端口
secureClientPort=3183
#开启ssl使用的本机访问地址
secureClientPortAddress=127.0.0.1
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.keyStore.location=/home/app/kafka/ssl/keystore.jks
ssl.keyStore.password=test123
ssl.trustStore.location=/home/app/kafka/ssl/truststore.jks
ssl.trustStore.password=test123

若注释掉原本的 clientPort配置则可以屏蔽非SSL的访问地址

  1. Kafka配置zookeeper ssl连接
    编辑 config/server.properties, 开启SSL并配置上证书和证书库路径以及相应密码,配置如下:
zookeeper.connection.timeout.ms=18000
zookeeper.connect=127.0.0.1:3183
zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
zookeeper.ssl.client.enable=true
zookeeper.client.secure=true
zookeeper.ssl.hostnameVerification=false
zookeeper.ssl.keystore.location=/home/app/kafka/ssl/keystore.jks
zookeeper.ssl.keystore.password=test123
zookeeper.ssl.truststore.location=/home/app/kafka/ssl/truststore.jks
zookeeper.ssl.truststore.password=test123

kafka开启SSL

修改kafka安装路径下 config/server.properties文件,将kafka连接协议改为SSL,并配置上证书和证书库路径以及相应密码,如下:

#IP地址使用实际kafka服务器IP地址(需自己更换下面的ip)
listeners =SSL://192.168.6.6:9093
#server.keystore.jks的地址
ssl.keystore.location=/home/app/kafka/ssl/keystore.jks
ssl.keystore.password=test123
ssl.truststore.location=/home/app/kafka/ssl/truststore.jks
ssl.truststore.password=test123
ssl.client.auth=required
ssl.enabled.protocols=TLSv1.2
ssl.keystore.type=JKS
ssl.truststore.type=JKS
#关闭主机名
ssl.endpoint.identification.algorithm=
#设置内部访问也用SSL,默认值为security.inter.broker.protocol=PLAINTEXT
security.inter.broker.protocol=SSL

测试

启动zookeeper服务:

bin/zookeeper-server-start.sh config/zookeeper.properties

启动kafka服务:

bin/kafka-server-start.sh config/server.properties

创建客户端连接配置文件 client-ssl.properties

security.protocol=SSL
ssl.enabled.protocols=TLSv1.2
ssl.truststore.location=/home/app/kafka/ssl/truststore.jks
ssl.truststore.password=test123
ssl.keystore.location=/home/app/kafka/ssl/keystore.jks
ssl.keystore.password=test123
ssl.key.password=test123
ssl.endpoint.identification.algorithm=

创建带证书校验的生产者

bin/kafka-console-producer.sh --broker-list 192.168.6.6:9093 --topic test --producer.config client-ssl.properties

另起窗口创建带证书校验的消费者

bin/kafka-console-consumer.sh --broker-list 192.168.6.6:9093 --topic test --consumer.config client-ssl.properties

尝试在生产者窗口中输入任意字符回车,若消费者窗口能正常接收则表示kafka运行正常文章来源地址https://www.toymoban.com/news/detail-799120.html

到了这里,关于kafka开启SSL认证(包括内置zookeeper开启SSL)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • logstash 开启ssl报错:Caused by: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record

    背景 :在使用证书的方式让beat和logstash通信传输数据的过程中,生成了证书,logstash的证书配置如下: 错误现象 :在启动logstsah的时候出现报错: 问题原因 :排错的过程比较辛酸,就不赘述了。这里的报错原因是证书中指定的ip在logstash发布服务的时候没有指定该ip,因此抛

    2024年02月12日
    浏览(38)
  • MySQL安全性:用户认证、防范SQL注入和SSL/TLS配置详解

    MySQL作为广泛使用的关系型数据库管理系统,安全性至关重要。在本篇技术博客中,我们将深入探讨MySQL的用户认证方式、防范SQL注入攻击的方法以及SSL/TLS加密的配置。 MySQL支持多种用户认证方式,其中两种常见方式是caching_sha2_password和mysql_native_password。 1.1 caching_sha2_passwor

    2024年02月02日
    浏览(32)
  • Apache zookeeper kafka 开启SASL安全认证_kafka开启认证(1)

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月23日
    浏览(27)
  • Elastic stack8.10.4搭建、启用安全认证,启用https,TLS,SSL 安全配置详解

    ELK大家应该很了解了,废话不多说开始部署 kafka在其中作为消息队列解耦和让logstash高可用 kafka和zk 的安装可以参考这篇文章 深入理解Kafka3.6.0的核心概念,搭建与使用-CSDN博客 需要 elasticsearch-8.10.4 logstash-8.10.4 kibana-8.10.4 kafka_2.13-3.6.0 apache-zookeeper-3.9.1-bin.tar filebeat-8.10.4-linux-

    2024年02月04日
    浏览(31)
  • PostgreSQL安装和开启SSL加密连接【配置单/双向认证】

    SSL单向认证和双向认证: SSL单向认证 :只有一端校验对端的证书合法性,通常都是客户端来校验服务器的合法性。即在一般的单向认证中,只要求服务器端部署了ssl证书就行,客户端可以无证书,任何用户都可以去访问服务端,服务端只是提供了身份认证。 client: 无证书

    2024年02月06日
    浏览(36)
  • JAVA连接Kafka及SSL认证

    1、Maven驱动(注意一定要对应自己的Kafka版本) 2、生产者生产数据 2.1 普通方式创建Producer 2.2 ssl加密和认证创建Producer(Plain) 2.3 ssl加密和认证创建Producer(Plain使用配置文件方式) kafka_client_jaas_plain配置文件信息: 具体代码实现: 2.4 ssl加密和认证创建Producer(Scram) 2.5 ssl加密和认证创

    2024年02月12日
    浏览(34)
  • Apache zookeeper kafka 开启SASL安全认证

    背景:我之前安装的kafka没有开启安全鉴权,在没有任何凭证的情况下都可以访问kafka。搜了一圈资料,发现有关于sasl、acl相关的,准备试试。 Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发,支持多语言(如Java、Python、Go等)客户端,它可

    2024年03月14日
    浏览(34)
  • docker-compose部署elk(8.9.0)并开启ssl认证

    这里做了端口映射以及挂载数据卷。 1.使用docker-compose命令部署 部署前需要先将挂载的数据卷注释掉,用于拷贝配置文件到本地磁盘 创建所需目录,拷贝配置文件到本地,并设置读写权限为 777 修改jvm参数(作者电脑配置不够高,所以需要进行修改) 3.1 修改elasticsearch的jvm参

    2024年02月08日
    浏览(27)
  • springboot项目开启ssl双向认证且实现相互访问通信浏览器访问通信

    1、服务器端===生成自签名证书** 这段命令是使用Java的keytool工具生成一个RSA算法的密钥对,并将其保存在名为server.jks的密钥库文件中。以下是各个参数的解释: -genkeypair:生成密钥对的命令。 -keyalg RSA:指定使用RSA算法生成密钥对。 -keysize 2048:指定生成的密钥长度为2048位。

    2024年03月21日
    浏览(30)
  • storm统计服务开启zookeeper、kafka 、Storm(sasl认证)

    部署storm统计服务开启zookeeper、kafka 、Storm(sasl认证) 当前测试验证结果: 单独配置zookeeper 支持acl 设置用户和密码,在storm不修改代码情况下和kafka支持 当kafka 开启ACL时,storm 和ccod模块不清楚配置用户和密码。 使用python脚本连接kafka用户和密码是能成功发送消息。 当前部署

    2024年01月22日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包