本文主要介绍基于SCRAM进行身份验证,使用Kafka ACL进行授权,SSL进行加密以及使用camel-Kafka连接Kafka群集以使用camel路由生产和消费消息的过程。...支持的安全协议有: 纯文本:侦听器,无需任何加密或身份验证。 SSL协议:使用TLS加密的侦听器,以及使用TLS客户端证书的身份验证(可选)。...SASL认证 使用Java身份验证和授权服务(JAAS)配置SASL身份验证。JAAS还用于验证Kafka和ZooKeeper之间的连接。 JAAS使用其自己的配置文件。...GSSAPI 针对Kerberos服务器实施身份验证 通过JAAS配置文件配置SASL机制。Kafka使用名为Kafka服务器的JAAS上下文。...这可以使用sasl.enabled.mechanisms属性完成 SASL SCRAM Kafka中的SCRAM身份验证包含两种机制:SCRAM-SHA-256和SCRAM-SHA-512。
放弃不难,但坚持很酷~ 版本说明: zookeeper:3.4.6 一、概述 zooKeeper使用acl(Access Control List)来控制对其znode(zooKeeper数据树的数据节点...二、权限类型 当客户端连接到zooKeeper并对其自身进行身份验证,当客户端尝试访问znode节点时,将检查znode的acl。...),使用sasl:uid:cdwra字符串作为节点ACL的id(如:sasl:lyz:cdwra)。...节点权限是world,也就是默认权限,为所有client端开放,这样肯定是不安全的,我们先基于auth模式进行权限的控制。 2. auth 模式 为/test1节点增加auth权限认证方式。...当访问节点数据时,也需要提前设置认证用户的上下文。
系列文章目录 第一章 Kafka 配置部署及SASL_PLAINTEXT安全认证 第二章 Spring Boot 整合 Kafka消息队列 生产者 第三章 Spring Boot 整合 Kafka...requireClientAuthScheme=sasl jaasLoginRenew=3600000 2.2、Zookeeper 配置文件增加配置说明 # 身份验证提供程序 authProvider....1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider # 需要客户端身份验证方案 requireClientAuthScheme...=sasl # jaas登录续订 jaasLoginRenew=3600000 2.3、Zookeeper 配置JAAS文件 # 配置JAAS文件 cat > config/zookeeper_jaas.conf...=SASL_PLAINTEXT sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN # 完成身份验证的类
而且在大多数情况下,压缩也不会产生影响,应该使用 LZ4 编解码器来提供最佳性能。 RAM:在大多数情况下,Kafka 可以以 6 GB 的内存运行堆空间。...最后一点,就像 Kafka 的硬件需求一样,为 ZooKeeper 提供最强大的网络带宽。使用最好的磁盘、分别存储日志、隔离 ZooKeeper 进程、禁用交换,这些也会减少延迟。...这个场景中每个分区有两个副本,以此提供高可用性,即使一个完整的机架发生故障 (如图所示) 也可以保持正常运行。 4 注意主题配置 主题配置对 Kafka 集群的性能有巨大的影响。...Kafka 的安全选项和协议: SSL/SASL:客户端到代理、中介代理、代理到工具的身份验证。...、生产者、消费者) 进行身份验证,使用 ACL 进行授权。
zk升级到3.4.6+的版本,可我的版本是zookeeper-3.4.13,肯定是符合的,无效。 第二个说是让zookeeper绕过sasl安全机制,禁用sasl认证,直接向系统获取资源。...第四个说是给zookeeper做安全配置,但是我的初衷是对Kafka客户端使用SASL身份验证,但不要求kafka对Zookeeper进行SASL身份验证,我不关心kafka zookeeper...下面的解决方案也如出一辙。 除此之外,还发现了一篇帖子的解决方案也大体相同 只不过我都尝试过,发现都不起效果。...到这里我基本放弃了绕开sasl认证的办法了,网上也找不到更多有用的消息,还不如老老实实的配置安全认证,这里我参考了二篇博文,第一篇是集群模式的:https://blog.csdn.net/sdksdk0...又熬到快十二点半了,熬不动了,睡觉睡觉,希望有大神可以帮忙解决这个绕开sasl认证的问题,至于权限认证的问题,等也时间再慢慢实现。这里我提供kafka和zookeeper的启动命令给大神作参考。
集群地址 zookeeper.connect=bigdata111:2181,bigdata112:2181,bigdata113:2181 #kafka连接zookeeper超时时间90s zookeeper.connection.timeout.ms...x.x.1.111:9092 #使用的认证协议 security.inter.broker.protocol=SASL_PLAINTEXT #SASL机制 sasl.enabled.mechanisms...=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN #完成身份验证的类 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer...后,启动Zookeeper集群和Kafka集群之后,就可以使用kafka-acls.sh脚本来操作ACL机制) 1)查看:在kafka-acls.sh脚本中传入list参数来查看ACL授权 bin/kafka-acls.sh...--list --authorizer-properties zookeeper.connect=x.x.1.111:2181,x.x.1.112:2181,x.x.1.113:2181 2)创建:
这次升级包括了很多重要的改动,其中最引人瞩目的就是kafka通过自我管理的仲裁来替代ZooKeeper,通俗的说,Kafka将不再需要ZooKeeper,正式分手!...这个无法改变的现实使得实际使用中,运维人员需要跨两个日志实现、两个网络层和两个安全实现(每个实现都有不同的工具和监视钩子)对通信和性能进行调优、配置、监视、保护和评估,这就使得系统变得相当复杂!...除了和ZooKeeper分开,本次更新还新增了三个功能: [KAFKA-10500]-添加API以启动和停止流线程 [KAFKA-10700]-支持使用SASL_SSL侦听器实现相互TLS身份验证 [KAFKA...控制器不支持块API(目前) [KAFKA-12394]-考虑主题id存在和授权错误 [KAFKA-4748]-需要一种方法同时关闭Streams应用程序中的所有工作进程 [KAFKA-10722]-即使不需要...,也使用时间戳存储 [KAFKA-10723]-LogManager在关闭期间泄漏内部线程池活动 如果对具体的更新内容感兴趣,可以直接登陆官网进行查看: https://downloads.apache.org
然而在某些情况下,即使在中等负载下,客户端也可能希望减少请求的数量。...目前支持以下安全措施: 使用SSL或SASL(Kerberos)对来自客户端(生产者和消费者),其他代理和工具的代理的连接进行身份验证。SASL / PLAIN也可以从版本0.10.0.0起使用。...Kafka客户端的SASL配置 只有新的Java Kafka生产者和使用者才支持SASL身份验证,不支持旧的API。在客户端上配置SASL身份验证: 选择SASL机制进行身份验证。.../bin/zookeeper-security-migration.sh与zookeeper.acl设置为固定。此工具遍历更改znode的ACL的对应子树 也可以在安全集群中关闭身份验证。.../bin/zookeeper-security-migration.sh与zookeeper.acl设置为不安全。
Kerberos 的出现很好的解决了这个问题,它减少了每个用户使用整个网络时必须记住的密码数量 —— 只需记住 Kerberos 密码,同时 Kerberos 结合了加密和消息完整性来确保敏感的身份验证数据不会在网络上透明地发送...zookeeper.sasl.service-name: 默认为 "zookeeper"。如果 ZooKeeper quorum 配置了一个不同的服务名称,那么可以在这里提供。...zookeeper.sasl.login-context-name: 默认为 "Client"。...,我们开发插件也都会去实现该方法。...ChunJun 内部也提供了相关的工具类用于获取登录后的 ugi:com.dtstack.ChunJun.util.FileSystemUtil#getUGI ● 开发 Zookeeper、Kafka
:///flink/ha/ # zookeeper 集群中仲裁者的机器 ip 和 port 端口号 # high-availability.zookeeper.quorum: localhost:2181...security.kerberos.login.principal: flink-user # 以逗号分隔的登录上下文列表,用于提供 Kerberos 凭据(例如,`Client,KafkaClient`使用凭证进行...ZooKeeper 身份验证和 Kafka 身份验证) # security.kerberos.login.contexts: Client,KafkaClient Zookeeper 安全配置 #...覆盖以下配置以提供自定义 ZK 服务名称 # zookeeper.sasl.service-name: zookeeper # 该配置必须匹配 "security.kerberos.login.contexts..." 中的列表(含有一个) # zookeeper.sasl.login-context-name: Client HistoryServer # 你可以通过 bin/historyserver.sh (
ZOO_CLIENT_USER:将使用 Apache ZooKeeper 客户端进行身份验证的用户。默认值:无默认值。...ZOO_CLIENT_PASSWORD:将使用 Apache ZooKeeper 客户端进行身份验证的密码。默认值:无默认值。...默认值:无默认值ZOO_ENABLE_AUTH:启用 Apache ZooKeeper 身份验证。它使用 SASL/Digest-MD5。...docker restart zookeeper或使用 Docker Compose:docker-compose restart zookeeper安全通过传递环境变量可以轻松启用基于 SASL/Digest-MD5...启用 Apache ZooKeeper 身份验证时,还需要传递能够登录的用户和密码列表。注意:使用 CLI 工具启用身份验证zkCli.sh。
2018年2月27日,多国CERT和多家网络和云运营商报告称,恶意攻击者正在使用不安全配置的Memcached服务器来借力放大DDoS攻击。...0.0.0.0上,而是本地(localhost或127.0.0.1)或指定IP,并禁止UDP协议(参数-U设为0),示例: memcached -p 11211 -l 127.0.0.1 -U 0 当然也可以更改监听端口...,具体配置参考: https://github.com/memcached/memcached/wiki/ConfiguringServer#udp 也可以启用SASL,1.4.3以上版本通过--enable-sasl...编译支持SASL,实现在连接上发出命令之前,要求先身份验证。...UDP 11211端口,Linux下可使用netfilter/iptables,Windows下可使用IP安全策略禁止,或是通过外围安全设备阻止对该端口访问。
考虑到数据节点是并行加密的,使用这些解决方案的Cloudera集群照常运行,并且对性能的影响非常低。随着集群的增长,加密也随之增长。 此外,此透明加密针对英特尔芯片组进行了优化,以实现高性能。...它确保集群管理员,数据分析人员和其他人员不会看到不在其工作域内的PII或其他敏感数据,并且同时也不会阻止具有适当权限的用户访问他们拥有特权的数据。...因此,由于密钥的临时性,传输中的数据避免了许多与静态数据相关的密钥管理问题,但它确实依赖于正确的身份验证;证书泄露是身份验证的问题,但可能会破坏有线加密。...此过程还使用安全的HadoopRPC(请参阅远程过程调用)进行密钥交换。但是,HttpFS REST接口不提供客户端与HDFS之间的安全通信,仅提供使用SPNEGO进行的安全身份验证。...CDH组件的TLS / SSL加密 Cloudera建议在集群上启用SSL之类的加密之前,先使用Kerberos身份验证保护集群。如果为尚未配置Kerberos身份验证的集群启用SSL,将显示警告。
为了使得单个ZooKeeper机器宕机时通过其他ZooKeeper节点进行连接,你也可以以hostname1:port1,hostname2:port2,hostname3:port3的形式指定多个,提高可用性...也可以将ZooKeeper chroot路径作为其ZooKeeper连接字符串的一部分,将其数据放在全局ZooKeeper命名空间的某个路径下。...但察觉故障的时间也拉长了。...允许使用最新的JVM,LS, TLSv1.1 和TLSv1.2。 SSL,SSLv2和SSLv3 老的JVM也可能支持,由于有已知的安全漏洞,不建议使用。...对于broker来说,login config必须以监听器前缀和SASL机制名称为前缀,并使用小写。
READ:可以获取该节点的数据,也可以读取该节点所有的子节点数据(r)。 WRITE:可以写数据到该节点(w)。 DELETE:可以删除子节点(d)。 ADMIN:可以在该节点中设置权限(a)。...版本后sasl是通过Kerberos实现(即只有通过Kerberos认证的用户才可以访问权限的znode),使用sasl:uid:cdwra字符串作为节点ACL的ID(如:sasl:fayson:cdwra...在不使用Kerberos账号Kinit的前提下,直接使用Zookeeper-client访问Zookeeper [root@ip-172-31-30-69 ~]# klist klist: No credentials...2.不使用Kerberos账号Kinit的前提下,使用zookeeper-client登录Zookeeper服务 [root@ip-172-31-30-69 ~]# klist klist: No credentials...可以看到设置ACL为fayson用户后无法正常访问与删除/zktest-sasl,接下来使用jaas.conf文件进行认证登录Zookeeper zk-cli-jaas.conf文件的内容如下,由于我们创建的
在本文中,我们将说明如何配置客户端以使用不同的身份验证机制对集群进行身份验证。...可以将受保护的Apache Kafka集群配置为使用以下不同方法来强制执行身份验证: SSL – TLS客户端身份验证 SASL / GSSAPI – Kerberos身份验证 SASL / PLAIN...– LDAP和基于文件的身份验证 SASL / SCRAM-SHA-256和SASL / SCRAM-SHA-512 SASL /OAUTHBEARER 在本文中,我们将开始研究Kerberos身份验证...所有概念和配置也适用于其他应用程序。 Kerberos身份验证 迄今为止,Kerberos是我们在该领域中用于保护Kafka集群安全的最常用选项。...Kafka通过简单身份验证和安全层(SASL)框架实现Kerberos身份验证。SASL是身份验证框架,是RFC 4422定义的标准IETF协议。
所有概念和配置也适用于其他应用程序。 PAM验证 将Kafka集群配置为执行PAM(可插入身份验证模块)身份验证时,Kafka会将客户端的身份验证委派给为其运行的操作系统配置的PAM模块。...SASL/PLAIN进行身份验证,并使用TLS(SSL)进行数据加密。...必须将所有Kafka代理配置为对其SASL端点使用SASL_SSL安全协议。 其他要求 根据系统中配置的PAM模块,可能需要正确配置一些其他要求才能使PAM身份验证起作用。...Manager中,在Kafka服务配置中设置以下属性以匹配您的环境:通过选择PAM作为上面的SASL/PLAIN身份验证选项,Cloudera Manager将Kafka配置为使用以下SASL/PLAIN...以下是使用Kafka控制台使用者通过PAM身份验证从主题读取的示例。请注意,此示例的配置与上一节中的LDAP示例相同。
事实上,即使我们已经使用加盐与哈希的方式来存储密码,尽可能提升了密码存储的安全性。但是为了完成认证,客户端不得不在网络中明文传输密码,这就使密码有了被泄漏的风险。...即使我们使用 TLS 加密了通信,也仍有可能因为使用了较低的 SSL 版本、不够安全的密码套件、不合法的 CA 证书等等原因导致被攻击者窃取到密码这类敏感数据。...常见的可用于增强认证的 SASL 机制DIGEST-MD5DIGEST-MD5 是在简单认证安全层(SASL)框架下的一种身份验证机制。...SCRAMSCRAM 同样是 SASL 框架下的一种身份验证机制,它的核心思想与 DIGEST-MD5 类似,同样是使用一次性的随机数要求客户端生成响应,所以客户端同样无需在网络上传输明文密码。...作为广泛使用的 MQTT Broker,EMQX 在以其高可扩展性和可用性著称的同时,也始终将确保用户安全放在首位。除了基于密码的认证,EMQX 也支持增强认证。
所有概念和配置也适用于其他应用程序。 LDAP验证 LDAP代表轻量级目录访问协议,并且是用于身份验证的行业标准应用程序协议。它是CDP上Kafka支持的身份验证机制之一。...LDAP认证也通过SASL框架完成,类似于Kerberos。SASL支持各种身份验证机制,例如我们在上一篇文章中介绍过的GSSAPI,以及将用于LDAP身份验证的PLAIN。...SASL / PLAIN进行身份验证,并使用TLS(SSL)进行数据加密。...必须将所有Kafka代理配置为对其SASL端点使用SASL_SSL安全协议。...在这种情况下,仍然可以使用其他方法(例如相互TLS身份验证或带有密码文件后端的SASL / PLAIN)为Kafka集群设置身份验证。
领取专属 10元无门槛券
手把手带您无忧上云