Настройка безопасности Kafka SSL вызывает проблему
Я начну рассказывать о том, чего я пытаюсь достичь. Итак, мои настройки:
6 ВМ работает под управлением Ubuntu 14.04 Version. - В 3 из них я настроил Kafka, а в 3 я создал экземпляр zookeeper.
Я начинаю производить и потреблять, и все, кажется, работает нормально, никаких проблем.
Теперь я хочу защитить установку, используя SSL, который был выпущен в версии kafka 0.9. Я только хочу настроить SSL между клиентом и брокером kafka, чтобы они могли безопасно общаться. Я перешел по следующей ссылке.
Единственное изменение, которое я сделал: я заменил localhost на IP-адрес брокера kafka, так как у меня 6 виртуальных машин, работающих в одной сети.
Я застреваю после генерации сертификатов, когда запускаю следующую команду:
openssl s_client -debug -connect localhost:9093 -tls1
Я получаю сообщение подключиться:
Соединение отказано в соединении:errno=111
Я не знаю, как поступить с этим. Я попытался поискать документы, но ничего не смог.
Также несколько советов о том, что будет идеальной установкой для безопасности, мое требование: мне нужна только безопасная связь между клиентом и брокерами kafka, мне не нужно беспокоиться о связи kafka-to-kafka и kafka-to-zookeeper.
Пожалуйста, помогите, Вишеш.
2 ответа
После нескольких попыток и помощи некоторых коллег я смог правильно настроить всю настройку через порт 9093.
Что пошло не так с подписанием сертификата. Поскольку у меня было 3 брокера Kafka, я создал 3 разных CA для подписи сертификата, что было неправильно.
Для этого необходимо, чтобы у всех брокеров и клиентов был подписан сертификат одним и тем же центром сертификации. В случае, если у вас другой сертификат или вы планируете использовать разные сертификаты для брокеров, вам необходим корневой центр сертификации. который подписывает все остальные CA.
Вы можете прочитать больше об этом в Иерархии доверия здесь: - https://msdn.microsoft.com/en-us/library/windows/desktop/aa382479(v=vs.85).aspx
Так что, если вы выполнили настройку в одном пользователе-посреднике один и тот же файл ca-cert во всех других посредниках и клиенте, чтобы подписать сертификат, и он будет работать.!!
Проверьте, открыты ли корпоративные порты, которые используются для SSL. Когда мы настроили это после долгих исследований, это была простая вещь.