上两节我们讨论了如何对MSK进行登录验证和授权,当时的客户端连接MSK时都是使用Bootstrap servers(Broker)
的地址来连接。
但如果用户拿到了Zookeeper的连接方式,我们所做的一切安全措施将不复存在,用户可以使用zookeeper连接上去:
所以对Zookeeper的访问进行控制是非常有必要的。对Zookeeper的加固一般有两种思路:
获取Zookeeper的连接地址:
每个地址都ping一下,得到三个zookeeper节点的私有IP地址:
进入EC2的Network Interfaces
页面:
在里面搜索这三个IP,找到对应的ENI:
分别编辑每个ENI的安全组,替换成新的安全组。
在新的安全组中,我们可以定义规则,例如仅允许管理员的IP来访问,这样其他用户的IP不再可以登录到Zookeeper。
在MSK中,我们看到ZooKeeper除了Plaintext外,还有TLS的连接地址,可以用它来对客户端到ZooKeeper节点之间的流量进行加密:
具体的配置参考 https://docs.aws.amazon.com/msk/latest/developerguide/zookeeper-security.html ,这一节不再做详细介绍